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