test: update Cucumber configuration and support files

This commit is contained in:
2026-04-26 16:37:04 -07:00
parent 9026ac7fe3
commit b3907d046d
3 changed files with 32 additions and 6 deletions
+24 -2
View File
@@ -18,7 +18,12 @@ export interface WorldState {
tournament?: any;
tournamentTeamCount?: number;
player?: any;
playerId?: string; // Added for storing extracted player ID
match?: any;
generatedData?: {
uniqueEmail?: string;
[key: string]: any;
};
}
export class World implements WorldState {
@@ -34,7 +39,12 @@ export class World implements WorldState {
tournament?: any;
tournamentTeamCount?: number;
player?: any;
playerId?: string; // Added for storing extracted player ID
match?: any;
generatedData?: {
uniqueEmail?: string;
[key: string]: any;
};
constructor() {
this.baseURL = process.env.BASE_URL || 'http://localhost:3000';
@@ -43,9 +53,21 @@ export class World implements WorldState {
async getPrisma() {
if (!this.prisma) {
// Lazily load PrismaClient when first accessed
// Load .env.development file for test database configuration (fallback)
require('dotenv').config({ path: '.env.development' })
// Ensure database environment is set for Cucumber tests BEFORE importing PrismaClient
if (!process.env.DATABASE_URL) {
throw new Error('DATABASE_URL not set. Make sure .env.development exists and contains DATABASE_URL or set DATABASE_URL environment variable.');
}
process.env.DATABASE_PROVIDER = process.env.DATABASE_PROVIDER || 'postgresql';
// Import PrismaClient AFTER setting environment variables
const { PrismaClient } = await import('@prisma/client');
this.prisma = new PrismaClient();
const { PrismaPg } = await import('@prisma/adapter-pg');
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL });
this.prisma = new PrismaClient({ adapter });
}
return this.prisma;
}