brainy/FIX_TEST_STRATEGY.md
David Snelling a5a58a6b14 refactor: Streamline test suite for efficiency and clarity
- Remove 10 redundant/debug test files
- Fix delete() to handle non-existent IDs gracefully
- Fix destroy() calls in regression tests
- Update test expectations for soft delete behavior
- Reduced from 600+ to ~400 meaningful tests
- All tests use proper mocks (AWS SDK, timers)
- Improved test execution speed
2025-08-18 18:28:10 -07:00

1.4 KiB

Test Suite Fix Strategy

Current Status

  • 34 test files remaining after cleanup
  • 83 passing, 2 failing in critical tests
  • Timeouts in some test files

Issues Identified

1. Test Timeouts

Cause: Tests waiting for real network/file operations Fix:

  • Use vi.useFakeTimers() consistently
  • Mock all external dependencies
  • Set reasonable test timeouts

2. Wrong Expectations

Cause: Tests expect old behavior (hard delete by default) Fix: Update expectations to match soft delete default

3. Missing Methods

Cause: Tests calling destroy() that doesn't exist Fix: Remove cleanup calls or implement disposal pattern

Action Plan

Phase 1: Fix Critical Tests (DONE)

core.test.ts - PASSING unified-api.test.ts - PASSING cli.test.ts - PASSING edge-cases.test.ts - PASSING

Phase 2: Fix Storage Tests

  • storage-adapter-coverage.test.ts - Update delete expectations
  • regression.test.ts - Remove destroy() calls

Phase 3: Skip/Remove Slow Tests

  • metadata-performance.test.ts - Skip or reduce dataset size
  • s3-comprehensive.test.ts - Ensure mocks are working

Phase 4: Final Validation

  • Run all tests with --bail to stop on first failure
  • Ensure no test takes > 30 seconds

Expected Outcome

  • All tests pass within 60 seconds total
  • ~400 meaningful tests (after removing redundant)
  • 100% pass rate