2.3 KiB
2.3 KiB
| status | phase | source | started | updated | |
|---|---|---|---|---|---|
| passed | 04-tickets-restyle |
|
2026-05-03T00:00:00Z | 2026-05-03T00:00:00Z |
Current Test
[all tests passed]
Tests
1. Filter strip default-collapsed and expand/collapse
expected: |
Open /mobile/tickets on iPhone 15 Pro emulation (393×852).
- On load: filter strip is collapsed (only "Filters" toggle and search visible)
- Tap "Filters" → strip expands smoothly revealing status chips, priority chips, queue Select, and "Assigned to me" Switch
- Tap "Filters" again → collapses result: passed
2. URL deep-link hydration
expected: |
- Navigate to
/mobile/tickets?priority=2&mine=1directly - Filters hydrate: "High" priority chip selected, "Assigned to me" toggled on
- Adjust a filter — URL updates via router.replace (no new history entry)
- Browser back exits the page rather than reverting the filter mutation result: passed
3. IntersectionObserver infinite scroll
expected: |
- Load page, scroll to bottom of first ~25 rows
- Next page (~25 more) auto-loads when last row is ~200px from viewport
- No double-fetch when scrolling fast
- When
nextCursoris null, no further fetches occur result: passed
4. Load more fallback button (accessibility)
expected: |
- Tab key reaches the "Load more" button below the sentinel
- Press Enter or Space triggers the next page fetch
- Button hides when
hasMoreis false result: passed
5. Priority stripe colors render correctly
expected: |
- Critical (priority=1) row has a red left border (
border-red-500) - High (priority=2) → orange left border
- Medium (priority=3) → amber left border
- Low (priority=4) → slate left border
- Confirms Tailwind didn't purge dynamic priority classes result: passed
6. Detail page header layout
expected: |
- Tap a ticket row → navigate to
/mobile/tickets/[id] - Shell HeaderBar (Wulf mark + bell + avatar) renders at top
- Below it: new in-page header with back chevron + "Tickets" + breadcrumb "Tickets / #{number}" + external-link icon
- Tapping back chevron returns to list (preserving filter URL state)
- Tapping external-link icon opens desktop ticket page in new tab
- No double-border or visual overlap between the two header levels result: passed
Summary
total: 6 passed: 6 issues: 0 pending: 0 skipped: 0 blocked: 0