Skip to content

E2E tests: marketplace invest, verify, and settle (mocked externals) #18

@Jayrodri088

Description

@Jayrodri088

Context

Regressions in invoice → marketplace → invest → verify → settle are expensive. An automated E2E API test (Supertest) with mocked Stellar, IPFS, and email proves the core product path stays intact as features land.

Complexity & points

High — 200 points

Prerequisites (must be merged or satisfied first)

Unblocks (downstream)

  • Safe refactors across invoice, marketplace, Stellar, and settlement code with CI signal.

Goals

  • One (or a small suite of) E2E test file(s) under tests/e2e/ that:
    • Bootstraps the app with test DB or sqlite if project standard allows—prefer PostgreSQL test container or documented local test DB consistent with TypeORM.
    • Mocks external IO: Stellar Horizon, Pinata/IPFS.
    • Flow: register/auth user(s) → seller creates + publishes invoice → investor lists marketplace → invests → verification marks confirmed → settlement completes.
  • CI: npm test runs E2E in CI or a documented npm run test:e2e gated by env (README update).

Out of scope

  • Browser/UI tests.
  • Mainnet transactions.

Contributor workflow

  • Apply on Drips before opening a PR: Claim this issue through the Drips platform before you open a pull request. Unsolicited PRs from unassigned contributors may be closed without review.
  • ETA required: Your application must include an ETA for when you will open the first draft PR.
  • Draft PR within 24 hours: If a draft PR is not linked on this issue within 24 hours of assignment, maintainers may unassign you so someone else can take the issue.

Acceptance criteria

  • E2E passes locally with documented one-time setup.
  • No real secrets required for CI mocks.
  • Failure messages point to which step of the flow broke.

PR submission requirements

  • CI: All GitHub Actions workflow runs for this PR must pass (green) before merge; failing checks block merge.
  • PR description must include: Closes #18 (adjust if needed).
  • If prerequisites are not all on main, state base branch and merge plan.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programfeatureNew capabilityhardLarge scope / complex

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions