Skip to content

Add wallet import + project scan and investment cancellation E2E tests#753

Open
dangershony wants to merge 2 commits intomainfrom
feature/wallet-import-and-cancellation-tests
Open

Add wallet import + project scan and investment cancellation E2E tests#753
dangershony wants to merge 2 commits intomainfrom
feature/wallet-import-and-cancellation-tests

Conversation

@dangershony
Copy link
Copy Markdown
Member

Summary

  • Add WalletImportAndProjectScanTest (Priority 3 from Add comprehensive test coverage analysis and improvement proposals #749): validates seed import UI flow, wallet identity determinism (same seed = same WalletId), balance preservation, and ScanFounderProjects discovery after device loss recovery.
  • Add InvestmentCancellationTest (Priority 4 from Add comprehensive test coverage analysis and improvement proposals #749): validates above-threshold pending investment cancellation via CancelInvestmentAsync, fund release back to investor, and successful re-investment after cancel — this path previously had zero E2E coverage.
  • Both tests follow the multi-profile WithProfileWindow pattern and include companion markdown documentation.

Test Results

All 9 integration tests pass (including the 2 new ones):

Test Duration
SmokeTest (2) <1s
CreateProjectTest 27s
SendToSelfTest ~29s
WalletImportAndProjectScanTest 33s
InvestmentCancellationTest ~50s
FundAndRecoverTest ~1m 22s
MultiFundClaimAndRecoverTest ~1m 56s
MultiInvestClaimAndRecoverTest ~2m 29s

New Files

  • src/design/App.Test.Integration/WalletImportAndProjectScanTest.cs (~658 lines)
  • src/design/App.Test.Integration/WalletImportAndProjectScanTest.md
  • src/design/App.Test.Integration/InvestmentCancellationTest.cs (~754 lines)
  • src/design/App.Test.Integration/InvestmentCancellationTest.md

Implement two new E2E integration tests based on PR #749 test coverage
analysis:

- WalletImportAndProjectScanTest: validates seed import UI flow, wallet
  identity determinism (same seed = same WalletId), balance preservation,
  and ScanFounderProjects discovery after device loss recovery.

- InvestmentCancellationTest: validates above-threshold pending investment
  cancellation, fund release back to investor, and successful re-investment
  after cancel (CancelInvestmentRequest had zero E2E coverage).

Both tests follow the multi-profile WithProfileWindow pattern and include
companion markdown documentation.
…cancel

AddToPortfolio does an optimistic local insert without WalletId or
TransactionId. CancelInvestmentAsync requires both fields. The test now
polls LoadInvestmentsFromSdkAsync to wait for the indexer to populate
those fields before attempting cancellation.
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.

1 participant