Skip to content

test: Add E2E tests for complete position lifecycle #61

Description

@YaronZaki

Problem Statement

No Playwright, Cypress, or any E2E testing framework exists in the repository. The complete position lifecycle (create → deposit → monitor → close) is never verified end-to-end. Integration bugs between frontend, API, and blockchain go undetected until production.

Evidence

No E2E test files exist anywhere in the repository. No Playwright or Cypress configuration. No E2E step in CI workflows.

Impact

High — untested user flows. Position creation, deposit, monitoring, and closure are individual features that only work when all layers (Freighter → Frontend → API → Database → Soroban → Horizon) integrate correctly. Integration bugs between these layers are caught only in manual testing or production.

Proposed Solution

Add Playwright E2E tests covering: (1) connect Freighter wallet, (2) create a position, (3) monitor position on dashboard, (4) add extra deposit, (5) close position. Run against a Stellar testnet deployment.

Acceptance Criteria

  • Playwright configured and integrated into the project
  • E2E test for complete position lifecycle: create → monitor → close
  • E2E test for extra deposit flow
  • E2E test for error states (insufficient balance, failed transaction)
  • E2E step added to CI workflow (frontend_tests.yml)
  • Tests run against Stellar testnet

File Map

  • quantara/frontend/test/e2e/New: E2E test suite
  • quantara/frontend/playwright.config.jsNew: Playwright configuration
  • .github/workflows/frontend_tests.yml — add E2E step

Testing Strategy

Tests themselves are the deliverable. Use Playwright for modern web app testing. Start with smoke tests, then add detailed scenarios.

Security Considerations

E2E tests against testnet only — never use real funds. Use dedicated test accounts.

Definition of Done

  • Code implemented and peer-reviewed
  • Tests written and passing (E2E suite)
  • Documentation updated
  • PR linked and merged

Labels: testing, high-impact
Priority: High
Difficulty: Advanced
Estimated Effort: 1w

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions