dashboard/scripts/cypress.ts

26 lines
867 B
TypeScript

/**
* These utils are aimed to be used and tested for the Cypress configuration
*/
/**
* Filter test spec paths based on env var configuration
* @returns
*/
export const getSpecPattern = (dirs: string[], envs: NodeJS.ProcessEnv): string[] => {
// Gets paths with only
const onlyDirs = dirs.filter((dir) => (envs.TEST_ONLY?.split(',').map((env) => env.trim()).includes(dir)));
// List the test directories to be included
const activeDirs = dirs.filter((dir) => !(envs.TEST_SKIP?.split(',').map((env) => env.trim()).includes(dir)));
const finalDirs = onlyDirs.length ? onlyDirs : activeDirs;
const paths = finalDirs.map((dir) => `cypress/e2e/tests/${ dir }/**/*.spec.ts`);
if (process.env.NODE_ENV !== 'test') {
// eslint-disable-next-line no-console
console.log(`Running tests for paths: ${ paths.join(', ') }`);
}
return paths;
};