Files
xuanzhi-wx/tests/user-api.test.js
2026-04-22 18:54:52 +08:00

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'
}
})
})
})