fix: update E2E tests to match dashboard port selectors #82

Merged
forgejo_admin merged 1 commit from 69-fix-e2e-home-selectors into main 2026-03-27 22:04:26 +00:00

Summary

Updates E2E tests in home.spec.ts and public-readiness.spec.ts to match the new DOM structure introduced by the dashboard port (PR #76). All 7 broken selectors are fixed and the removed Board Progress test is deleted.

Changes

  • e2e/home.spec.ts -- 7 selector/assertion updates:
    • .greeting -> .home-title (beforeEach wait + greeting test)
    • getByRole('heading', { level: 2 }) -> .sidebar-label with hasText (section labels are now divs, not h2s)
    • "Recently Updated" -> "Recently Modified"
    • .project-list -> .project-grid
    • Nav links updated: removed Tags/Repos (sidebar-only now), added Graph
    • Search placeholder Search... (/ or Cmd+K) -> Search... (/)
    • Removed board progress section test (section no longer exists)
  • e2e/public-readiness.spec.ts -- 4 selector updates:
    • .badge-private -> [aria-label="Private note"] (lock SVG icons replaced text badges)
    • .project-list .project-name a -> .project-grid .project-card
    • Removed board-progress-name test (Board Progress section removed)

Test Plan

  • npm run build passes cleanly
  • E2E tests pass in CI against the live API (selectors now match actual DOM)
  • No remaining references to old selectors: .greeting, .project-list, .board-bar, .board-progress-name, .badge-private

Review Checklist

  • Passed automated review-fix loop
  • No secrets committed
  • No unnecessary file changes
  • Commit messages are descriptive
  • Closes #69
  • pal-e-app -- the project this work belongs to
  • QA blocker from PR #76 (dashboard port)
## Summary Updates E2E tests in `home.spec.ts` and `public-readiness.spec.ts` to match the new DOM structure introduced by the dashboard port (PR #76). All 7 broken selectors are fixed and the removed Board Progress test is deleted. ## Changes - `e2e/home.spec.ts` -- 7 selector/assertion updates: - `.greeting` -> `.home-title` (beforeEach wait + greeting test) - `getByRole('heading', { level: 2 })` -> `.sidebar-label` with `hasText` (section labels are now divs, not h2s) - "Recently Updated" -> "Recently Modified" - `.project-list` -> `.project-grid` - Nav links updated: removed Tags/Repos (sidebar-only now), added Graph - Search placeholder `Search... (/ or Cmd+K)` -> `Search... (/)` - Removed `board progress section` test (section no longer exists) - `e2e/public-readiness.spec.ts` -- 4 selector updates: - `.badge-private` -> `[aria-label="Private note"]` (lock SVG icons replaced text badges) - `.project-list .project-name a` -> `.project-grid .project-card` - Removed `board-progress-name` test (Board Progress section removed) ## Test Plan - [x] `npm run build` passes cleanly - [ ] E2E tests pass in CI against the live API (selectors now match actual DOM) - [x] No remaining references to old selectors: `.greeting`, `.project-list`, `.board-bar`, `.board-progress-name`, `.badge-private` ## Review Checklist - [x] Passed automated review-fix loop - [x] No secrets committed - [x] No unnecessary file changes - [x] Commit messages are descriptive ## Related Notes - Closes #69 - `pal-e-app` -- the project this work belongs to - QA blocker from PR #76 (dashboard port)
fix: update E2E tests to match dashboard port selectors
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed
a723f8a861
The dashboard port (PR #76) changed the home page structure:
- .greeting -> .home-title with static text
- h2 section headings -> div.sidebar-label
- "Recently Updated" -> "Recently Modified"
- .project-list -> .project-grid with .project-card
- Board Progress section removed entirely
- .badge-private -> SVG lock icons with aria-label
- Nav links: Tags/Repos moved to sidebar only, Graph added
- Search placeholder simplified to "Search... (/)"

Fixes QA blocker on #69.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Author
Owner

QA Review

Selector Accuracy

Verified every test selector against the current source on main:

Test selector Source match File
.home-title <h1 class="home-title"> +page.svelte:79
.content--home .sidebar-label hasText "Recently Modified" <div class="sidebar-label">Recently Modified</div> +page.svelte:83
.content--home .sidebar-label hasText "Projects" <div class="sidebar-label">Projects</div> +page.svelte:110
.content--home .sidebar-label hasText "In Progress" <div class="sidebar-label">In Progress</div> +page.svelte:135
.content--home .note-list <div class="note-list"> +page.svelte:85,137
.project-grid <div class="project-grid"> +page.svelte:112
.project-grid .project-card <a ... class="project-card"> +page.svelte:114
[aria-label="Private note"] aria-label="Private note" notes/+page.svelte:152,200
Nav: Dashboard, Projects, Notes, Boards, Graph +layout.svelte:116-120 Confirmed
Search... (/) placeholder="Search... (/)" +layout.svelte:133

Stale selector scan

Grep across all e2e/ files for old selectors (.greeting, .project-list, .board-bar, .board-progress, .badge-private, Recently Updated, Search... (/ or) returns zero matches.

Removed tests

  • board progress section is rendered with progress bars -- correctly removed, Board Progress section no longer exists in the dashboard
  • home page does not show "Private Board" in board progress -- correctly removed for same reason

Nits

None. The changes are minimal and accurate.

VERDICT: APPROVED

## QA Review ### Selector Accuracy Verified every test selector against the current source on `main`: | Test selector | Source match | File | |---|---|---| | `.home-title` | `<h1 class="home-title">` | `+page.svelte:79` | | `.content--home .sidebar-label` hasText "Recently Modified" | `<div class="sidebar-label">Recently Modified</div>` | `+page.svelte:83` | | `.content--home .sidebar-label` hasText "Projects" | `<div class="sidebar-label">Projects</div>` | `+page.svelte:110` | | `.content--home .sidebar-label` hasText "In Progress" | `<div class="sidebar-label">In Progress</div>` | `+page.svelte:135` | | `.content--home .note-list` | `<div class="note-list">` | `+page.svelte:85,137` | | `.project-grid` | `<div class="project-grid">` | `+page.svelte:112` | | `.project-grid .project-card` | `<a ... class="project-card">` | `+page.svelte:114` | | `[aria-label="Private note"]` | `aria-label="Private note"` | `notes/+page.svelte:152,200` | | Nav: Dashboard, Projects, Notes, Boards, Graph | `+layout.svelte:116-120` | Confirmed | | `Search... (/)` | `placeholder="Search... (/)"` | `+layout.svelte:133` | ### Stale selector scan Grep across all `e2e/` files for old selectors (`.greeting`, `.project-list`, `.board-bar`, `.board-progress`, `.badge-private`, `Recently Updated`, `Search... (/ or`) returns zero matches. ### Removed tests - `board progress section is rendered with progress bars` -- correctly removed, Board Progress section no longer exists in the dashboard - `home page does not show "Private Board" in board progress` -- correctly removed for same reason ### Nits None. The changes are minimal and accurate. **VERDICT: APPROVED**
forgejo_admin deleted branch 69-fix-e2e-home-selectors 2026-03-27 22:04:26 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/pal-e-docs-app!82
No description provided.