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