Phase 17: UI Optimization & Polish #24

Merged
luckberg merged 61 commits from gsd/phase-17-ui-optimization-polish into main 2026-06-18 16:24:54 -04:00
Showing only changes of commit a923c923c9 - Show all commits
+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');
await page.goto('/admin');
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)
const tzSection = page.getByRole('region', { name: 'Timezone' });
await expect(tzSection).toBeVisible({ timeout: 15_000 });
@@ -98,6 +102,8 @@ test.describe('Admin Timezone section — 18-04 round-trip', () => {
// Reload and verify persistence
await page.reload();
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 });
const inputAfterReload = page.getByRole('combobox', { name: 'Household timezone' });
await expect(inputAfterReload).toHaveValue('America/Chicago');