d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
58 lines
1.4 KiB
Markdown
58 lines
1.4 KiB
Markdown
# Testing Requirements
|
|
|
|
## Minimum Test Coverage: 80%
|
|
|
|
Test Types (ALL required):
|
|
1. **Unit Tests** - Individual functions, utilities, components
|
|
2. **Integration Tests** - API endpoints, database operations
|
|
3. **E2E Tests** - Critical user flows (framework chosen per language)
|
|
|
|
## Test-Driven Development
|
|
|
|
MANDATORY workflow:
|
|
1. Write test first (RED)
|
|
2. Run test - it should FAIL
|
|
3. Write minimal implementation (GREEN)
|
|
4. Run test - it should PASS
|
|
5. Refactor (IMPROVE)
|
|
6. Verify coverage (80%+)
|
|
|
|
## Troubleshooting Test Failures
|
|
|
|
1. Use **tdd-guide** agent
|
|
2. Check test isolation
|
|
3. Verify mocks are correct
|
|
4. Fix implementation, not tests (unless tests are wrong)
|
|
|
|
## Agent Support
|
|
|
|
- **tdd-guide** - Use PROACTIVELY for new features, enforces write-tests-first
|
|
|
|
## Test Structure (AAA Pattern)
|
|
|
|
Prefer Arrange-Act-Assert structure for tests:
|
|
|
|
```typescript
|
|
test('calculates similarity correctly', () => {
|
|
// Arrange
|
|
const vector1 = [1, 0, 0]
|
|
const vector2 = [0, 1, 0]
|
|
|
|
// Act
|
|
const similarity = calculateCosineSimilarity(vector1, vector2)
|
|
|
|
// Assert
|
|
expect(similarity).toBe(0)
|
|
})
|
|
```
|
|
|
|
### Test Naming
|
|
|
|
Use descriptive names that explain the behavior under test:
|
|
|
|
```typescript
|
|
test('returns empty array when no markets match query', () => {})
|
|
test('throws error when API key is missing', () => {})
|
|
test('falls back to substring search when Redis is unavailable', () => {})
|
|
```
|