UNPKG

e2ed

Version:

E2E testing framework over Playwright

29 lines (28 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertThatTestNamesAndFilePathsAreUniqueInOneRetry = void 0; const asserts_1 = require("../asserts"); const clone_1 = require("../clone"); /** * Asserts that test names and file paths inside one retry are unique. * @internal */ const assertThatTestNamesAndFilePathsAreUniqueInOneRetry = (fullTestRuns) => { const filePathsHash = Object.create(null); const namesHash = Object.create(null); const unbrokenTestRuns = fullTestRuns.filter(({ status }) => status !== "broken" /* TestRunStatus.Broken */); for (const fullTestRun of unbrokenTestRuns) { const { filePath, name } = fullTestRun; (0, asserts_1.assertValueIsFalse)(filePath in filePathsHash, 'filePath is unique: each test should be in a separate file', { firstFullTestRun: (0, clone_1.cloneWithoutLogEvents)(filePathsHash[filePath]), secondFullTestRun: (0, clone_1.cloneWithoutLogEvents)(fullTestRun), }); (0, asserts_1.assertValueIsFalse)(name in namesHash, 'name is unique: each test must have a unique name', { firstFullTestRun: (0, clone_1.cloneWithoutLogEvents)(namesHash[name]), secondFullTestRun: (0, clone_1.cloneWithoutLogEvents)(fullTestRun), }); filePathsHash[filePath] = fullTestRun; namesHash[name] = fullTestRun; } }; exports.assertThatTestNamesAndFilePathsAreUniqueInOneRetry = assertThatTestNamesAndFilePathsAreUniqueInOneRetry;