Skip to content

test(stream-creation): add submission and validation tests for TopUpModal and CancelConfirmModal #1285 - #1356

Merged
K1NGD4VID merged 1 commit into
LabsCrypt:mainfrom
abimbolaalabi:fix/issue-1285-modal-tests
Aug 30, 2026
Merged

test(stream-creation): add submission and validation tests for TopUpModal and CancelConfirmModal #1285#1356
K1NGD4VID merged 1 commit into
LabsCrypt:mainfrom
abimbolaalabi:fix/issue-1285-modal-tests

Conversation

@abimbolaalabi

Copy link
Copy Markdown
Contributor

Overview

This PR closes the coverage gap identified in the second-wave repo audit (issue 83/100): TopUpModal and CancelConfirmModal had no tests covering their submission and validation logic. Both are frequently-used fund-moving/destructive flows, so this adds component tests for amount-precision validation, submit-error handling, and the modal-close-while-submitting guard.

Related Issue

Closes #1285

Changes

TopUpModal

  • [ADD] frontend/src/components/stream-creation/__tests__/TopUpModal.test.tsx
    • Valid/invalid amount validation: empty, zero, and the 7-decimal precision guard
    • Successful submission calls onConfirm(streamId, amount) and shows a success toast
    • Rejected submission shows toast.error and re-enables the form
    • Close-while-submitting guard blocks the close button, Cancel, backdrop click, and Escape

CancelConfirmModal

  • [ADD] frontend/src/components/stream-creation/__tests__/CancelConfirmModal.test.tsx
    • Successful cancellation shows a success toast
    • Rejected submission shows toast.error and re-enables the confirm button
    • Close-while-submitting guard blocks the close button, Keep Stream, backdrop click, and Escape

Verification Results

vitest run TopUpModal.test.tsx CancelConfirmModal.test.tsx
✅ 11/11 passed

Full frontend suite: 243 passed / 244
✅ The single failure is a pre-existing flaky 5000ms timeout in
   create-stream-recipient-prefill.test.tsx (passes standalone; unrelated to this change)

eslint TopUpModal.test.tsx CancelConfirmModal.test.tsx
✅ no errors
Acceptance Criteria Status
Valid/invalid amount input covered
Rejected submission showing toast.error
Attempted close while isSubmitting blocked

@K1NGD4VID
K1NGD4VID merged commit 89c1800 into LabsCrypt:main Aug 30, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Audit] No tests exist for TopUpModal/CancelConfirmModal submission and validation logic

2 participants