e2ed
Version:
E2E testing framework over Playwright
34 lines (33 loc) • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runTestFn = void 0;
const testRunPromise_1 = require("../../context/testRunPromise");
const testTimeout_1 = require("../../context/testTimeout");
const config_1 = require("../config");
const events_1 = require("../events");
const fullMocks_1 = require("../fullMocks");
const getDurationWithUnits_1 = require("../getDurationWithUnits");
const log_1 = require("../log");
const promise_1 = require("../promise");
const delayForTestRunPromiseResolutionAfterTestTimeoutInMs = 100;
/**
* Runs test function with reject in test run event.
* @internal
*/
const runTestFn = async ({ beforeRetryTimeout, retryIndex, runId, testController, testStaticOptions, }) => {
const { status, testFnWithReject } = (0, events_1.getTestRunEvent)(runId);
const testTimeout = (0, testTimeout_1.getTestTimeout)();
const { promiseWithTimeout: testRunPromise, resolve: resolveTestRunPromise } = (0, promise_1.getPromiseWithResolveAndReject)(testTimeout + delayForTestRunPromiseResolutionAfterTestTimeoutInMs);
(0, testRunPromise_1.setTestRunPromise)(testRunPromise);
if (beforeRetryTimeout !== undefined) {
const timeoutWithUnits = (0, getDurationWithUnits_1.getDurationWithUnits)(beforeRetryTimeout);
(0, log_1.log)(`Waited for ${timeoutWithUnits} before running this retry`, 8 /* LogEventType.InternalUtil */);
}
const { fullMocks } = (0, config_1.getFullPackConfig)();
if (status !== "skipped" /* TestRunStatus.Skipped */ && fullMocks?.filterTests(testStaticOptions)) {
const shouldApplyMocks = retryIndex === 1;
await (0, fullMocks_1.enableFullMocks)(fullMocks, shouldApplyMocks, testStaticOptions.filePath);
}
await testFnWithReject(testController).finally(() => resolveTestRunPromise(undefined));
};
exports.runTestFn = runTestFn;