chore: import upstream snapshot with attribution
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
---
|
||||
applyTo: "**/*.{ts,tsx,js,jsx}"
|
||||
---
|
||||
|
||||
# Test Coverage Review Instructions
|
||||
|
||||
Review code changes for adequate test coverage using freeCodeCamp's testing conventions.
|
||||
|
||||
## Testing Framework Reference
|
||||
|
||||
| Location | Framework | File Pattern | Notes |
|
||||
|----------|-----------|--------------|-------|
|
||||
| `api/` | Vitest | `*.test.ts` | Co-located with source |
|
||||
| `client/` | Vitest | `*.test.{ts,tsx}` | Co-located with source |
|
||||
| `e2e/` | Playwright | `*.spec.ts` | Dedicated directory |
|
||||
|
||||
## When to Flag Missing Tests
|
||||
|
||||
Comment on missing tests if ALL of these are true:
|
||||
|
||||
- PR modifies functional code (bug fix or new feature)
|
||||
- No corresponding test additions or modifications exist
|
||||
- Changes are not test-only or config-only
|
||||
|
||||
### Examples Requiring Tests
|
||||
|
||||
- New utility functions in `api/src/utils/` or `client/src/utils/`
|
||||
- New API route handlers in `api/src/routes/`
|
||||
- New React components with logic in `client/src/components/`
|
||||
- Bug fixes that change application behavior
|
||||
- New validation logic or data transformations
|
||||
|
||||
## When NOT to Flag
|
||||
|
||||
Do not comment on test coverage if:
|
||||
|
||||
- Changes are documentation, configuration, or non-functional
|
||||
- PR already includes appropriate test coverage
|
||||
- Changes are to test files themselves
|
||||
- Changes are trivial:
|
||||
- Import reorganization
|
||||
- Formatting changes
|
||||
- Type-only changes (interfaces, type definitions)
|
||||
- Comment updates
|
||||
- Changes are in areas without existing test patterns:
|
||||
- Curriculum markdown files
|
||||
- Configuration files
|
||||
- Build scripts
|
||||
|
||||
## Detecting Outdated Tests
|
||||
|
||||
Flag if existing tests may be outdated:
|
||||
|
||||
- Test file exists for modified source but doesn't cover the changed functionality
|
||||
- Test assertions reference behavior that is being changed
|
||||
- Mock data doesn't reflect new data structures or API responses
|
||||
- Test descriptions no longer match actual test behavior
|
||||
|
||||
### Example Comment for Outdated Tests
|
||||
|
||||
```
|
||||
Tests in `src/utils/validate.test.ts` need updates for new validation rules.
|
||||
```
|
||||
|
||||
## Comment Format
|
||||
|
||||
### Missing Tests
|
||||
|
||||
Brief, actionable feedback only:
|
||||
|
||||
```
|
||||
Missing tests for `src/utils/validate.ts`:
|
||||
- Valid input case
|
||||
- Invalid input error
|
||||
- Empty string edge case
|
||||
```
|
||||
|
||||
### Sufficient Coverage
|
||||
|
||||
**DO NOT COMMENT.** Silence means approval.
|
||||
|
||||
### Outdated Tests
|
||||
|
||||
```
|
||||
Tests in `[test file]` need updates for `[source file]` changes:
|
||||
- [specific change]
|
||||
```
|
||||
|
||||
## Test Quality Indicators
|
||||
|
||||
When tests are present, briefly verify:
|
||||
|
||||
- Tests cover the happy path
|
||||
- Tests cover at least one error/edge case
|
||||
- Test descriptions are meaningful (not just "test 1", "test 2")
|
||||
- Mocks are appropriate (not mocking the thing being tested)
|
||||
|
||||
Do not block PRs for test style preferences if coverage is adequate.
|
||||
Reference in New Issue
Block a user