Files
gochat/frontend/app/javascript/dashboard/api/specs/customRole.spec.js
T

37 lines
872 B
JavaScript

import customRole from '../customRole';
describe('#CustomRoleAPI', () => {
const originalAxios = window.axios;
const axiosMock = {
post: vi.fn(() => Promise.resolve()),
patch: vi.fn(() => Promise.resolve()),
};
beforeEach(() => {
window.axios = axiosMock;
});
afterEach(() => {
window.axios = originalAxios;
vi.clearAllMocks();
});
it('wraps create and update payloads for the backend contract', () => {
const payload = {
name: 'Support',
description: 'Support role',
permissions: ['contact_manage'],
};
customRole.create(payload);
customRole.update(7, payload);
expect(axiosMock.post).toHaveBeenCalledWith('/api/v1/custom_roles', {
custom_role: payload,
});
expect(axiosMock.patch).toHaveBeenCalledWith('/api/v1/custom_roles/7', {
custom_role: payload,
});
});
});