55 lines
1.2 KiB
JavaScript
55 lines
1.2 KiB
JavaScript
const { createUserApi } = require('../services/api/user')
|
|
|
|
describe('createUserApi', () => {
|
|
test('calls the profile endpoint through the shared request layer', async () => {
|
|
const request = jest.fn().mockResolvedValue({
|
|
code: 0,
|
|
data: { id: 1, name: 'Xuanzhi' },
|
|
message: 'ok'
|
|
})
|
|
|
|
const userApi = createUserApi({ request })
|
|
|
|
await expect(userApi.getProfile()).resolves.toEqual({
|
|
code: 0,
|
|
data: { id: 1, name: 'Xuanzhi' },
|
|
message: 'ok'
|
|
})
|
|
|
|
expect(request).toHaveBeenCalledWith({
|
|
url: '/users/me',
|
|
method: 'GET'
|
|
})
|
|
})
|
|
|
|
test('submits profile updates through the shared request layer', async () => {
|
|
const request = jest.fn().mockResolvedValue({
|
|
code: 0,
|
|
data: { saved: true },
|
|
message: 'ok'
|
|
})
|
|
|
|
const userApi = createUserApi({ request })
|
|
|
|
await expect(
|
|
userApi.updateProfile({
|
|
nickname: 'Architect',
|
|
mobile: '13800000000'
|
|
})
|
|
).resolves.toEqual({
|
|
code: 0,
|
|
data: { saved: true },
|
|
message: 'ok'
|
|
})
|
|
|
|
expect(request).toHaveBeenCalledWith({
|
|
url: '/users/me',
|
|
method: 'PUT',
|
|
data: {
|
|
nickname: 'Architect',
|
|
mobile: '13800000000'
|
|
}
|
|
})
|
|
})
|
|
})
|