UNPKG

e2ed

Version:

E2E testing framework over Playwright

65 lines (64 loc) 2.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRunTest = void 0; const useContext_1 = require("../../useContext"); const asserts_1 = require("../asserts"); const afterErrorInTest_1 = require("./afterErrorInTest"); const afterTest_1 = require("./afterTest"); const beforeTest_1 = require("./beforeTest"); const createRunId_1 = require("./createRunId"); const getOutputDirectoryName_1 = require("./getOutputDirectoryName"); const getShouldRunTest_1 = require("./getShouldRunTest"); const getTestStaticOptions_1 = require("./getTestStaticOptions"); const preparePage_1 = require("./preparePage"); const runTestFn_1 = require("./runTestFn"); const waitBeforeRetry_1 = require("./waitBeforeRetry"); /** * Get complete run test function by the complete test options. * @internal */ const getRunTest = (test) => ({ context, page, request }, testInfo) => { const runTest = async () => { const startTimeInMs = Date.now(); const retryIndex = testInfo.retry + 1; const runId = (0, createRunId_1.createRunId)(test, retryIndex); let hasRunError = false; let shouldRunTest = false; let testStaticOptions; let unknownRunError; try { testStaticOptions = (0, getTestStaticOptions_1.getTestStaticOptions)(test, testInfo); shouldRunTest = await (0, getShouldRunTest_1.getShouldRunTest)(testStaticOptions); if (!shouldRunTest) { return; } const testUnit = { beforeRetryTimeout: await (0, waitBeforeRetry_1.waitBeforeRetry)(runId, testStaticOptions), outputDirectoryName: (0, getOutputDirectoryName_1.getOutputDirectoryName)(testInfo.outputDir), retryIndex, runId, startTimeInMs, testController: { context, page, request }, testFn: test.testFn, testStaticOptions, }; await (0, preparePage_1.preparePage)(page); (0, beforeTest_1.beforeTest)(testUnit); await (0, runTestFn_1.runTestFn)(testUnit); } catch (error) { hasRunError = true; unknownRunError = error; (0, asserts_1.assertValueIsDefined)(testStaticOptions, 'testStaticOptions is defined', { error, runId }); await (0, afterErrorInTest_1.afterErrorInTest)(testStaticOptions); throw error; } finally { if (shouldRunTest) { await (0, afterTest_1.afterTest)({ hasRunError, runId, unknownRunError }); } } }; return useContext_1.pageStorage.run(page, runTest); }; exports.getRunTest = getRunTest;