Fix test selectors to use label text

This commit is contained in:
Zhi
2026-03-14 07:46:38 +00:00
parent afe4038778
commit f97f31acaa

View File

@@ -19,23 +19,29 @@ test.describe('Setup Wizard', () => {
// Wait for step 1: Database
await page.waitForSelector('h2:has-text("Database configuration")', { timeout: 10000 });
await page.fill('input[name="host"]', 'mysql');
await page.fill('input[name="port"]', '3306');
await page.fill('input[name="user"]', 'harborforge');
await page.fill('input[name="password"]', 'harborforge_pass');
await page.fill('input[name="database"]', 'harborforge');
// Fill database form - inputs are inside labels
const dbInputs = page.locator('.setup-form label').first().locator('input');
const labels = page.locator('.setup-form label');
// Fill by label text
await page.locator('label:has-text("Host") input').fill('mysql');
await page.locator('label:has-text("Port") input').fill('3306');
await page.locator('label:has-text("Username") input').fill('harborforge');
await page.locator('label:has-text("Password") input').fill('harborforge_pass');
await page.locator('label:has-text("Database") input').fill('harborforge');
await page.click('button:has-text("Next")');
// Wait for step 2: Admin
await page.waitForSelector('h2:has-text("Admin account")', { timeout: 10000 });
await page.fill('input[name="password"]', 'admin123');
await page.fill('input[name="email"]', 'admin@test.com');
await page.fill('input[name="full_name"]', 'Test Admin');
await page.locator('label:has-text("Password") input').fill('admin123');
await page.locator('label:has-text("Email") input').fill('admin@test.com');
await page.locator('label:has-text("Full name") input').fill('Test Admin');
await page.click('button:has-text("Next")');
// Wait for step 3: Backend URL (no project step)
// Wait for step 3: Backend URL
await page.waitForSelector('h2:has-text("Backend URL")', { timeout: 10000 });
await page.fill('input[name="backend_base_url"]', 'http://backend:8000');
await page.locator('label:has-text("Backend Base URL") input').fill('http://backend:8000');
await page.click('button:has-text("Finish setup")');
// Wait for step 4: Complete