feat: Implement tournament schedule tab and fix E2E tests (#27)
## Summary This PR implements the tournament schedule tab functionality and fixes all remaining E2E test failures. ### Changes Included 1. **Tournament Schedule Feature** - Added tournament schedule page at `/admin/tournaments/[id]/schedule` - Implemented "Generate Schedule" button functionality - Added schedule generation logic for round-robin tournaments 2. **E2E Test Fixes** - Fixed database connection issues in production builds - Improved test reliability with better error handling and debugging - Updated test infrastructure to use environment variables instead of hardcoded values 3. **CI/CD Updates** - Added E2E test job to PR workflow - Configured tests to run against development database - Moved database password to Gitea secrets 4. **Code Quality** - Removed hardcoded passwords from codebase - Improved Prisma client configuration - Enhanced authentication and navigation components ### Test Results All 16 E2E test scenarios are now passing: - Authentication tests: ✅ - Registration tests: ✅ - Tournament schedule tests: ✅ - Player schedule tests: ✅ - Admin navigation tests: ✅ ### Database Configuration - Tests run against `euchre_camp_dev` database - Production builds use environment variables for database configuration - Database password stored in Gitea secrets as `DB_PASSWORD` ### CI Pipeline The PR workflow now includes: 1. Unit tests 2. E2E tests (using production build) 3. Version bump analysis E2E tests must pass before PR can be merged. Reviewed-on: #27 Co-authored-by: David Gwilliam <dhgwilliam@gmail.com> Co-committed-by: David Gwilliam <dhgwilliam@gmail.com>
This commit was merged in pull request #27.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
Feature: Club Admin Dashboard
|
||||
As a club admin
|
||||
I want to view club-wide statistics and manage club operations
|
||||
So that I can effectively oversee the club
|
||||
|
||||
@happy-path @admin @issue-11
|
||||
Scenario: Club admin views dashboard with statistics
|
||||
Given I am logged in as a club admin
|
||||
When I go to the admin dashboard
|
||||
Then I should see "Admin Dashboard"
|
||||
And I should see total player count
|
||||
And I should see active tournament count
|
||||
|
||||
@happy-path @admin @issue-11
|
||||
Scenario: Club admin views recent activity feed
|
||||
Given I am logged in as a club admin
|
||||
And there are recent activities in the system
|
||||
When I go to the admin dashboard
|
||||
Then I should see the activity feed section
|
||||
And I should see recent player registrations
|
||||
|
||||
@happy-path @admin @issue-11
|
||||
Scenario: Club admin searches player directory
|
||||
Given I am logged in as a club admin
|
||||
And there are multiple players in the system
|
||||
When I go to the player management page
|
||||
And I search for "Player 1"
|
||||
Then I should see search results
|
||||
|
||||
@happy-path @admin @issue-11
|
||||
Scenario: Club admin updates club settings
|
||||
Given I am logged in as a club admin
|
||||
When I go to the club settings page
|
||||
And I update the club name
|
||||
And I save the settings
|
||||
Then the settings should be saved successfully
|
||||
@@ -25,7 +25,7 @@ Feature: User Authentication
|
||||
@happy-path @authentication
|
||||
Scenario: Navigate to login page
|
||||
Given I am on the home page
|
||||
When I click the "Log in" link
|
||||
When I click the "Sign in" link
|
||||
Then I should be on the login page
|
||||
|
||||
@happy-path @authentication
|
||||
|
||||
@@ -17,6 +17,7 @@ Feature: Player Schedule
|
||||
Then I should see "Upcoming Matches"
|
||||
And I should see the match date
|
||||
And I should see my opponent's name
|
||||
And I should see my partner's name
|
||||
And I should see the tournament name
|
||||
|
||||
@happy-path @player-features @issue-9 @wip
|
||||
|
||||
@@ -9,8 +9,8 @@ Feature: User Registration
|
||||
@happy-path @authentication
|
||||
Scenario: Successful registration with valid data
|
||||
When I fill in "name" with "Test User"
|
||||
And I fill in "email" with "test-user@example.com"
|
||||
And I fill in "password" with "TestPassword123!"
|
||||
And I fill in "email" with the generated unique email
|
||||
And I fill in "password" with "TestPassword1234!"
|
||||
And I click the "Create Account" button
|
||||
Then I should be redirected to my profile page
|
||||
And my user account should exist
|
||||
@@ -18,8 +18,8 @@ Feature: User Registration
|
||||
@happy-path @authentication
|
||||
Scenario: Auto-created player profile is linked to user
|
||||
When I fill in "name" with "Profile Test User"
|
||||
And I fill in "email" with "profile-test@example.com"
|
||||
And I fill in "password" with "ProfilePass123!"
|
||||
And I fill in "email" with the generated unique email
|
||||
And I fill in "password" with "ProfilePass1234!"
|
||||
And I click the "Create Account" button
|
||||
Then I should be redirected to my profile page
|
||||
And I should see "Welcome, Profile Test User"
|
||||
@@ -30,14 +30,14 @@ Feature: User Registration
|
||||
When I navigate to the registration page
|
||||
And I fill in "name" with "Duplicate User"
|
||||
And I fill in "email" with the same email
|
||||
And I fill in "password" with "TestPassword123!"
|
||||
And I fill in "password" with "TestPassword1234!"
|
||||
And I click the "Create Account" button
|
||||
Then I should see a registration error
|
||||
|
||||
@negative-test @authentication
|
||||
Scenario: Registration with weak password fails
|
||||
When I fill in "name" with "Weak Password User"
|
||||
And I fill in "email" with "weak@example.com"
|
||||
And I fill in "email" with the generated unique email
|
||||
And I fill in "password" with "weak"
|
||||
And I click the "Create Account" button
|
||||
Then I should see "password" validation error
|
||||
@@ -54,6 +54,6 @@ Feature: User Registration
|
||||
Scenario: Registration with email verification (placeholder)
|
||||
When I fill in "name" with "Email Verify User"
|
||||
And I fill in "email" with "verify@example.com"
|
||||
And I fill in "password" with "TestPassword123!"
|
||||
And I fill in "password" with "TestPassword1234!"
|
||||
And I click the "Create Account" button
|
||||
Then I should see "Please check your email to verify your account"
|
||||
|
||||
Reference in New Issue
Block a user