Marketplace: complete E2E feature checklist + 1-1 test coverage for every UX flow #42

Closed
opened 2026-03-26 13:29:20 +00:00 by mik-tf · 1 comment
Member

Goal

Create a comprehensive docs/e2e_checklist.md (modeled on the freezone checklist) that maps every user action possible in the marketplace, then write Playwright + API tests that verify each row 1-1.

When this is done, we know with 100% confidence that every feature works.

Checklist created: https://forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_deploy/src/branch/development/docs/e2e_checklist.md

Current State

  • 116 automated tests, all pass against dev-app.projectmycelium.org
  • 139 features mapped in the checklist
  • ~45 features need tests (mostly provider dashboards, messaging, SSH, rentals)
  • Target: 160+ tests (freezone parity)

Tasks

1. Priority 1 — Core user flow tests (API + Playwright)

  • 1.1 Wallet page: balance display, transaction history list
  • 1.2 Product search and category filtering
  • 1.3 Cart: remove item, update quantity, clear cart
  • 1.4 Order history list, order detail page
  • 1.5 Profile: update name, country, timezone
  • 1.6 Auto top-up settings (configure, view)
  • 1.7 Price display with currency conversion

2. Priority 2 — Provider dashboard tests (API)

  • 2.1 Resource provider: add/update/remove node, node groups, earnings, statistics
  • 2.2 Resource provider: slice format management, slice products CRUD
  • 2.3 App provider: add/update/remove app, view/add deployments
  • 2.4 Service provider: add/remove service, service requests CRUD
  • 2.5 Service provider: bookings CRUD, SLA management, availability settings

3. Priority 3 — Messaging & SSH tests (API)

  • 3.1 Messaging: create thread, send message, get thread messages
  • 3.2 Messaging: mark thread read, unread count
  • 3.3 SSH keys: add key, list keys, delete key
  • 3.4 SSH keys: set default key, key type detection

4. Priority 4 — Rental flow tests (API)

  • 4.1 Node rental: rent product, view user rentals, cancel rental
  • 4.2 Slice rental: rent combination, rent with deployment, view rentals
  • 4.3 Slice assignment: create, update, delete, deploy

5. Update Playwright suite

  • 5.1 Add browser-level tests for wallet page (balance + transactions visible)
  • 5.2 Add browser-level tests for marketplace search
  • 5.3 Add browser-level tests for order confirmation flow
  • 5.4 Add browser-level tests for profile update
  • 5.5 Update visual snapshots after new tests

6. Hero Browser MCP visual verification

  • 6.1 Screenshot every key page (13 pages)
  • 6.2 Verify: content renders (not blank), no errors, correct theme
  • 6.3 Verify: seeded data visible (6 listings, 3 users, demo accounts table)

7. All tests pass on dev

  • 7.1 Run full suite against dev-app.projectmycelium.org
  • 7.2 Fix any failures
  • 7.3 Update checklist with final counts

Acceptance Criteria

  • docs/e2e_checklist.md maps every feature with status + test reference
  • Every row with status has a corresponding automated test
  • 160+ tests total, all passing
  • Zero "Need test" rows remaining for Priority 1-3

Follows from

— mik-tf

