UNPKG

e2ed

Version:

E2E testing framework over Playwright

31 lines (30 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.switchPlaywrightPage = void 0; const clearPage_1 = require("../../context/clearPage"); const test_1 = require("../test"); const waitForRequest_1 = require("./waitForRequest"); const waitForResponse_1 = require("./waitForResponse"); /** * Switches internal Playwright page from old to new. * Removes all event handlers from the old page and moves them to the new one. * @internal */ const switchPlaywrightPage = async (newPage) => { const clearPage = (0, clearPage_1.getClearPage)(); await clearPage?.(); await (0, test_1.preparePage)(newPage); const oldRequestCalls = [...waitForRequest_1.waitForRequestCalls]; waitForRequest_1.waitForRequestCalls.length = 0; for (const { disablePredicate, options, predicate, reject, resolve } of oldRequestCalls) { disablePredicate(); (0, waitForRequest_1.pageWaitForRequest)(newPage, predicate, options).then(resolve, reject); } const oldResponseCalls = [...waitForResponse_1.waitForResponseCalls]; waitForResponse_1.waitForResponseCalls.length = 0; for (const { disablePredicate, options, predicate, reject, resolve } of oldResponseCalls) { disablePredicate(); (0, waitForResponse_1.pageWaitForResponse)(newPage, predicate, options).then(resolve, reject); } }; exports.switchPlaywrightPage = switchPlaywrightPage;