import { get } from '../request'; jest.mock('@dodoex/mixpanel', () => ({ logRequestDuration: jest.fn(), })); // jest.mock('axios'); // jest.mock('axios', () => { // const originalModule = jest.requireActual('axios'); // return { // __esModule: true, // ...originalModule, // default: { // ...originalModule.default, // create: (args: any) => { // const instance = originalModule.create(args); // return { // ...instance, // get: () => { // return new Promise((resolve) => { // setTimeout( // () => // resolve({ // data: 1, // }), // 2500, // ); // }); // }, // }; // }, // }, // }; // }); describe('cancel', () => { it('timeout cancel', async () => { try { await get({ // url: 'https://api-doc.hq.dodoex.io/mock/11/api/v1/price/current', url: 'https://app.dodoex.io/', config: { timeout: 1, }, }); } catch (error) { expect(error).toEqual({ message: 'canceled', name: 'CanceledError', code: 'ERR_CANCELED', }); } }); it('call cancel', (done) => { let abortAxios: undefined | (() => void); get({ url: 'https://app.dodoex.io/', config: { setAbort: (abort) => { abortAxios = abort; }, }, }).catch((error) => { expect(error).toEqual({ message: 'canceled', name: 'CanceledError', code: 'ERR_CANCELED', }); done(); }); if (abortAxios) { abortAxios(); } }); });