UNPKG

e2ed

Version:

E2E testing framework over Playwright

77 lines (76 loc) 3.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.beforeTest = void 0; const internal_1 = require("../../constants/internal"); const meta_1 = require("../../context/meta"); const onResponseCallbacks_1 = require("../../context/onResponseCallbacks"); const outputDirectoryName_1 = require("../../context/outputDirectoryName"); const retryIndex_1 = require("../../context/retryIndex"); const runId_1 = require("../../context/runId"); const testIdleTimeout_1 = require("../../context/testIdleTimeout"); const testStaticOptions_1 = require("../../context/testStaticOptions"); const testTimeout_1 = require("../../context/testTimeout"); const apiStatistics_1 = require("../apiStatistics"); const config_1 = require("../config"); const environment_1 = require("../environment"); const events_1 = require("../events"); const fs_1 = require("../fs"); const log_1 = require("../log"); const uiMode_1 = require("../uiMode"); const userland_1 = require("../userland"); const getTestFnAndReject_1 = require("./getTestFnAndReject"); const test_1 = require("@playwright/test"); const additionToPlaywrightTestTimeout = 500; /** * Internal before test hook. * @internal */ const beforeTest = ({ outputDirectoryName, retryIndex, runId, startTimeInMs, testFn, testStaticOptions, }) => { const { options } = testStaticOptions; (0, meta_1.setMeta)(options.meta); (0, outputDirectoryName_1.setOutputDirectoryName)(outputDirectoryName); (0, retryIndex_1.setRetryIndex)(retryIndex); (0, runId_1.setRunId)(runId); (0, testStaticOptions_1.setTestStaticOptions)(testStaticOptions); const onResponseCallbacks = (0, onResponseCallbacks_1.getOnResponseCallbacks)(); onResponseCallbacks.push(apiStatistics_1.addResponseToApiStatistics); onResponseCallbacks.push(log_1.mapBackendResponseForLogs); const { testIdleTimeout: testIdleTimeoutFromConfig, testTimeout: testTimeoutFromConfig } = (0, config_1.getFullPackConfig)(); const testIdleTimeout = internal_1.IS_DEBUG || uiMode_1.isUiMode ? internal_1.MAX_TIMEOUT_IN_MS : (options.testIdleTimeout ?? testIdleTimeoutFromConfig); const testTimeout = internal_1.IS_DEBUG || uiMode_1.isUiMode ? internal_1.MAX_TIMEOUT_IN_MS : (options.testTimeout ?? testTimeoutFromConfig); test_1.test.setTimeout(testTimeout + additionToPlaywrightTestTimeout + (Date.now() - startTimeInMs)); (0, testIdleTimeout_1.setTestIdleTimeout)(testIdleTimeout); (0, testTimeout_1.setTestTimeout)(testTimeout); const { isTestSkipped } = (0, userland_1.getUserlandHooks)(); const { isSkipped, reason: skipReason } = isTestSkipped(testStaticOptions); if (isSkipped && !('skipReason' in options.meta)) { Object.assign(options.meta, { skipReason }); } const { onlog, reject, testFnWithReject } = (0, getTestFnAndReject_1.getTestFnAndReject)({ isSkipped, runId, testFn, testIdleTimeout, testTimeout, }); const runLabel = (0, environment_1.getRunLabel)(); const utcTimeInMs = Date.now(); const testRunEvent = { ...testStaticOptions, logEvents: [], onlog, outputDirectoryName, reject, retryIndex, runId, runLabel, status: isSkipped ? "skipped" /* TestRunStatus.Skipped */ : "unknown" /* TestRunStatus.Unknown */, testFnWithReject, utcTimeInMs, }; (0, events_1.registerStartTestRunEvent)(testRunEvent); void (0, fs_1.writeLogEventTime)().catch(() => { }); }; exports.beforeTest = beforeTest;