test(17): open Settings tab before asserting Timezone region in e2e
CI / changes (pull_request) Successful in 5s
CI / api (pull_request) Successful in 2m12s
CI / fast-checks (pull_request) Successful in 2m26s
CI / security (pull_request) Successful in 1m0s
CI / harness (pull_request) Successful in 5m25s
CI / gate (pull_request) Successful in 2s

Phase 17 D-10 reworked /admin into a two-tab layout; the Timezone section
moved into the (initially hidden) Settings tab panel. timezone-verify.spec.ts
predates that rework and asserted the region visible on bare /admin, so all 7
tests timed out in the harness. Click the Settings tab in beforeEach and after
the persist-test reload. Product behavior is correct; the spec was stale.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Lucas Berger
2026-06-18 15:41:53 -04:00
co-authored by Claude Opus 4.8
parent 24bc8d2c32
commit a923c923c9
+6
View File
@@ -20,6 +20,10 @@ test.describe('Admin Timezone section — 18-04 round-trip', () => {
test.skip(testInfo.project.name !== 'desktop', 'Admin timezone UI is desktop-only'); test.skip(testInfo.project.name !== 'desktop', 'Admin timezone UI is desktop-only');
await page.goto('/admin'); await page.goto('/admin');
await expect(page.getByRole('heading', { name: 'Admin Settings' })).toBeVisible(); await expect(page.getByRole('heading', { name: 'Admin Settings' })).toBeVisible();
// Phase 17 (D-10) reworked /admin into a two-tab layout; the Timezone section
// now lives in the "Settings" tab panel, which is hidden until selected. Open
// it before asserting the section.
await page.getByRole('tab', { name: 'Settings' }).click();
// Wait for the Timezone section to load (requires the 18-02 GET endpoint) // Wait for the Timezone section to load (requires the 18-02 GET endpoint)
const tzSection = page.getByRole('region', { name: 'Timezone' }); const tzSection = page.getByRole('region', { name: 'Timezone' });
await expect(tzSection).toBeVisible({ timeout: 15_000 }); await expect(tzSection).toBeVisible({ timeout: 15_000 });
@@ -98,6 +102,8 @@ test.describe('Admin Timezone section — 18-04 round-trip', () => {
// Reload and verify persistence // Reload and verify persistence
await page.reload(); await page.reload();
await expect(page.getByRole('heading', { name: 'Admin Settings' })).toBeVisible(); await expect(page.getByRole('heading', { name: 'Admin Settings' })).toBeVisible();
// Reload resets to the default "Members & Accounts" tab — re-open Settings.
await page.getByRole('tab', { name: 'Settings' }).click();
await expect(tzSection).toBeVisible({ timeout: 15_000 }); await expect(tzSection).toBeVisible({ timeout: 15_000 });
const inputAfterReload = page.getByRole('combobox', { name: 'Household timezone' }); const inputAfterReload = page.getByRole('combobox', { name: 'Household timezone' });
await expect(inputAfterReload).toHaveValue('America/Chicago'); await expect(inputAfterReload).toHaveValue('America/Chicago');