Golfmate · End-to-end tests
Customer review report
78 tests
✓ 52 passed
✗ 24 failed
2 skipped
2026-05-03T07:10:39.035Z
Need the raw Playwright report (traces, videos, DOM snapshots)? Open it here →
specs/auth.spec.ts
Unauthenticated visitor is redirected from home to login
Passed
01-login-screenUser signs in with valid credentials and lands on home
Passed
01-login-empty
02-login-filled
03-post-signin-homeInvalid credentials show an error and keep the user on login
Passed
01-invalid-credentials-errorShort password fails client-side validation
Passed
01-short-password-errorSign-up mode toggle swaps the primary action copy
Passed
01-signin-mode
02-signup-modeForgot password? link is visible on sign-in screen only
Passed
01-forgot-link-visible
02-forgot-link-hidden-in-signupForgot password flow: empty email shows validation error
Passed
01-forgot-empty-email-errorForgot password flow: valid email shows confirmation banner
Passed
01-forgot-email-filled
02-forgot-sent-confirmationForgot password flow: back link returns to sign-in mode
Passed
01-back-to-signin/reset-password without a recovery session shows expired-link message
Failed
screenshotSigned-in user can sign out and is redirected to login
Passed
01-profile-with-signout
02-after-signoutspecs/connections-approve.spec.ts
Cara can accept Alice's pending request
Failed
screenshot
screenshot
screenshotspecs/connections-invite.spec.ts
rejects an invalid email format
Failed
screenshotrejects self-invite
Failed
screenshotspecs/connections.spec.ts
Alice sees Bob under 'My connections' and Cara under 'Discover'
Failed
screenshotSending a connect request flips the button to 'Pending'
Failed
screenshotInvite-by-email triggers an edge-function call and surfaces a result
Failed
screenshotspecs/create-match.spec.ts
Alice hosts an open match with an area and lands on the detail view
Passed
01-type-selected
02-format-selected
03-when-defaults
04-where-area
05-who-defaults
06-booking-not-yet
06-match-publishedBack button returns to the previous step
Passed
01-back-to-step-1specs/deep-link.spec.ts
cold-loading /match/<id> renders the match detail, not home
SkippedNo screenshots attached.
/signup redirects to /login mode toggle (no 404)
PassedNo screenshots attached.
cold-loading /match/<id> bounces an anon user to /login
PassedNo screenshots attached.
cold-loading /signup lands on the login form (no 404)
PassedNo screenshots attached.
specs/explore.spec.ts
Alice opens Explore and sees the open-matches/courses count
Failed
screenshotNear-me toggle without geolocation surfaces an alert and stays off
Failed
screenshotspecs/feedback.spec.ts
Alice submits feedback and sees the thanks card
Passed
01-feedback-thanksrejects body shorter than 5 characters
Passed
01-feedback-too-shortspecs/home-filters.spec.ts
opening the sheet, picking 2-ball, and applying filters the feed
Passed
01-sheet-open
02-appliedReset clears all filters and the badge disappears
Passed
01-resetspecs/home-private-tile.spec.ts
Bob's joined private match shows the JOINED pill
Failed
screenshotspecs/home.spec.ts
Alice sees a personalised greeting and the seeded open match
Passed
01-home-greetingHost FAB navigates to the Create wizard
Passed
01-create-wizard-step-1Search shortcut navigates to the Search screen
Passed
01-search-screenFilters sheet opens from the home filter button
Passed
01-filters-sheet-openClicking the seeded match card opens match detail
Failed
screenshotspecs/match-detail.spec.ts
Alice sees 'Waiting for N more players' on her own open match
Failed
screenshotBob sees a 'Request to join' CTA on Alice's open match
Failed
screenshotClicking the CTA flips it to 'Request sent'
Failed
screenshotCara sees a disabled CTA explaining she's not eligible
Failed
screenshotspecs/match-invite-accept.spec.ts
Accept invite flips the row and replaces the CTA with 'Leave match'
Failed
screenshotspecs/notifications.spec.ts
Sam sees no bell-dot and an empty notifications screen
Passed
01-no-bell-dot
02-empty-statebell shows the dot, list shows the request
Failed
screenshotspecs/personas/onboarding.spec.ts
walks through welcome → handicap → region → friends → home
Passed
01-welcome
02-handicap
03-region
04-friends
05-homespecs/personas/persona-feed.spec.ts
hattie lands on home
Passed
01-hattie-home
01-pat-home
01-pari-homeaisha lands on home
Passed
01-aisha-home
01-vic-homefiona lands on home
Passed
01-fiona-home
01-sam-homespecs/personas/score-approval.spec.ts
Vic approves the submitted Walton Heath scorecard
Failed
01-vic-home
screenshotspecs/privacy.spec.ts
Privacy Policy link is visible on the login screen
Passed
01-privacy-link-on-loginClicking Privacy Policy link navigates to the policy page
Failed
screenshot/privacy is accessible directly without authentication
Passed
01-privacy-directPrivacy page content covers required GDPR sections
Failed
screenshotspecs/profile-age-homeclub.spec.ts
Alice can save age + home club and they show on her profile
Passed
01-profile-age-homeclub-renderedinvalid age stays in the form with a visible error
Passed
01-invalid-agespecs/profile-avatar.spec.ts
renders initials when no third-party photo resolves
Passed
01-alice-avatar-initialsspecs/profile.spec.ts
Alice's own profile shows her stats and a Sign out button
Passed
01-own-profileOpening another player's profile surfaces a Connect action
Passed
01-cara-profileExisting connection shows a Remove button
Passed
01-bob-profile-connectedDelete account button is visible and shows a confirmation dialog
Passed
01-delete-account-button
02-delete-account-dialogConnections count is visible on own and peer profiles
Passed
01-own-connections-count
02-bob-connections-countTapping a recent match row opens the match detail screen
Failed
01-profile-with-recent-matches
screenshotspecs/ranks.spec.ts
Alice sees her YOU marker and a current rank
Passed
01-ranks-overallSwitching the sort metric reshuffles the rows
Passed
01-sort-default
02-sort-hcp
03-sort-roundsTapping another player opens their profile modal
Passed
01-bob-profile-from-ranksspecs/rls-scores-and-matches.spec.ts
non-participant cannot rewrite a score row via UPDATE
PassedNo screenshots attached.
non-participant cannot rewrite a score via upsert ON CONFLICT
PassedNo screenshots attached.
joined non-host cannot rewrite host_id (match takeover)
PassedNo screenshots attached.
non-participant cannot complete a match via the RPC
PassedNo screenshots attached.
specs/scorecard-readonly.spec.ts
Scorecard for a completed match shows scores but no stepper controls
Failed
screenshotPar stepper is hidden on a completed match scorecard
Failed
screenshotspecs/scoring-validation.spec.ts
Alice enters strokes for both players across 9 holes
Failed
screenshotBoth players approve — the match flips to 'Completed'
SkippedNo screenshots attached.
specs/search.spec.ts
Text query filters the feed in real time
Passed
01-query-sunningdale
02-empty-stateFormat chip filters by match format
Passed
01-filter-2-ball-excludes-ganton
02-filter-4-ballDisabling 'Open matches only' reveals private matches Alice is in
Passed
01-open-only-off