## ADDED Requirements ### Requirement: NPM scripts exist for test execution The system SHALL provide npm scripts to run different test suites. #### Scenario: Run all tests - **WHEN** the command `npm test` or `npm run test` is executed - **THEN** all unit and integration tests SHALL execute #### Scenario: Run backend tests only - **WHEN** the command `npm run test:backend` is executed - **THEN** only the backend unit tests SHALL run #### Scenario: Run frontend tests only - **WHEN** the command `npm run test:frontend` is executed - **THEN** only the frontend unit tests SHALL run #### Scenario: Run integration tests only - **WHEN** the command `npm run test:integration` is executed - **THEN** only the integration tests SHALL run ### Requirement: Tests run in watch mode for development The system SHALL support watch mode for iterative development. #### Scenario: Watch mode runs tests on file changes - **WHEN** the command `npm run test:watch` is executed - **THEN** tests SHALL re-run automatically when source or test files change #### Scenario: Watch mode can filter by test pattern - **WHEN** a test pattern is specified (e.g., `npm run test:watch -- Auth`) - **THEN** only matching tests SHALL run in watch mode ### Requirement: Gitea Actions workflow exists The system SHALL have a Gitea Actions workflow that runs tests on pull requests. #### Scenario: Tests run on PR creation - **WHEN** a pull request is opened - **THEN** the Gitea Actions workflow SHALL trigger and run all tests #### Scenario: Tests run on PR update - **WHEN** new commits are pushed to an open pull request - **THEN** the Gitea Actions workflow SHALL re-run tests #### Scenario: PR is blocked on test failure - **WHEN** tests fail in the PR - **THEN** the PR SHALL show failed status and optionally block merging #### Scenario: Backend tests run in CI - **WHEN** the CI workflow executes - **THEN** backend unit tests SHALL run after the project builds successfully #### Scenario: Frontend tests run in CI - **WHEN** the CI workflow executes - **THEN** frontend unit tests SHALL run after dependencies are installed #### Scenario: Integration tests run in CI - **WHEN** the CI workflow executes - **THEN** integration tests SHALL run with test infrastructure (backend + database) available