e2ed
Version:
E2E testing framework over Playwright
42 lines (41 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addSuccessfulTestRun = exports.getSuccessfulTestFilePaths = void 0;
const promises_1 = require("node:fs/promises");
const node_path_1 = require("node:path");
const internal_1 = require("../../constants/internal");
const asserts_1 = require("../asserts");
const uiMode_1 = require("../uiMode");
/**
* Relative (from root) path to text file with list of successful tests.
*/
const SUCCESSFUL_TESTS_PATH = (0, node_path_1.join)(internal_1.TMP_DIRECTORY_PATH, 'successfulTests.txt');
/**
* Get array of test file paths of successful tests.
* @internal
*/
const getSuccessfulTestFilePaths = async () => {
let successfulTestsFile = '';
try {
successfulTestsFile = await (0, promises_1.readFile)(SUCCESSFUL_TESTS_PATH, internal_1.READ_FILE_OPTIONS);
}
catch { }
return successfulTestsFile
.split('\n')
.map((line) => line.trim())
.filter(Boolean);
};
exports.getSuccessfulTestFilePaths = getSuccessfulTestFilePaths;
/**
* Adds one successful test run.
* @internal
*/
const addSuccessfulTestRun = async (testFilePath) => {
const successfulTestFilePaths = await (0, exports.getSuccessfulTestFilePaths)();
if (uiMode_1.isUiMode && successfulTestFilePaths.includes(testFilePath)) {
return;
}
(0, asserts_1.assertValueIsFalse)(successfulTestFilePaths.includes(testFilePath), 'There is no duplicate test file path in successful test runs', { successfulTestFilePaths, testFilePath });
await (0, promises_1.appendFile)(SUCCESSFUL_TESTS_PATH, `${testFilePath}\n`);
};
exports.addSuccessfulTestRun = addSuccessfulTestRun;