Upgrade waitForAngular to wait for route content, fix remaining UI tests

The generic waitForAngular matched the sidebar nav immediately but
route content (tables, tabs, forms) hadn't rendered yet.

Updated waitForAngular selector to wait for route-level elements:
stella-page-tabs, .integration-list, .source-catalog, table tbody tr,
h1, [role=tablist], .detail-grid, .wizard-step, form.

Also fixed activity-timeline and pagination tests (still had
waitForTimeout(2_000) instead of waitForAngular).

Increased fallback timeout from 5s to 8s for slow-loading pages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-04-02 21:45:40 +03:00
parent 744637c7c6
commit ae64042759
4 changed files with 44 additions and 27 deletions

View File

@@ -635,7 +635,7 @@ test.describe('Integration Services — UI Verification', () => {
test('Registries tab lists registry integrations', async ({ liveAuthPage: page }) => {
await page.goto(`${BASE}/setup/integrations/registries`, { waitUntil: 'domcontentloaded', timeout: 45_000 });
await page.waitForTimeout(2_000);
await waitForAngular(page);
const heading = page.getByRole('heading', { name: /registry/i });
await expect(heading).toBeVisible({ timeout: 5_000 });
@@ -650,7 +650,7 @@ test.describe('Integration Services — UI Verification', () => {
test('SCM tab lists SCM integrations', async ({ liveAuthPage: page }) => {
await page.goto(`${BASE}/setup/integrations/scm`, { waitUntil: 'domcontentloaded', timeout: 45_000 });
await page.waitForTimeout(2_000);
await waitForAngular(page);
const heading = page.getByRole('heading', { name: /scm/i });
await expect(heading).toBeVisible({ timeout: 5_000 });
@@ -664,7 +664,7 @@ test.describe('Integration Services — UI Verification', () => {
test('CI/CD tab lists CI/CD integrations', async ({ liveAuthPage: page }) => {
await page.goto(`${BASE}/setup/integrations/ci`, { waitUntil: 'domcontentloaded', timeout: 45_000 });
await page.waitForTimeout(2_000);
await waitForAngular(page);
const heading = page.getByRole('heading', { name: /ci\/cd/i });
await expect(heading).toBeVisible({ timeout: 5_000 });
@@ -678,7 +678,7 @@ test.describe('Integration Services — UI Verification', () => {
test('tab switching navigates between all tabs', async ({ liveAuthPage: page }) => {
await page.goto(`${BASE}/setup/integrations`, { waitUntil: 'domcontentloaded', timeout: 45_000 });
await page.waitForTimeout(2_000);
await waitForAngular(page);
const tabs = ['Registries', 'SCM', 'CI/CD', 'Runtimes / Hosts', 'Advisory & VEX', 'Secrets'];