Skip to content

test(regression): prove owners' live events show publicly (#347 traces) - #381

Merged
elliotBraem merged 2 commits into
mainfrom
test/owner-pathway-traces
Oct 16, 2026
Merged

elliotBraem merged 2 commits into
mainfrom
test/owner-pathway-traces

Conversation

@adenarc

@adenarc adenarc commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #347: the "Done when" line asking for a passing Playwright trace for each owner pathway.

Three of the four pathways already had a spec on main that proves them end to end, so this PR doesn't add duplicates. The one gap was events showing publicly. owner-event-visibility.spec.ts checked the owner's Events tab badges and that a visitor could open a live event's page. It never checked the public community page or Explore's list. This PR extends that spec rather than adding a new one.

What changed

owner-event-visibility.spec.ts, first test, after the owner fixes their events:

  • Seeds one more Luma import that's still hidden, dated earlier than every live event so the 3-event cap can't hide a leak.
  • Signs the browser out (clears cookies on the traced page, so the trace shows the visitor steps too) and checks two pages:
    • /n/<slug>, the public community page.
    • /explore?node=<id>, Explore's community sheet.
  • On both pages the published event and the approved import are listed. The draft, the still-hidden import, the scheduled, cancelled and removed events are not.

No app code changes, so no changeset.

Pathways

All run on the start:ssr stack (deployment image + bun run test:db:up test databases), trace: "on", at ea8c913: 11 passed (1.6m).

Pathway Spec Test Result
Events showing publicly (#339) owner-event-visibility.spec.ts (extended here) an owner sees whether visitors can see each event, fixes it, and visitors see only live ones ✅
Overview counts only live events and opens the new-event form ✅
Map status on Overview (#341) community-map-status.spec.ts (unchanged) Overview says why a community is not on the map, and only managers get the fix ✅
Starting a station from an event (#345, #333) event-station.spec.ts (unchanged) an owner reaches the same live station from Overview and the Events tab ✅
a platform admin who isn't a member sees the event without its onboarding button ✅
an organizer of another organization gets no Events-tab menu for this community ✅
organizer-stations.spec.ts (unchanged) an events-team member starts a station from Organization → Onboard ✅
an events-team member with the team active starts one from My community ✅
an owner starts a station from Organization → Onboard ✅
a member without the events area can't manage events or start a station ✅
Admin monthly join count (#338) admin-joins.spec.ts (unchanged) shows people who redeemed a code and new members per community ✅

The join pathway is already covered by onboarding.spec.ts / onboarding-join.spec.ts, so I didn't rerun it here.

Why the unchanged specs are enough:

  • Map: walks Overview through suspended, hidden, no pin and on the map. It checks the reason and the fix action for each, and that a plain member gets no fix.
  • Station: the first click starts a station and the second reopens the same one. The Events tab reuses it, and the button is hidden for a non-member admin and for another org's organizer.
  • Admin count: asserts this month's and last month's redemptions and new members on the community's row.

How to run

bun run test:db:up
REGRESSION_MODE=start:ssr bunx playwright test -c tests/regression/browser/playwright.config.mjs --project=start:ssr specs/owner-event-visibility.spec.ts specs/community-map-status.spec.ts specs/event-station.spec.ts specs/organizer-stations.spec.ts specs/admin-joins.spec.ts

On a cold Docker cache the image build can outlast Playwright's 120s web-server timeout. Boot bun tests/regression/lib/start-container.mjs ssr once to warm it, stop it, then run the command again. biome check is clean on the changed file. Trace zips are kept locally, not committed. Captures from the trace viewer are below.

Events tab: owner sees each event's visibility state

Public community page: only live events listed

Explore community sheet: same live events, no drafts or hidden imports

Overview map status: suspended community, reason plus fix

Overview: owner's Open station button on the event

Non-member platform admin: no station button

Admin: redeemed and new members per community, this and last month

…ity page and Explore

Extends the owner event visibility spec so a signed-out visitor checks the community page and Explore's community sheet: published and approved-import events are listed, while drafts, a still-hidden import, scheduled, cancelled and removed events are not. The visitor steps now run on the traced page, so the Playwright trace shows them.
@elliotBraem
elliotBraem merged commit d13c2b5 into main Oct 16, 2026
1 check passed
@elliotBraem
elliotBraem deleted the test/owner-pathway-traces branch October 16, 2026 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants