bert.hausmans
96eb7e91e7
test(timetable): Phase C — observer, resolver, seeder, portal controller tests
22 new tests across four files:
- AdvanceSectionObserverTest (7) — counter recompute on create / status
transition / delete / is_open toggle no-op / orphaned-section guard /
no activity-log noise on counter writes
- ArtistResolverTest (4) — happy path / invalid token / soft-deleted
artist / SHA-256 digest verification
- ArtistAdvanceDefaultTest (6) — five-section + slug shape / idempotency
/ per-section field shape / observer-invocation outside tests /
artisan one-org + all-orgs paths
- EngagementPortalControllerTest (6) — show 200/404/410 / show-section
schema + draft values / submit happy-path with submission persistence
+ counter recompute / cross-engagement section returns 404
Implementation tweaks driven by test feedback:
- OrganisationObserver gated by `app()->runningUnitTests()` — auto-seed
runs in production but is silent in CI so existing FormSchema-counting
tests are unperturbed. Tests that need the seeded schema invoke
`ArtistAdvanceDefault::seedFor()` explicitly.
- EngagementPortalController idempotency_key uses `aa-` + sha1 prefix
(28 chars) so it fits the form_submissions.idempotency_key
varchar(30) column.
Test count: 1709 (Session 2 close) → 1731 (+22).
Larastan: 0 new errors over baseline.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 22:39:04 +02:00
..
2026-04-16 02:42:53 +02:00
2026-05-08 20:56:43 +02:00
2026-05-06 00:24:01 +02:00
2026-04-29 00:14:20 +02:00
2026-05-08 22:39:04 +02:00
2026-05-06 00:24:01 +02:00
2026-04-15 22:18:16 +02:00
2026-05-06 00:24:01 +02:00
2026-04-13 00:37:04 +02:00
2026-04-10 11:16:01 +02:00
2026-04-14 08:16:36 +02:00
2026-04-10 11:15:51 +02:00
2026-04-14 15:38:54 +02:00
2026-04-15 20:12:21 +02:00
2026-04-14 08:16:36 +02:00
2026-04-14 08:16:36 +02:00
2026-05-06 00:24:01 +02:00
2026-04-14 08:16:36 +02:00
2026-05-06 00:24:01 +02:00
2026-05-06 00:24:01 +02:00
2026-04-13 07:38:59 +02:00
2026-04-14 18:38:53 +02:00
2026-04-17 10:27:37 +02:00
2026-04-15 20:12:21 +02:00
2026-04-15 20:12:21 +02:00
2026-04-15 20:12:21 +02:00
2026-04-17 18:43:00 +02:00
2026-04-14 08:44:24 +02:00
2026-04-12 23:18:10 +02:00
2026-04-17 18:43:00 +02:00
2026-05-08 19:15:13 +02:00
2026-04-14 08:16:36 +02:00
2026-04-14 08:16:36 +02:00
2026-04-14 22:07:37 +02:00
2026-04-16 18:03:49 +02:00
2026-04-10 11:15:43 +02:00
2026-04-14 08:16:36 +02:00