Chatwoot/app/javascript/dashboard/api/specs/teams.spec.js

50 lines
1.5 KiB
JavaScript
Raw Normal View History

import teamsAPI from '../teams';
import ApiClient from '../ApiClient';
import describeWithAPIMock from './apiSpecHelper';
describe('#TeamsAPI', () => {
it('creates correct instance', () => {
expect(teamsAPI).toBeInstanceOf(ApiClient);
expect(teamsAPI).toHaveProperty('get');
expect(teamsAPI).toHaveProperty('show');
expect(teamsAPI).toHaveProperty('create');
expect(teamsAPI).toHaveProperty('update');
expect(teamsAPI).toHaveProperty('delete');
expect(teamsAPI).toHaveProperty('getAgents');
expect(teamsAPI).toHaveProperty('addAgents');
expect(teamsAPI).toHaveProperty('updateAgents');
});
describeWithAPIMock('API calls', context => {
it('#getAgents', () => {
teamsAPI.getAgents({ teamId: 1 });
expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v1/teams/1/team_members'
);
});
it('#addAgents', () => {
teamsAPI.addAgents({ teamId: 1, agentsList: { user_ids: [1, 10, 21] } });
expect(context.axiosMock.post).toHaveBeenCalledWith(
'/api/v1/teams/1/team_members',
{
user_ids: { user_ids: [1, 10, 21] },
}
);
});
it('#updateAgents', () => {
const agentsList = { user_ids: [1, 10, 21] };
teamsAPI.updateAgents({
teamId: 1,
agentsList,
});
expect(context.axiosMock.patch).toHaveBeenCalledWith(
'/api/v1/teams/1/team_members',
{
user_ids: agentsList,
}
);
});
});
});