e2ed
Version:
E2E testing framework over Playwright
40 lines (39 loc) • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addNotCompleteRequest = void 0;
const asserts_1 = require("../asserts");
const log_1 = require("../log");
const isReRequest_1 = require("./isReRequest");
const processAllRequestsCompletePredicates_1 = require("./processAllRequestsCompletePredicates");
/**
* Adds new request to hash of not complete requests.
* @internal
*/
const addNotCompleteRequest = async (request, requestHookContextId, waitForEventsState) => {
const { hashOfNotCompleteRequests } = waitForEventsState;
hashOfNotCompleteRequests[requestHookContextId] = request;
(0, log_1.log)(`Add not complete request with url ${request.url}`, {
logTag: 'waitForAllRequestsComplete',
requestHookContextId,
});
for (const previousRequestId of Object.keys(hashOfNotCompleteRequests)) {
if (previousRequestId === requestHookContextId) {
continue;
}
const previousRequest = hashOfNotCompleteRequests[previousRequestId];
(0, asserts_1.assertValueIsDefined)(previousRequest, 'previousRequest is defined', {
hashOfNotCompleteRequests,
url: request.url,
});
if ((0, isReRequest_1.isReRequest)(request, previousRequest)) {
(0, log_1.log)(`Remove duplicate request with url ${previousRequest.url}`, {
logTag: 'waitForAllRequestsComplete',
previousRequestId,
});
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
delete hashOfNotCompleteRequests[previousRequestId];
}
}
await (0, processAllRequestsCompletePredicates_1.processAllRequestsCompletePredicates)(requestHookContextId, waitForEventsState);
};
exports.addNotCompleteRequest = addNotCompleteRequest;