import accountAPI from '../account'; import ApiClient from '../../ApiClient'; describe('#enterpriseAccountAPI', () => { it('creates correct instance', () => { expect(accountAPI).toBeInstanceOf(ApiClient); expect(accountAPI).toHaveProperty('get'); expect(accountAPI).toHaveProperty('show'); expect(accountAPI).toHaveProperty('create'); expect(accountAPI).toHaveProperty('update'); expect(accountAPI).toHaveProperty('delete'); expect(accountAPI).toHaveProperty('checkout'); }); 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('#checkout', () => { accountAPI.checkout(); expect(axiosMock.post).toHaveBeenCalledWith( '/enterprise/api/v1/checkout' ); }); it('#subscription', () => { accountAPI.subscription(); expect(axiosMock.post).toHaveBeenCalledWith( '/enterprise/api/v1/subscription' ); }); }); });