Repository navigation
Add coverage enforcement, visual regression, mobile E2E, and payment lifecycle integration tests - #488
Merged
Conversation
… all backe Closes Viky207#385
…on testing Closes Viky207#386
… payment j Closes Viky207#387
…ayment lin Closes Viky207#388
|
@agbochenuv-bit Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
Summary
Add coverage enforcement, visual regression, mobile E2E, and payment lifecycle integration tests
What was solved
#385 — test(backend): Achieve 80% unit test coverage across all backend modules
Add an enforced 80% statement coverage threshold to the NestJS backend's Jest unit test configuration and ensure CI uploads the HTML coverage report as an artifact, while identifying the lowest-coverage modules (payments, usernames, links, auth) for prioritised new tests.
Addressed:
#386 — test(frontend): Implement Playwright visual regression testing for all dashboard pages
Add Playwright visual regression testing for the main dashboard pages: configure screenshot tolerance in playwright.config.ts, add visual test specs under app/frontend/visual/ covering dashboard empty/populated, payment link wizard, username claim, and payment landing pages in light and dark modes, and wire a CI step in .github/workflows/frontend-ci.yml that runs against a mocked API and uploads diff artifacts.
Addressed:
#387 — test(mobile): Set up Maestro E2E flow tests for core payment journeys on Android and iOS
Add Maestro E2E flow tests for the three core mobile payment journeys (username claim, payment link creation, transaction viewing), plus local setup docs and CI wiring to run flows on the Android emulator in mobile-release.yml.
Addressed:
#388 — test(backend): Integration test suite for the full payment link lifecycle
Add an integration test suite covering the full payment link lifecycle (claim username → create link → simulate Horizon testnet payment → verify dashboard/earnings → delete username) plus a dedicated CI job in the backend workflow to run it against testnet with a seeded test account.
Addressed:
Changes
app/backend/jest.unit.config.ts(modify)app/backend/jest.config.ts(modify)app/frontend/playwright.config.ts(modify).github/workflows/mobile-release.yml(modify)app/backend/test/integration/payment-lifecycle.int.spec.ts(create).github/workflows/backend.yml(modify)app/frontend/package.json(modify)app/mobile/.maestro/flows/claim-username.yaml(create)app/backend/jest.int.config.ts(modify).github/workflows/ci.yml(modify).github/workflows/frontend-ci.yml(modify)app/mobile/.maestro/flows/create-payment-link.yaml(create)Approach
Issues
Closes #385
Closes #386
Closes #387
Closes #388