Skip to content

fix: resolve issues #136, #142, #149 — READMEs, e2e booking, fuzz tests - #219

Merged
dzekojohn4 merged 6 commits into
NovaCoreLabs1:mainfrom
dorisadams:fix/dorisadams-issues-136-142-149
Jul 30, 2026
Merged

fix: resolve issues #136, #142, #149 — READMEs, e2e booking, fuzz tests#219
dzekojohn4 merged 6 commits into
NovaCoreLabs1:mainfrom
dorisadams:fix/dorisadams-issues-136-142-149

Conversation

@dorisadams

Copy link
Copy Markdown
Contributor

Summary

Resolves all three issues assigned to @dorisadams in a single PR.

Closes #136 — Add README.md to every backend module folder

Created 17 new README.md files across all backend modules missing one:

auth, audit-log, bookings, cloudinary, common, config, contact, dashboard, email, invoices, metrics, newsletter, notifications, payments, utils, workspace-tracking, workspaces

Each README follows the existing pattern: purpose, key entities, endpoints, and key files.

  • Added scripts/check-module-readmes.js for CI enforcement
  • Integrated into CI backend job — fails if any module lacks a README

Closes #142 — End-to-end test coverage for the public booking funnel

Created frontend/tests/e2e/booking.spec.ts with 7 Playwright tests:

  • Bookings list renders workspace name and status
  • Empty state shows "No bookings yet"
  • Pay now button initiates payment and receives reference
  • API error shows graceful error message
  • Payment initialization failure is surfaced
  • Paystack transaction verify + refund flows

All tests use page.route() mocking — no dev server needed.

  • Integrated into CI frontend job with browser caching and failure artifact upload

Closes #149 — Adversarial fuzz tests against /auth/login

Created backend/tests/fuzz/login.fuzz.ts — sends configurable random payloads (default 5k, CI uses 50k) and asserts 5xx error rate < 0.05%.

🔧 Additional fixes

  • Fixed payment.spec.ts import.meta CJS issue (inlined fixture)
  • Added @playwright/test dev dependency
  • Added test-results/ to .gitignore

✅ All tests passing

Suite Result
Backend unit tests 138/138
Frontend e2e tests 10/10

…s1#149 - READMEs, e2e booking, fuzz tests

Closes NovaCoreLabs1#136 — Add README.md to every backend module folder (17 new READMEs
covering auth, audit-log, bookings, cloudinary, common, config, contact,
dashboard, email, invoices, metrics, newsletter, notifications, payments,
utils, workspace-tracking, workspaces). Added CI check script.

Closes NovaCoreLabs1#142 — End-to-end test coverage for the public booking funnel.
Created frontend/tests/e2e/booking.spec.ts with Playwright tests covering
browse → book → pay → dashboard with mocked Paystack via page.route().

Closes NovaCoreLabs1#149 — Adversarial fuzz tests against /auth/login payloads.
Created backend/tests/fuzz/login.fuzz.ts (configurable iterations via
FUZZ_ITERATIONS env var) with jest-fuzz.json config and test:fuzz script.

Also: fixed payment.spec.ts import.meta CJS issue, added @playwright/test
dependency.
Runs scripts/check-module-readmes.js during the backend job so CI fails
if any backend module folder is missing a README.md (issue NovaCoreLabs1#136).
Runs booking.spec.ts and payment.spec.ts on every PR/push to main.
Includes browser caching and failure artifact upload (issue NovaCoreLabs1#142).
Runs backend/tests/fuzz/login.fuzz.ts every Saturday at 04:00 UTC with
50k iterations. Supports manual dispatch with configurable iteration count.
Posts results as a comment to issue NovaCoreLabs1#149 with pass/fail against the
0.05% threshold (issue NovaCoreLabs1#149).
Configures testDir, testMatch, timeout (30s), retries (1 on CI),
reporters (html + github on CI), baseURL, screenshot/trace on failure,
and Desktop Chrome device profile. Adds forbidOnly on CI.
@dzekojohn4
dzekojohn4 merged commit 6e544b8 into NovaCoreLabs1:main Jul 30, 2026
6 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

2 participants