- Remove database provider switching logic from prisma.ts and auth.ts
- Hardcode PostgreSQL as the only supported database
- Remove switch-database.js and use-dev-db.js scripts
- Remove Python utility scripts that used sqlite3 directly
- Update justfile to remove SQLite test targets
- Update package.json to remove db:switch script
- Update Dockerfile.ci-base to default to PostgreSQL
- Update .env.example to remove SQLite mention
- Update playwright.config.ts comments
- Update .gitignore to remove SQLite file patterns
This eliminates the root cause of test failures: the dev server and test
Prisma client were using different databases (PostgreSQL vs SQLite).
## 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>
- Set explicit min/max password length in Better Auth config (8-128 chars)
- Fix CSV upload tests to use multipart/form-data instead of data
- Add @chromium-admin annotations to tests requiring admin access