PHPUnit 11.5.57 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.3.6
Configuration: /workspace/scratch/8a5258254da7/tournament/phpunit.xml

...............................                                   31 / 31 (100%)

Time: 00:02.004, Memory: 50.50 MB

Tracker (Tests\Feature\Tracker)
 ✔ Snapshot schedule has required cardinality and no conflicts
 ✔ Stage1 points and pair records recalculate after edit and undo
 ✔ Invalid terminal score is rejected without writing
 ✔ Extended score accepts first two point margin
 ✔ Overshot winning score is rejected
 ✔ Serve to win requires referee confirmation
 ✔ Stale scorer cannot overwrite newer result
 ✔ Only one live match can occupy a court
 ✔ Plunder seeding uses ranked faculties and fourteen unique pairs
 ✔ Plunder transfers points and preserves total on undo
 ✔ Stages cannot be generated before previous matches finish
 ✔ Duplicate generation does not create extra games
 ✔ Seeded stage protects previous results until rollback
 ✔ Tie order cannot override higher points
 ✔ Semifinal advantage and championship workflow
 ✔ Final protects semifinal edits
 ✔ Best of three applies advantage to each game and voids unused game
 ✔ Readonly public display excludes player names and users
 ✔ Login initial password forces change and logout
 ✔ Wrong password and disabled account cannot log in
 ✔ Administration pages render without errors
 ✔ User crud and superadmin protection
 ✔ Admin cannot elevate account to superadmin
 ✔ Schedule invalidity blocks score entry
 ✔ Schedule crud restores original fixture and validates
 ✔ Rules and branding validation
 ✔ Ai plugin returns readonly answer and handles failure
 ✔ Score endpoint validates inputs and records audit
 ✔ Tied faculty points require an explicit decision before seeding
 ✔ Referenced pairs cannot be deleted and unused pairs can be recreated
 ✔ Live pair cannot play on two courts

OK (31 tests, 108 assertions)
