UNPKG

e2ed

Version:

E2E testing framework over Playwright

40 lines (39 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.waitForStartOfPageLoad = void 0; const internal_1 = require("../../constants/internal"); const testRunPromise_1 = require("../../context/testRunPromise"); const step_1 = require("../../step"); const useContext_1 = require("../../useContext"); const asserts_1 = require("../../utils/asserts"); const config_1 = require("../../utils/config"); /** * Waits for start of page load (when change the url or reload page). */ const waitForStartOfPageLoad = async (options) => { const timeout = options?.timeout ?? (0, config_1.getFullPackConfig)().navigationTimeout; let urlObject; await (0, step_1.step)('Wait for start of page load', async () => { const page = (0, useContext_1.getPlaywrightPage)(); let wasCalled = false; const promise = page.waitForURL((url) => { if (wasCalled === false) { wasCalled = true; return false; } urlObject = url; return true; }, { timeout, waitUntil: 'commit' }); const testRunPromise = (0, testRunPromise_1.getTestRunPromise)(); await Promise.race([promise, testRunPromise]); return { url: urlObject?.href }; }, { payload: { options }, skipLogs: options?.skipLogs ?? false, timeout: timeout + internal_1.ADDITIONAL_STEP_TIMEOUT, type: 7 /* LogEventType.InternalCore */, }); (0, asserts_1.assertValueIsDefined)(urlObject, 'urlObject is defined', { options }); return urlObject; }; exports.waitForStartOfPageLoad = waitForStartOfPageLoad;