## Goal Create a comprehensive `docs/e2e_checklist.md` (modeled on the [freezone checklist](https://forge.ourworld.tf/znzfreezone_code/znzfreezone_deploy/src/branch/development/docs/e2e_checklist.md)) that maps **every user action possible in the marketplace**, then write Playwright + API tests that verify each row 1-1. When this is done, we know with 100% confidence that every feature works. Checklist created: https://forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_deploy/src/branch/development/docs/e2e_checklist.md ## Current State - **116 automated tests, all pass** against `dev-app.projectmycelium.org` - **139 features mapped** in the checklist - **~45 features need tests** (mostly provider dashboards, messaging, SSH, rentals) - Target: **160+ tests** (freezone parity) ## Tasks ### 1. Priority 1 — Core user flow tests (API + Playwright) - [ ] **1.1** Wallet page: balance display, transaction history list - [ ] **1.2** Product search and category filtering - [ ] **1.3** Cart: remove item, update quantity, clear cart - [ ] **1.4** Order history list, order detail page - [ ] **1.5** Profile: update name, country, timezone - [ ] **1.6** Auto top-up settings (configure, view) - [ ] **1.7** Price display with currency conversion ### 2. Priority 2 — Provider dashboard tests (API) - [ ] **2.1** Resource provider: add/update/remove node, node groups, earnings, statistics - [ ] **2.2** Resource provider: slice format management, slice products CRUD - [ ] **2.3** App provider: add/update/remove app, view/add deployments - [ ] **2.4** Service provider: add/remove service, service requests CRUD - [ ] **2.5** Service provider: bookings CRUD, SLA management, availability settings ### 3. Priority 3 — Messaging & SSH tests (API) - [ ] **3.1** Messaging: create thread, send message, get thread messages - [ ] **3.2** Messaging: mark thread read, unread count - [ ] **3.3** SSH keys: add key, list keys, delete key - [ ] **3.4** SSH keys: set default key, key type detection ### 4. Priority 4 — Rental flow tests (API) - [ ] **4.1** Node rental: rent product, view user rentals, cancel rental - [ ] **4.2** Slice rental: rent combination, rent with deployment, view rentals - [ ] **4.3** Slice assignment: create, update, delete, deploy ### 5. Update Playwright suite - [ ] **5.1** Add browser-level tests for wallet page (balance + transactions visible) - [ ] **5.2** Add browser-level tests for marketplace search - [ ] **5.3** Add browser-level tests for order confirmation flow - [ ] **5.4** Add browser-level tests for profile update - [ ] **5.5** Update visual snapshots after new tests ### 6. Hero Browser MCP visual verification - [ ] **6.1** Screenshot every key page (13 pages) - [ ] **6.2** Verify: content renders (not blank), no errors, correct theme - [ ] **6.3** Verify: seeded data visible (6 listings, 3 users, demo accounts table) ### 7. All tests pass on dev - [ ] **7.1** Run full suite against `dev-app.projectmycelium.org` - [ ] **7.2** Fix any failures - [ ] **7.3** Update checklist with final counts ## Acceptance Criteria - `docs/e2e_checklist.md` maps every feature with status + test reference - Every row with status ✅ has a corresponding automated test - 160+ tests total, all passing - Zero "Need test" rows remaining for Priority 1-3 ## Follows from - https://forge.ourworld.tf/mycelium_code/home/issues/34 (Phase 1: embedded OSIS) - https://forge.ourworld.tf/mycelium_code/home/issues/41 (SPA login/register parity) - Modeled on https://forge.ourworld.tf/lhumina_code/home/issues/97 (Hero OS E2E checklist) — mik-tf
Author
Member

Done — v1.4.1 released

Release: https://forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_deploy/releases/tag/v1.4.1

Results

71 new tests added, 187 total, all passing against dev-app.projectmycelium.org.

Suite Count Status
API smoke 24
API integration 43 (+19)
Provider integration 25 (new)
Messaging & SSH 9 (new)
Rental integration 12 (new)
Playwright E2E 43 (+7)
Load test 7
Backend unit 25
Total 187 All pass

Checklist coverage: 130/139 features tested

Remaining untested:

  • ClickPesa/Bank Transfer live mode (config-only, no test env)
  • Soft delete/restore account (destructive — manual only)

Bugs found and filed

New Makefile targets

make test-all BASE_URL=https://dev-app.projectmycelium.org
make test-providers BASE_URL=...
make test-messaging BASE_URL=...
make test-rentals BASE_URL=...

— mik-tf

## Done — v1.4.1 released **Release:** https://forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_deploy/releases/tag/v1.4.1 ### Results 71 new tests added, 187 total, all passing against `dev-app.projectmycelium.org`. | Suite | Count | Status | |-------|-------|--------| | API smoke | 24 | ✅ | | API integration | 43 (+19) | ✅ | | Provider integration | 25 (new) | ✅ | | Messaging & SSH | 9 (new) | ✅ | | Rental integration | 12 (new) | ✅ | | Playwright E2E | 43 (+7) | ✅ | | Load test | 7 | ✅ | | Backend unit | 25 | ✅ | | **Total** | **187** | **All pass** | ### Checklist coverage: 130/139 features tested Remaining untested: - ClickPesa/Bank Transfer live mode (config-only, no test env) - Soft delete/restore account (destructive — manual only) ### Bugs found and filed - https://forge.ourworld.tf/mycelium_code/home/issues/43 — Order detail API returns 404 (UUID/SID mismatch) - https://forge.ourworld.tf/mycelium_code/home/issues/44 — Slice rental manage/cancel returns 404 (UUID/SID mismatch) ### New Makefile targets ```bash make test-all BASE_URL=https://dev-app.projectmycelium.org make test-providers BASE_URL=... make test-messaging BASE_URL=... make test-rentals BASE_URL=... ``` — mik-tf
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coopcloud_code/home#42
No description provided.