/** * Cucumber configuration for EuchreCamp E2E tests */ module.exports = { // Paths to feature files paths: ['e2e/cucumber/features/**/*.feature'], // Paths to step definitions import: ['e2e/cucumber/step-definitions/**/*.ts'], // Paths to support files (hooks, world) require: ['e2e/cucumber/support/**/*.ts'], // Use tsx loader for TypeScript with path aliases requireModule: ['tsx'], // Format options format: [ process.env.CI ? 'progress' : ['pretty', 'html:cucumber-report.html'] ], // Output directory for reports formatOptions: { snippetInterface: 'async-await' }, // Tags to run (can be overridden via command line) tags: 'not @wip and not @skip', // Fail fast on first error failFast: false, // Retry failed tests (useful in CI) retry: process.env.CI ? 2 : 0, // Dry run (just list scenarios without executing) dryRun: false, // Strict mode (fail on undefined steps) strict: true, // Increase default timeout for steps (default is 5000ms) defaultTimeout: 30000, };