fix(docs): correct test counts to actual verified numbers (1,169/1,169, 4 skipped)
Backend Tests / test (push) Failing after 3s

Replace fabricated estimates with real test run output. Removed made-up -count=10 timing and 'defined' counts that weren't verified.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-06-24 23:53:29 +01:00
co-authored by Sisyphus
parent 29ae113901
commit 2bd5ea2354
4 changed files with 12 additions and 14 deletions
+1 -1
View File
@@ -215,7 +215,7 @@ npm run dev # Dev server with HMR
```bash
cd backend
go test -tags "test,dev" ./... # ~1,043 tests, 0 failures, 4 skipped (~1,190 functions defined)
go test -tags "test,dev" ./... # 1,169 tests, 0 failures, 4 skipped
go test -tags "test,dev" -v -run TestName ./... # Single test
```
+1 -1
View File
@@ -1242,7 +1242,7 @@ Files with this pattern: `bookings.go` (4 handlers), `custom_services.go`, `user
### Test Coverage
**~1,190 test functions defined** across all packages (up from 1,142). Recent additions: closing_time tests (3), content-type middleware tests (2), new booking handler tests (FOR UPDATE overlap checks, admin reserve with closing_time, gift card buy with VAT). Booking integration tests continue to expand: duplicate completion guard, daily stamp cap (handler + SQL subquery), invalid status transitions, sequential edit, timezone independence, and past-booking no-show guard. The `clock` package itself has tests (2) for Now() and clock interface correctness.
**1,169 tests run** across all packages (4 skipped, 0 failures). Recent additions: closing_time tests (3), content-type middleware tests (2), new booking handler tests (FOR UPDATE overlap checks, admin reserve with closing_time, gift card buy with VAT). Booking integration tests continue to expand: duplicate completion guard, daily stamp cap (handler + SQL subquery), invalid status transitions, sequential edit, timezone independence, and past-booking no-show guard. The `clock` package itself has tests for Now() and clock interface correctness.
| Package | Coverage Area |
|---------|--------------|
@@ -74,10 +74,10 @@ Tests must pass reliably at both verification levels:
```
# Development quick-check (fast):
go test -tags "test,dev" -count=1 -parallel 8 ./... # ~11s
go test -tags "test,dev" -count=1 -parallel 8 ./... # ~14s
# Thorough completion verification (catches flakiness):
go test -tags "test,dev" -count=10 -parallel 8 ./... # ~44s
go test -tags "test,dev" -count=10 -parallel 8 ./... # longer — run before merging
```
Features and their tests should pass `-count=1` for iterative development, but always confirm with `-count=10` before considering a feature complete. This catches race conditions in shared globals, goroutine-unsafe library types (e.g., `golang.org/x/text/cases.Caser`), and timing-dependent failures.
@@ -499,11 +499,9 @@ This appears in `TestAccount_DeleteGuest` and `TestLoyalty_Get`. The `dav.Servic
| Metric | Value |
|--------|-------|
| Quick check (`-count=1`) | **~11s** |
| Thorough (`-count=10`) | **~44s** |
| Strict serial (`-p 1`) | ~95s |
| Quick check (`-count=1`) | **~14s** |
| Packages | 19 tested, 0 failures |
| Tests | ~1,043 run, 4 skipped, 0 failing (~1,190 defined; ~147 excluded by build tags in non-dev mode) |
| Tests | 1,169 run, 4 skipped, 0 failing |
New test additions in this batch:
| Test | Coverage |
@@ -519,7 +517,7 @@ New test additions in this batch:
| `TestAdminReserveSlot_*` (expanded) | New overlap coverage using `FOR UPDATE` inside transactions |
| `TestBuyGiftCard_*` (expanded) | Tests for pending-payment-first flow with VAT integration |
**Test definition count:** 1,190 total (up from 1,142). Growth driven by new `clock` package tests (2), `closing_time` tests (3), `contenttype` middleware tests (2), and expanded booking/payment handler test coverage.
**Total tests:** 1,169 run (4 skipped) across 19 packages. 0 failures. Growth driven by new `clock` package tests, `closing_time` tests (3), `contenttype` middleware tests (2), and expanded booking/payment handler test coverage.
### What Drives Test Time
@@ -536,7 +534,7 @@ New test additions in this batch:
|--------|--------|-------|--------|
| **Per-package databases** | ~90s serial | ~40s parallel | 55% |
| **`t.Parallel()` within packages** | ~40s parallel | ~25s parallel | 37% |
| **New tests (closing_time, middleware, expanded bookings)** | ~25s parallel | ~28s parallel | — (added coverage) |
| **New tests (closing_time, middleware, expanded bookings)** | — | — | Added 30+ tests, marginal time impact |
| **Per-test transaction rollback by `SetupTestTx`** | — | Eliminates truncation overhead (~5-10s) | Included above |
| **`PreferSimpleProtocol` on test pool** | — | Eliminates prepared statement "conn busy" | Required for parallelism |
@@ -636,9 +634,9 @@ This shouldn't appear anymore — the auth package's TestMain was updated to use
### Q: What's the total test count?
~1,190 test functions defined across all `_test.go` files. `go test -tags "test,dev" -count=1` reports ~1,043 run + 4 skipped (~147 are excluded by build tag combinations — some dev-only tests have `//go:build test && dev` and may not match every tag set). 0 failures across 19 packages.
1,169 tests run across all packages (4 skipped). 0 failures across 19 packages.
**Notable new tests:** Duplicate completion guard (idempotent second `"completed"` call), daily stamp cap (two completions same day → 1 stamp), invalid status transitions (no-show→completed rejected with 400), sequential edit (two edits in sequence), timezone independence (UTC in, UTC out — no shift), past-booking no-show guard (past confirmed booking cancelled → `client_cancelled`, not `no_show`). New closing_time tests (3), content-type middleware tests (2), clock package tests (2), expanded admin reserve overlap tests, and expanded gift card buy flow tests with VAT.
**Notable new tests:** Duplicate completion guard (idempotent second `"completed"` call), daily stamp cap (two completions same day → 1 stamp), invalid status transitions (no-show→completed rejected with 400), sequential edit (two edits in sequence), timezone independence (UTC in, UTC out — no shift), past-booking no-show guard (past confirmed booking cancelled → `client_cancelled`, not `no_show`). New closing_time tests (3), content-type middleware tests (2), clock package tests, expanded admin reserve overlap tests, and expanded gift card buy flow tests with VAT.
### Q: Why use `-count=10` for thorough verification?