UNPKG

e2ed

Version:

E2E testing framework over Playwright

44 lines (43 loc) 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.enableFullMocks = void 0; // eslint-disable-next-line import/no-internal-modules const mock_1 = require("../../actions/mock"); const fullMocks_1 = require("../../context/fullMocks"); const onResponseCallbacks_1 = require("../../context/onResponseCallbacks"); const log_1 = require("../log"); const object_1 = require("../object"); const FullMocksRoute_1 = require("./FullMocksRoute"); const getResponseFromFullMocks_1 = require("./getResponseFromFullMocks"); const getTestIdByTestFilePath_1 = require("./getTestIdByTestFilePath"); const writeResponseToFullMocks_1 = require("./writeResponseToFullMocks"); /** * Enables full mocks for concrete test. * @internal */ const enableFullMocks = async (fullMocksConfig, shouldApplyMocks, testFilePath) => { const fullMocksState = { appliedMocks: undefined, testFullMocks: Object.create(null), testId: await (0, getTestIdByTestFilePath_1.getTestIdByTestFilePath)(testFilePath), }; (0, fullMocks_1.setFullMocksState)(fullMocksState); let testFullMocks; if (shouldApplyMocks && !fullMocksConfig.writeOnly) { testFullMocks = await fullMocksConfig.readTestFullMocks(fullMocksState.testId); } if (testFullMocks !== undefined) { (0, object_1.setReadonlyProperty)(fullMocksState, 'appliedMocks', Object.create(null)); (0, object_1.setReadonlyProperty)(fullMocksState, 'testFullMocks', testFullMocks); (0, log_1.log)('Full mocks have been read and enabled', { requestKinds: Object.fromEntries(Object.entries(testFullMocks).map(([key, value]) => [key, value.length])), testId: fullMocksState.testId, }, 8 /* LogEventType.InternalUtil */); await (0, mock_1.mockApiRoute)(FullMocksRoute_1.FullMocksRoute, getResponseFromFullMocks_1.getResponseFromFullMocks, { skipLogs: true }); } else { const onResponseCallbacks = (0, onResponseCallbacks_1.getOnResponseCallbacks)(); onResponseCallbacks.push(writeResponseToFullMocks_1.writeResponseToFullMocks); } }; exports.enableFullMocks = enableFullMocks;