playwright-bdd
Version:
BDD Testing with Playwright runner
48 lines (41 loc) • 1.76 kB
text/typescript
/**
* Logging helper, separate from the main codebase.
*/
import { StepDefinition } from '../steps/stepDefinition';
import { Logger } from '../utils/logger';
import { relativeToCwd, toPosixPath } from '../utils/paths';
import { TestFile } from './file';
export class TestFilesGeneratorLogger extends Logger {
logLoadingFeatures(files: string[], finalPatterns: string[]) {
if (!this.enabled) return;
this.log(`Checking feature files at:`);
finalPatterns.forEach((pattern) => this.log(` - ${pattern}`));
this.log(`Found feature files (${files.length}):`);
files.forEach((featureFile) => this.log(` - ${relativeToCwd(featureFile)}`));
}
logLoadingSteps(files: string[], finalPatterns: string[]) {
if (!this.enabled) return;
this.log(`Checking step files at:`);
finalPatterns.forEach((pattern) => this.log(` - ${pattern}`));
this.log(`Found step files (${files.length}):`);
}
logLoadedSteps(files: string[], stepDefinitions: StepDefinition[]) {
if (!this.enabled) return;
files.forEach((stepFile) => {
const normalizedStepFile = toPosixPath(stepFile);
const definitions = stepDefinitions.filter(
(definition) => toPosixPath(definition.uri) === normalizedStepFile,
);
const suffix = definitions.length === 1 ? 'step' : 'steps';
this.log(` - ${relativeToCwd(stepFile)} (${definitions.length} ${suffix})`);
});
}
logGeneratedTestFiles(files: TestFile[]) {
if (!this.enabled) return;
this.log(`Generating Playwright test files (${files.length}):`);
files.forEach((file) => this.log(` - ${relativeToCwd(file.outputPath)}`));
}
logClearingOutputDir(pattern: string) {
this.log(`Clearing output directory: ${relativeToCwd(pattern)}`);
}
}