import inboxesAPI from '../inboxes'; import ApiClient from '../ApiClient'; describe('#InboxesAPI', () => { it('creates correct instance', () => { expect(inboxesAPI).toBeInstanceOf(ApiClient); expect(inboxesAPI).toHaveProperty('get'); expect(inboxesAPI).toHaveProperty('show'); expect(inboxesAPI).toHaveProperty('create'); expect(inboxesAPI).toHaveProperty('update'); expect(inboxesAPI).toHaveProperty('delete'); expect(inboxesAPI).toHaveProperty('getCampaigns'); expect(inboxesAPI).toHaveProperty('getAgentBot'); expect(inboxesAPI).toHaveProperty('setAgentBot'); }); describe('API calls', () => { const originalAxios = window.axios; const axiosMock = { post: vi.fn(() => Promise.resolve()), get: vi.fn(() => Promise.resolve()), patch: vi.fn(() => Promise.resolve()), delete: vi.fn(() => Promise.resolve()), }; beforeEach(() => { window.axios = axiosMock; }); afterEach(() => { window.axios = originalAxios; }); it('#getCampaigns', () => { inboxesAPI.getCampaigns(2); expect(axiosMock.get).toHaveBeenCalledWith('/api/v1/inboxes/2/campaigns'); }); it('#deleteInboxAvatar', () => { inboxesAPI.deleteInboxAvatar(2); expect(axiosMock.delete).toHaveBeenCalledWith('/api/v1/inboxes/2/avatar'); }); }); });