UNPKG

e2ed

Version:

E2E testing framework over Playwright

40 lines (39 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getResponseFromFullMocks = void 0; const asserts_1 = require("../asserts"); const config_1 = require("../config"); const http_1 = require("../http"); /** * Get `Response` for mocking API requests in "full mocks" mode. * @internal */ const getResponseFromFullMocks = ({ fullMocksState, requestKind }, request) => { const { appliedMocks, testFullMocks } = fullMocksState; (0, asserts_1.assertValueIsDefined)(appliedMocks, 'appliedMocks is defined', { request, requestKind }); const appliedCount = appliedMocks[requestKind] ?? 0; appliedMocks[requestKind] = appliedCount + 1; const { fullMocks: fullMocksConfig } = (0, config_1.getFullPackConfig)(); (0, asserts_1.assertValueIsNotNull)(fullMocksConfig, 'fullMocksConfig is not null', { request, requestKind }); const responseWithRequest = testFullMocks[requestKind]?.[appliedCount]; const fullMocksResponse = fullMocksConfig.getResponseFromFullMocks({ request, requestKind, responseWithRequest, testFullMocks, }); const { responseBody } = fullMocksResponse; const responseBodyAsString = responseBody === undefined ? '' : JSON.stringify(responseBody); const contentJsonHeaders = (0, http_1.getContentJsonHeaders)(responseBodyAsString); const response = { responseBody: undefined, ...fullMocksResponse, responseHeaders: { ...fullMocksResponse.responseHeaders, 'content-encoding': 'identity', ...contentJsonHeaders, }, }; return response; }; exports.getResponseFromFullMocks = getResponseFromFullMocks;