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:
@@ -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...');
|
||||
|
||||
@@ -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...');
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user