e2ed
Version:
E2E testing framework over Playwright
36 lines (35 loc) • 1.63 kB
JavaScript
;
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;