H-289: add Captain Skill management UI (#47)
* H-289: add Captain Skill management UI * H-289: guard Captain Skill assistant switches --------- Co-authored-by: Rogee <rogee@ipao.vip>
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import CaptainSkillsAPI from '../skills';
|
||||
import ApiClient from '../../ApiClient';
|
||||
|
||||
describe('#CaptainSkillsAPI', () => {
|
||||
beforeEach(() => {
|
||||
window.history.pushState({}, '', '/app/accounts/7/captain/2/skills');
|
||||
global.axios = {
|
||||
get: vi.fn(),
|
||||
post: vi.fn(),
|
||||
put: vi.fn(),
|
||||
delete: vi.fn(),
|
||||
};
|
||||
});
|
||||
|
||||
it('uses the account skill management endpoints', () => {
|
||||
CaptainSkillsAPI.get({ assistantId: 2 });
|
||||
CaptainSkillsAPI.show(3);
|
||||
CaptainSkillsAPI.create({ name: 'Refunds' });
|
||||
CaptainSkillsAPI.update(3, { expected_version: 1 });
|
||||
CaptainSkillsAPI.delete(3);
|
||||
|
||||
expect(axios.get).toHaveBeenNthCalledWith(
|
||||
1,
|
||||
'/api/v1/accounts/7/captain/skills',
|
||||
{ params: { assistant_id: 2 } }
|
||||
);
|
||||
expect(axios.get).toHaveBeenNthCalledWith(
|
||||
2,
|
||||
'/api/v1/accounts/7/captain/skills/3'
|
||||
);
|
||||
expect(axios.post).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/7/captain/skills',
|
||||
{ skill: { name: 'Refunds' } }
|
||||
);
|
||||
expect(axios.put).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/7/captain/skills/3',
|
||||
{ skill: { expected_version: 1 } }
|
||||
);
|
||||
expect(axios.delete).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/7/captain/skills/3'
|
||||
);
|
||||
});
|
||||
|
||||
it('binds and unbinds a skill for one assistant', () => {
|
||||
CaptainSkillsAPI.bind({ assistantId: 2, skillId: 3 });
|
||||
CaptainSkillsAPI.unbind({ assistantId: 2, skillId: 3 });
|
||||
|
||||
const url = '/api/v1/accounts/7/captain/assistants/2/skills/3';
|
||||
expect(axios.post).toHaveBeenCalledWith(url);
|
||||
expect(axios.delete).toHaveBeenCalledWith(url);
|
||||
});
|
||||
|
||||
it('is an account-scoped API client', () => {
|
||||
expect(CaptainSkillsAPI).toBeInstanceOf(ApiClient);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user