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.
46 lines
1.3 KiB
Markdown
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.
|