- Add #[CoversClass] to Base64Test and FilenameSanitizerTest
- Merge near-duplicate test methods into #[DataProvider] cases across
ResetPasswordControllerTest, SettingsControllerTest, ClaimSeasonCommandTest,
FilenameSanitizerTest, Base64Test, and SeasonRepositoryTest
- Add integration tests for previously untested controllers: public
QuizController (quiz-taking flow), LoginController, RegistrationController,
EliminationController, and PrepareEliminationController
- Add unit tests for Elimination and BankQuestion entity logic
- Extract shared WebTestCase setup/helpers (client, entityManager, login,
entity lookups, CSRF token scraping) into AbstractControllerWebTestCase,
removing duplicated boilerplate from all 14 WebTestCase files
* feat: password reset via symfonycasts/reset-password-bundle (#179)
Implements the full password reset flow using the SymfonyCasts reset-password-bundle.
* ci: share base layer cache between dev and prod builds
* fix: use CSS form selector in tests instead of translated button text
* fix: translate missing validator string for reset password email field
* fix: translate reset password form labels via TranslatorInterface
* ci: override MAILER_DSN to null for PHPUnit so mailer host is not required