areibman / areibman/repatch

Establish end-to-end testing coverage with offline-friendly API fallbacks

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
3
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Summary
Stand up an automated end-to-end (E2E) test suite that validates critical user journeys and API behaviors, even when third-party services are unavailable.

## Acceptance Criteria
1. Confirm Playwright is the adopted framework, document the rationale, and provide an onboarding guide for contributors.
2. Configure Playwright in the repository with CI scripts that run headless browser tests against a seeded Supabase/Next.js instance.
3. Author high-value smoke tests that exercise patch note creation, integration configuration, email sending, and publishing flows, ensuring they pass in CI.
4. Introduce API-level contract tests that can run offline by mocking third-party dependencies (Typefully, Customer.io, GitHub) or by using recorded fixtures.
5. Document strategies for toggling between live-integration tests and offline mocks, including environment variables and CI defaults.
6. Ensure failures produce actionable diagnostics (screenshots, videos, or trace logs) and wire artifacts into the CI system.
7. Gate merging on the Playwright suite so regressions block completion of related feature issues.

## Notes
- Reference framework documentation when comparing options (e.g., https://docs.cypress.io/ and https://playwright.dev/docs/intro).
- Default recommendation: adopt Playwright unless discovery surfaces blocking gaps—it ships with built-in test runner, rich trace tooling, and first-class API mocking that plays well with the offline contract tests, while still allowing migration of any Cypress patterns if desired.
- Favor a structure that keeps offline-compatible API mocks reusable across integration tests.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the repository's existing Next.js, Supabase, and CI setup, then compare the referenced Cypress and Playwright documentation. Define the Playwright configuration, seeded test environment, reusable offline mocks or fixtures, and CI artifact handling. Done means the documented smoke and contract tests run offline in CI, produce diagnostics on failure, and gate merges.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, nextjs, playwright, supabase, typescript
Domain
api, backend, ci-cd, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.