UNPKG

e2ed

Version:

E2E testing framework over Playwright

36 lines (35 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertPage = void 0; const internal_1 = require("../../constants/internal"); const step_1 = require("../../step"); const asserts_1 = require("../../utils/asserts"); const document_1 = require("../../utils/document"); const pageObjects_1 = require("../../utils/pageObjects"); /** * Asserts that we are on the expected page by page parameters. */ const assertPage = async (...args) => { const [PageClass, pageParams] = args; let page; await (0, step_1.step)(`Asserts that the document url matches the page "${PageClass.name}"`, async () => { page = await (0, pageObjects_1.createPageInstance)(PageClass, pageParams); const route = page.getRoute(); await page.beforeAssertPage?.(); await page.waitForPageLoaded(); const documentUrl = await (0, document_1.getDocumentUrl)(); const isMatch = route.isMatchUrl(documentUrl); const logEventStatus = isMatch ? "passed" /* LogEventStatus.Passed */ : "failed" /* LogEventStatus.Failed */; const { routeParams } = route; await page.assertPage(isMatch, documentUrl); await page.afterAssertPage?.(); return { documentUrl, isMatch, logEventStatus, routeParams }; }, { payload: { pageParams }, timeout: PageClass.navigationTimeout + internal_1.ADDITIONAL_STEP_TIMEOUT, type: 5 /* LogEventType.InternalAction */, }); (0, asserts_1.assertValueIsDefined)(page, 'page is defined', { name: PageClass.name, pageParams }); return page; }; exports.assertPage = assertPage;