e2ed
Version:
E2E testing framework over Playwright
44 lines (43 loc) • 2.17 kB
JavaScript
;
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;