playwright-bdd
Version:
BDD Testing with Playwright runner
25 lines (20 loc) • 776 B
text/typescript
/**
* Load steps using Playwright's importOrRequire.
*/
import { resolveFiles } from '../utils/paths';
import { toArray } from '../utils';
import { requireOrImport } from '../playwright/requireOrImport';
import { registerExportedTests } from './exportedTest';
const DEFAULT_STEP_EXTENSIONS = '{js,mjs,cjs,ts,mts,cts}';
export async function loadSteps(stepFiles: string[]) {
for (const filePath of stepFiles) {
await loadStepsFromFile(filePath);
}
}
export async function loadStepsFromFile(filePath: string) {
const obj = await requireOrImport(filePath);
return registerExportedTests(filePath, obj);
}
export async function resolveStepFiles(cwd: string, patterns: string | string[]) {
return resolveFiles(cwd, toArray(patterns), DEFAULT_STEP_EXTENSIONS);
}