From 6d1574473555b3185b713139431e10c03b171584 Mon Sep 17 00:00:00 2001 From: Zhi Date: Sat, 14 Mar 2026 08:56:41 +0000 Subject: [PATCH] Fix full workflow test: select project filter for milestone (proper escaping) --- tests/full-workflow.spec.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/full-workflow.spec.ts b/tests/full-workflow.spec.ts index 0f649ba..577e12c 100644 --- a/tests/full-workflow.spec.ts +++ b/tests/full-workflow.spec.ts @@ -10,7 +10,7 @@ test.describe('Full Workflow', () => { test('login -> create project -> create milestone -> create task/meeting/support -> logout', async ({ page }) => { // Step 1: Login console.log('🔐 Logging in...'); - await page.goto(); + await page.goto(`${BASE_URL}/login`); await page.waitForLoadState('networkidle'); await page.fill('input[type="text"], input[name="username"]', ADMIN_USERNAME); @@ -18,13 +18,13 @@ test.describe('Full Workflow', () => { await page.click('button[type="submit"], button:has-text("Sign in")'); // Wait for navigation - await page.waitForURL(, { timeout: 10000 }); + await page.waitForURL(`${BASE_URL}/**`, { timeout: 10000 }); await page.waitForLoadState('networkidle'); console.log('✅ Logged in'); // Step 2: Create Project console.log('📁 Creating project...'); - await page.goto(); + await page.goto(`${BASE_URL}/projects`); await page.waitForLoadState('networkidle'); // Click create project button - it's "+ New" @@ -32,7 +32,7 @@ test.describe('Full Workflow', () => { await page.waitForSelector('form.inline-form', { timeout: 5000 }); // Fill project form - const projectName = ; + const projectName = 'Test Project ' + Date.now(); await page.fill('input[placeholder="Project name"]', projectName); await page.fill('textarea[placeholder="Description"]', 'Project for E2E testing'); @@ -40,12 +40,12 @@ test.describe('Full Workflow', () => { await page.click('button:has-text("Create")'); // Wait for project to be created (and appear in the grid) - await page.waitForSelector(, { timeout: 10000 }); + await page.waitForSelector(`.project-card h3:has-text("${projectName}")`, { timeout: 10000 }); console.log('✅ Project created'); // Step 3: Create Milestone console.log('🎯 Creating milestone...'); - await page.goto(); + await page.goto(`${BASE_URL}/milestones`); await page.waitForLoadState('networkidle'); // Wait for page to load @@ -61,7 +61,7 @@ test.describe('Full Workflow', () => { await page.waitForSelector('form', { timeout: 5000 }); // Fill milestone form - const milestoneTitle = ; + const milestoneTitle = 'Test Milestone ' + Date.now(); await page.fill('input[placeholder="Title"]', milestoneTitle); await page.fill('textarea[placeholder="Description"]', 'Milestone for E2E testing'); @@ -69,12 +69,12 @@ test.describe('Full Workflow', () => { await page.click('button:has-text("Create")'); // Wait for milestone to be created - await page.waitForSelector(, { timeout: 10000 }); + await page.waitForSelector(`.milestone-card h3:has-text("${milestoneTitle}")`, { timeout: 10000 }); console.log('✅ Milestone created'); // Step 4: Create Task (under milestone) console.log('📝 Creating task...'); - await page.goto(); + await page.goto(`${BASE_URL}/issues/new`); await page.waitForLoadState('networkidle'); // Wait for form to load @@ -91,7 +91,7 @@ test.describe('Full Workflow', () => { // Step 5: Create Meeting (under milestone) console.log('📅 Creating meeting...'); - await page.goto(); + await page.goto(`${BASE_URL}/issues/new`); await page.waitForLoadState('networkidle'); await page.waitForSelector('select[name="issue_type"]', { timeout: 10000 }); @@ -108,7 +108,7 @@ test.describe('Full Workflow', () => { // Step 6: Create Support (under milestone) console.log('🆘 Creating support...'); - await page.goto(); + await page.goto(`${BASE_URL}/issues/new`); await page.waitForLoadState('networkidle'); await page.waitForSelector('select[name="issue_type"]', { timeout: 10000 }); @@ -128,7 +128,7 @@ test.describe('Full Workflow', () => { // Click logout button in sidebar await page.click('button:has-text("Logout")'); - await page.waitForURL(, { timeout: 10000 }); + await page.waitForURL(`${BASE_URL}/login`, { timeout: 10000 }); console.log('✅ Logged out'); // Verify we're on login page