import axios from 'axios'; import MockAdapter from 'axios-mock-adapter'; import BridgeFunction from '../../model/bridge/bridgeFunction'; import RemoveSavedFile from '../../model/bridge/removeSavedFile'; import { MiniAppCBType } from '../../model/miniAppApi'; import { MiniAppError, MiniAppErrorType } from '../../model/miniAppError'; import { BridgeCallbackHandlerMock } from './bridgeCallbackHandlerMock.test'; var mock = new MockAdapter(axios); let call: BridgeFunction; let cbHandler: BridgeCallbackHandlerMock; beforeAll(() => { call = new RemoveSavedFile(); cbHandler = new BridgeCallbackHandlerMock(); call.cbHandler = cbHandler; }); afterEach(() => { cbHandler.messages.length = 0; }); test('RemoveSavedFile - success', async () => { mock.onGet('/removesavedfile').reply(200, {}); await call.execute({ filePath: 'path' }); expect(cbHandler.messages.length).toBe(2); expect(cbHandler.messages[0]).toStrictEqual({ type: MiniAppCBType.success, payload: {}, }); expect(cbHandler.messages[1]).toStrictEqual({ type: MiniAppCBType.complete }); }); test('RemoveSavedFile - fail with insufficient param', async () => { mock.onGet('/removesavedfile').reply(200, null); await call.execute({}); expect(cbHandler.messages.length).toBe(2); expect(cbHandler.messages[0]).toStrictEqual({ type: MiniAppCBType.fail, payload: new MiniAppError(MiniAppErrorType.badRequestInsufficientParameter), }); expect(cbHandler.messages[1]).toStrictEqual({ type: MiniAppCBType.complete }); });