bb6be245b7
## 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>
60 lines
2.3 KiB
Gherkin
60 lines
2.3 KiB
Gherkin
Feature: User Registration
|
|
As a new user
|
|
I want to register for an account
|
|
So that I can participate in Euchre tournaments and track my games
|
|
|
|
Background:
|
|
Given I am on the registration page
|
|
|
|
@happy-path @authentication
|
|
Scenario: Successful registration with valid data
|
|
When I fill in "name" with "Test User"
|
|
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
|
|
|
|
@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 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"
|
|
|
|
@negative-test @authentication
|
|
Scenario: Registration with duplicate email fails
|
|
Given I am logged in as a player
|
|
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 "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 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
|
|
And I should remain on the registration page
|
|
|
|
@happy-path @authentication
|
|
Scenario: Registration form validation
|
|
When I click the "Create Account" button
|
|
Then I should see "name is required" error
|
|
And I should see "email is required" error
|
|
And I should see "password is required" error
|
|
|
|
@wip
|
|
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 "TestPassword1234!"
|
|
And I click the "Create Account" button
|
|
Then I should see "Please check your email to verify your account"
|