import Users from '../../src/api/models/Users'; describe('UsersAPI', () => { const userId = 1; const roleId = 7; const createPromise = () => Promise.resolve(); const mockHttp = ({ post: jest.fn(createPromise) }); const UsersAPI = new Users(mockHttp); afterEach(() => { jest.clearAllMocks(); }); test('associate role calls post with expected params', async (done) => { await UsersAPI.associateRole(userId, roleId); expect(mockHttp.post).toHaveBeenCalledTimes(1); expect(mockHttp.post.mock.calls[0]).toContainEqual(`/api/v2/users/${userId}/roles/`, { id: roleId }); done(); }); test('read users calls post with expected params', async (done) => { await UsersAPI.disassociateRole(userId, roleId); expect(mockHttp.post).toHaveBeenCalledTimes(1); expect(mockHttp.post.mock.calls[0]).toContainEqual(`/api/v2/users/${userId}/roles/`, { id: roleId, disassociate: true }); done(); }); });