UNPKG

e2ed

Version:

E2E testing framework over Playwright

41 lines (40 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeResponseToFullMocks = void 0; const fullMocks_1 = require("../../context/fullMocks"); const asserts_1 = require("../asserts"); const config_1 = require("../config"); const headers_1 = require("../headers"); const object_1 = require("../object"); /** * Writes `ResponseWithRequest` to full mocks of test. * @internal */ const writeResponseToFullMocks = (responseWithRequest) => { const { fullMocks: fullMocksConfig } = (0, config_1.getFullPackConfig)(); const fullMocksState = (0, fullMocks_1.getFullMocksState)(); (0, asserts_1.assertValueIsDefined)(fullMocksState, 'fullMocksState is defined', { responseWithRequest }); (0, asserts_1.assertValueIsNotNull)(fullMocksConfig, 'fullMocksConfig is not null', { responseWithRequest }); const contentType = (0, headers_1.getHeaderValue)(responseWithRequest.responseHeaders, 'content-type'); const contentTypeString = (Array.isArray(contentType) ? contentType : [contentType]) .join(',') .toLowerCase(); if (!contentTypeString.includes('application/json')) { return; } const { url } = responseWithRequest.request; const urlObject = new URL(url); const requestKind = fullMocksConfig.getRequestKind(urlObject); const responseToWrite = fullMocksConfig.getResponseToWriteToFullMocks(requestKind, responseWithRequest); if (responseToWrite === undefined) { return; } const { testFullMocks } = fullMocksState; if (!testFullMocks[requestKind]) { (0, object_1.setReadonlyProperty)(testFullMocks, requestKind, []); } const listOfResponses = testFullMocks[requestKind]; (0, asserts_1.assertValueIsDefined)(listOfResponses, 'listOfResponses is defined', { responseWithRequest }); listOfResponses.push(responseToWrite); }; exports.writeResponseToFullMocks = writeResponseToFullMocks;