payfrit-qa/README.md
Luna (QA) e6153ac4b7 Add QA test framework — API tests, infra health, test data seeding
Payfrit:
- Tab API contract tests (bash + python) — all 13 endpoints
- Param validation, response time, cross-env parity checks

Grubflip:
- API endpoint test stubs — menu, restaurant, order, auth
- Ready to activate as Mike deploys endpoints

Shared:
- test_helpers.sh + test_helpers.py — HTTP helpers, pass/fail/skip, JSON output mode
- Master test runner (scripts/run-all.sh)
- Infrastructure health checker (disk, RAM, services, SSL certs)

Test data:
- Grubflip seed SQL (QA test restaurants, menus, orders)
- Payfrit tab seeder script

All Payfrit tab tests confirmed passing against dev + prod.
2026-03-26 05:57:37 +00:00

46 lines
1.3 KiB
Markdown

# Payfrit QA Test Framework
Automated test suites for Payfrit and Grubflip APIs, infrastructure health, and deployment validation.
**Maintainer:** Luna (@luna) — QA
**Forgejo:** `payfrit/payfrit-qa`
## Structure
```
payfrit/api/ — Payfrit Tab API contract tests
grubflip/api/ — Grubflip API test suite
shared/lib/ — Shared test utilities (bash + python)
test-data/ — Seed data and fixtures
scripts/ — CI runners, deployment checklists
reports/ — Generated test reports (gitignored)
```
## Quick Start
```bash
# Run all Payfrit API tests against dev
./scripts/run-all.sh payfrit dev
# Run all Grubflip API tests against dev
./scripts/run-all.sh grubflip dev
# Run infrastructure health check
./scripts/infra-health.sh
# Seed test data
./test-data/payfrit/seed-tabs.sh dev
```
## Environments
| Name | Payfrit API | Grubflip API |
|------|-------------|--------------|
| dev | `https://dev.payfrit.com/api` | `https://dev.grubflip.com/api` |
| prod | `https://biz.payfrit.com/api` | `https://api.grubflip.com` |
## Test Conventions
- Every test script exits 0 on all-pass, 1 on any failure.
- JSON output mode available via `--json` flag for CI integration.
- Reports written to `reports/` with timestamp filenames.