import axios from 'axios'; import MockAdapter from 'axios-mock-adapter'; import BridgeFunction from '../../model/bridge/bridgeFunction'; import GetIpAddress from '../../model/bridge/getIpAddress'; 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 GetIpAddress(); cbHandler = new BridgeCallbackHandlerMock(); call.cbHandler = cbHandler; }); afterEach(() => { cbHandler.messages.length = 0; }); test('GetIpAddress - success', async () => { mock.onGet('/network').reply(200, {}); await call.execute({}); expect(cbHandler.messages.length).toBe(2); expect(cbHandler.messages[0]).toStrictEqual({ type: MiniAppCBType.success, payload: {}, }); expect(cbHandler.messages[1]).toStrictEqual({ type: MiniAppCBType.complete }); }); test('GetIpAddress - fail with noValueFound error', async () => { mock.onGet('/network').reply(200, null); await call.execute({}); expect(cbHandler.messages.length).toBe(2); expect(cbHandler.messages[0]).toStrictEqual({ type: MiniAppCBType.fail, payload: new MiniAppError(MiniAppErrorType.noValueFound), }); expect(cbHandler.messages[1]).toStrictEqual({ type: MiniAppCBType.complete }); });