Skip to content

[Gap-Audit] tests/e2e/payment/: 84 test.skip — index by blocker #53

@TortoiseWolfe

Description

@TortoiseWolfe

Summary

tests/e2e/payment/ contains 84 test.skip(true, '<reason>') calls across 7 spec files. They're not "stubs to un-skip" — each names a missing feature. This issue is the index. As the underlying features ship, the relevant skips get removed; this issue tracks completion.

(Note: this is separate from #44, which was about RLS test verification in tests/rls/. The issue title there said "25 E2E test stubs" but the issue's pinned comment corrected the framing — RLS tests are now at 55/55.)

Skip distribution by blocker

Blocker Skips Existing issue Files
/payment/dashboard route missing 4 #3 01-stripe-onetime.spec.ts, 06-realtime-dashboard.spec.ts:80,123,128,133, 07-performance.spec.ts:22,29
/payment/subscriptions route missing 6 #5 02-paypal-subscription.spec.ts:81,88,93, 03-failed-payment-retry.spec.ts:84, 06-realtime-dashboard.spec.ts:95
/payment/history route missing 3 #4 05-offline-queue.spec.ts:110, 07-performance.spec.ts:36
/payment/result page + retry surface 5 #43 03-failed-payment-retry.spec.ts:47,76,84,105,113
Offline-queue UI affordances (status indicator, sync pill, retry button, max-retry, clear, overflow) 9 #4 01-stripe-onetime.spec.ts:144, 05-offline-queue.spec.ts (whole file)
Realtime dashboard sub-components (transaction counter, batch UI, error toasts, charts, reconnect UI) 9 needs spec 06-realtime-dashboard.spec.ts:102,107,115,123,128,133
PayPal grace period + duplicate prevention 3 #5 02-paypal-subscription.spec.ts:98,103
Stripe live keys / webhook reality ~4 #3 / sandbox setup 02-paypal-subscription.spec.ts:45, 06-realtime-dashboard.spec.ts:80,88, 07-performance.spec.ts:15,108
Consent reset feature 1 needs spec 04-gdpr-consent.spec.ts:230
Performance test infrastructure ("FPS testing not reliable", "use k6") 2 out of scope for E2E 07-performance.spec.ts:103,15
Subscription cancellation flow 1 #5 02-paypal-subscription.spec.ts:88

Plan

This is not an issue to "fix all at once." It's an index. As each linked issue ships:

  1. Open a PR for the route/feature (e.g., /payment/result).
  2. In the same PR, find each test.skip whose reason references that route/feature.
  3. Convert it to a real test that exercises the new feature (or remove it if the skip-reason was wrong).
  4. Update the row in this issue's checklist.
  5. When all rows for a linked issue are checked, that issue closes.
  6. When all rows in the table are checked, this issue closes.

Checklist

Out of scope

Reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggap-auditIdentified during 2026-04-25 planned-vs-shipped auditpriority:p2Medium — schedule (feature gaps, partial implementations)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions