Fixes#23
- Added overflow-x-hidden to body in root layout as defensive measure
- Changed table containers from overflow-hidden to overflow-x-auto
in admin/players page and RankingsClient (3 tables)
- Added min-w-0 and overflow-hidden to Navigation flex containers
to prevent links from pushing content off screen
- Added flex-shrink-0 to EuchreCamp wordmark link
## 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>
Fix the allowTies checkbox not being saved when editing tournaments. Added comprehensive unit and E2E tests to verify the fix.
Co-authored-by: David Gwilliam <dhgwilliam@gmail.com>
Co-committed-by: David Gwilliam <dhgwilliam@gmail.com>
- Fixed unused variables in unit tests (elo.test.ts, permissions.test.ts)
- Fixed unused variables in E2E tests (account-acceptance.test.ts, elo-ratings.test.ts, epic1-auth-registration.test.ts, global.setup.ts)
- Fixed 'any' type usage in EditTournamentForm.test.tsx and auth-simple.test.ts
- Fixed unescaped quotes and apostrophes in React components
- Fixed TypeScript type errors in Navigation.tsx, test-api/page.tsx, and matches/upload/page.tsx
- Fixed missing useEffect dependency in tournaments/[id]/entry/page.tsx
- Updated eslint config to exclude test-api directory
- All tests now pass linting and build successfully