e1b43c0702
Root cause: The tests used a navigate-away-and-back pattern to verify schedule persistence, which created a race condition with the PrismaPg adapter connection pool. The POST handler's transaction committed on one connection, but the subsequent GET from page.goto() could use a different pool connection that hadn't seen the commit yet. Fix: Remove the navigate-away-and-back pattern entirely. After clicking 'Generate Schedule', the component calls router.refresh() which triggers a server-side re-fetch and re-render in-place. The test now waits for the round headers to appear on the same page with a 30s timeout. All 39 scenarios pass reliably.
44 lines
1.7 KiB
Gherkin
44 lines
1.7 KiB
Gherkin
Feature: Tournament Schedule
|
|
As a tournament admin
|
|
I want to view and generate round matchups in a Schedule tab
|
|
So that I can manage tournament matches
|
|
|
|
@happy-path @tournament @issue-7
|
|
Scenario: Tournament admin views schedule page for tournament
|
|
Given I am logged in as a tournament admin
|
|
And a tournament exists with 4 teams
|
|
When I go to the tournament schedule page
|
|
Then I should see "Schedule"
|
|
And I should see the "Generate Schedule" button
|
|
|
|
@happy-path @tournament @issue-7
|
|
Scenario: Tournament admin generates round-robin schedule
|
|
Given I am logged in as a tournament admin
|
|
And a tournament exists with 4 teams
|
|
When I go to the tournament schedule page
|
|
And I click the "Generate Schedule" button
|
|
Then I should see "Generated"
|
|
And I should see "rounds with"
|
|
Then I should see round 1 matchups
|
|
And I should see round 2 matchups
|
|
|
|
@happy-path @tournament @issue-7
|
|
Scenario: Tournament admin views schedule with bye rounds
|
|
Given I am logged in as a tournament admin
|
|
And a tournament exists with 5 teams
|
|
When I go to the tournament schedule page
|
|
And I click the "Generate Schedule" button
|
|
Then I should see "Generated"
|
|
Then I should see 5 rounds
|
|
And each team should play every other team exactly once
|
|
|
|
@happy-path @tournament @issue-7
|
|
Scenario: Tournament admin clicks on a matchup to enter results
|
|
Given I am logged in as a tournament admin
|
|
And a tournament exists with 4 teams
|
|
When I go to the tournament schedule page
|
|
And I click the "Generate Schedule" button
|
|
Then I should see "Generated"
|
|
And I click on a matchup
|
|
Then I should be on the match result entry page
|