fix: resolve ES modules compatibility in E2E test files

- Replace __dirname with import.meta.url pattern for ES modules compatibility
- Add fileURLToPath imports to all E2E test files
- Fix duplicate require statements in setup-verification.spec.ts
- Update playwright.config.ts to use relative path instead of __dirname

This fixes the 'ReferenceError: __dirname is not defined in ES module scope' error
when running Playwright tests in the ES modules environment.
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-07 16:18:31 +02:00
parent a5fc85897b
commit baef924cfd
208 changed files with 212092 additions and 19 deletions

View File

@@ -11,6 +11,10 @@
import { execSync } from 'child_process';
import path from 'path';
import fs from 'fs';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
async function globalSetup() {
console.log('🚀 Starting E2E test setup...');

View File

@@ -11,6 +11,10 @@
import { execSync } from 'child_process';
import path from 'path';
import fs from 'fs';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
async function globalTeardown() {
console.log('🧹 Starting E2E test teardown...');

View File

@@ -7,6 +7,12 @@
import { test, expect } from '@playwright/test';
import { navigateTo, waitForLoading } from './utils/test-helpers';
import path from 'path';
import fs from 'fs';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
test.describe('E2E Setup Verification', () => {
test('frontend dev server is running', async ({ page }) => {
@@ -117,9 +123,6 @@ test.describe('Environment Variables', () => {
});
test('test data directories exist', async () => {
const fs = require('fs');
const path = require('path');
const fixturesDir = path.join(__dirname, 'fixtures');
const screenshotsDir = path.join(__dirname, 'screenshots');

View File

@@ -10,21 +10,14 @@
*/
import { test, expect } from '@playwright/test';
import {
navigateTo,
waitForLoading,
createScenarioViaAPI,
deleteScenarioViaAPI,
startScenarioViaAPI,
sendTestLogs,
generateTestScenarioName,
setMobileViewport,
setDesktopViewport,
} from './utils/test-helpers';
import { testLogs } from './fixtures/test-logs';
import { navigateTo, waitForLoading, createTestScenario, cleanupTestScenario } from './utils/test-helpers';
import { newScenarioData } from './fixtures/test-scenarios';
import path from 'path';
import fs from 'fs';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// Visual regression configuration
const BASELINE_DIR = path.join(__dirname, 'screenshots', 'baseline');