test(attendance): e2e coverage for check-in report + admin analytics - #1108
Draft
leahpeker wants to merge 4 commits into
Draft
test(attendance): e2e coverage for check-in report + admin analytics#1108leahpeker wants to merge 4 commits into
leahpeker wants to merge 4 commits into
Conversation
Adds Playwright specs for the host check-in report (kebab entry, breakdown, csv export) and the admin members tab (pause candidates, pause action), plus two e2e_seed scenarios (attendance-report, attendance-analytics) that create a host/admin with the right permissions, a past event with mixed attendance marks, and enable the gating flags. The analytics spec includes a documented probe for the events-tab dead-link bug (Issue 1106).
leahpeker
force-pushed
the
attendance-e2e
branch
from
July 23, 2026 12:54
26938bd to
73f884c
Compare
- ruff-format the RSVP create() call CI flagged via git diff --exit-code - retry _random_phone() on collision; two concurrent seed calls could generate the same 4-digit suffix, causing IntegrityError in CI - suffix seeded zoe/yara member names with a token so attendance-analytics tests don't hit strict-mode locator violations when prior seed calls leave same-named rows in the shared CI database
`li, article, div` matched every nested element containing the at-risk
member's name (the <li>, its <article>, and any wrapping <div>s), causing
a strict-mode violation. getByRole('listitem') matches exactly the row.
'check-in' substring-matched both the 'check-in' and 'check-in report' menuitems, causing a strict-mode violation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
E2E (Playwright) coverage for the shipped attendance-analytics features (epic #1091, PRs #1098 / #1101 / #1100). Adds seed scenarios and browser specs, and surfaces two bugs found in the process.
What's included
Seed scenarios (
backend/community/management/commands/e2e_seed.py):attendance-report— a host (MANAGE_EVENTS) + a past event with one attended / one no-show / one canceled RSVP, withhost_attendance_reportenabled.attendance-analytics— an admin (MANAGE_EVENTS + MANAGE_USERS), a compliant member (recent official attendance) and an at-risk member (400-day-stale club attendance), withadmin_attendance_analyticsenabled.Specs:
frontend/e2e/attendance-report.spec.ts— host opens the check-in report from the kebab menu, sees the attended/no-show/canceled breakdown, and downloads a CSV.frontend/e2e/attendance-analytics.spec.ts— admin switches to the members tab, sees pause candidates ranked first, filters "at risk", and pauses a member. Also a documented probe for the events-tab dead-link bug (Attendance: events-tab rows dead-link to /calendar when host_attendance_report flag is off #1106).Verified locally
ruff,eslint,prettier, and the e2etsctypecheck pass on all touched files.pnpm test:e2e.Bugs found (filed separately)
/calendarwhenhost_attendance_reportis off (cross-flag navigation). The analytics spec documents current behavior; flip its assertion when fixed.Scope note
PR #1099 (host check-in nudge) was not yet merged when these tests were written; it's cron-only (no browser surface) and isn't covered here.