mirror of
https://github.com/ansible/awx.git
synced 2026-01-17 04:31:21 -03:30
Refactor api.js into an api module where endpoint specific models can be imported and used in components.
36 lines
963 B
JavaScript
36 lines
963 B
JavaScript
import Teams from '../../src/api/models/Teams';
|
|
|
|
describe('TeamsAPI', () => {
|
|
const teamId = 1;
|
|
const roleId = 7;
|
|
const createPromise = () => Promise.resolve();
|
|
const mockHttp = ({ post: jest.fn(createPromise) });
|
|
|
|
const TeamsAPI = new Teams(mockHttp);
|
|
|
|
afterEach(() => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
test('associate role calls post with expected params', async (done) => {
|
|
await TeamsAPI.associateRole(teamId, roleId);
|
|
|
|
expect(mockHttp.post).toHaveBeenCalledTimes(1);
|
|
expect(mockHttp.post.mock.calls[0]).toContainEqual(`/api/v2/teams/${teamId}/roles/`, { id: roleId });
|
|
|
|
done();
|
|
});
|
|
|
|
test('read teams calls post with expected params', async (done) => {
|
|
await TeamsAPI.disassociateRole(teamId, roleId);
|
|
|
|
expect(mockHttp.post).toHaveBeenCalledTimes(1);
|
|
expect(mockHttp.post.mock.calls[0]).toContainEqual(`/api/v2/teams/${teamId}/roles/`, {
|
|
id: roleId,
|
|
disassociate: true
|
|
});
|
|
|
|
done();
|
|
});
|
|
});
|