Repository navigation
Fix broken invoiceStatus module, add payment/invoice tests and e2e coverage - #966
Merged
Kingsman-99 merged 3 commits intoOct 20, 2026
Conversation
… unit tests invoiceStatus.ts imported areMilestoneConditionsSatisfied/getInvoiceMilestones from invoiceMilestones.ts (neither exists there) and getActiveDispute from a non-existent invoiceDisputes.ts module, making the file unresolvable. Wired getReleaseCheck to the real invoiceMilestones (getMilestones/canReleaseMilestone) and arbitrators (getDisputesByInvoice/isDisputeActive) APIs, and added unit tests covering status transitions and release gating for milestones and disputes.
usePaymentSubmission drives the core payment-processing path (rate-lock validation, transaction simulation, confirm/cancel, and post-payment side effects) and had zero test coverage. Added tests covering rate lock expiry gating, simulation success/failure, and state reset.
…k navigation Playwright e2e already covers create/pay invoice, dashboard, verify and landing flows. CreateInvoicePage exposed a clickBack() helper that no spec exercised, leaving the wizard's back-navigation data-retention behavior (a real part of the critical create-invoice flow) untested. Added a test that fills step 1, advances, goes back, and asserts the entered recipient/amount are preserved.
|
@lawrencesunday311-sketch is attempting to deploy a commit to the kingsman-99's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@lawrencesunday311-sketch 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
src/lib/invoiceStatus.tsimported functions (areMilestoneConditionsSatisfied,getInvoiceMilestones) that don't exist ininvoiceMilestones.ts, and imported from a non-existent./invoiceDisputes" module — the file was unresolvable. RewiredgetReleaseCheckto the realinvoiceMilestones(getMilestones/canReleaseMilestone) andarbitrators(getDisputesByInvoice/isDisputeActive`) APIs, and added unit tests for the status transition state machine and release gating (milestones + disputes).usePaymentSubmission, the hook driving the core payment-processing path (rate-lock expiry gating, transaction simulation success/failure, state reset). It had zero prior coverage.clickBack()page-object helper was unused by any spec).Test plan
npm test(vitest) — new specs:src/lib/invoiceStatus.test.ts,src/hooks/__tests__/usePaymentSubmission.test.tsnpm run test:e2e— new spec ine2e/create-invoice.spec.tsCloses #903
Closes #902
Closes #901
Closes #900