e2ed
Version:
E2E testing framework over Playwright
26 lines (25 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addResponseToApiStatistics = void 0;
const apiStatistics_1 = require("../../context/apiStatistics");
const headers_1 = require("../headers");
const addApiStatistics_1 = require("./addApiStatistics");
const getUrlTemplate_1 = require("./getUrlTemplate");
/**
* Adds single `ResponseWithRequest` to API statistics.
* @internal
*/
const addResponseToApiStatistics = (responseWithRequest) => {
const apiStatistics = (0, apiStatistics_1.getApiStatistics)();
const duration = responseWithRequest.completionTimeInMs - responseWithRequest.request.utcTimeInMs;
const { request: { method, url }, statusCode, } = responseWithRequest;
const { hasExtension, urlTemplate } = (0, getUrlTemplate_1.getUrlTemplate)(url);
const isResource = hasExtension && method === 'GET';
const size = Number((0, headers_1.getHeaderValue)(responseWithRequest.responseHeaders, 'content-length')) || 0;
const requestStatistics = { [statusCode]: { count: 1, duration, size } };
const additionalApiStatistics = isResource
? { pages: {}, requests: {}, resources: { [urlTemplate]: requestStatistics } }
: { pages: {}, requests: { [urlTemplate]: { [method]: requestStatistics } }, resources: {} };
(0, addApiStatistics_1.addApiStatistics)(apiStatistics, additionalApiStatistics);
};
exports.addResponseToApiStatistics = addResponseToApiStatistics;