mirror of
https://github.com/rishikanthc/Scriberr.git
synced 2026-07-01 08:15:46 +00:00
Hi there, I wanted to pull this in to my CI/CD platform and saw your unit tests were due for a refactor, so I did it for you. Enjoy! ## Summary This PR refactors and fixes all unit tests to achieve 7/7 passing test suites (up from 3/7). The changes validate PR #260's dependency injection pattern and update tests to match the current adapter-based architecture. ## Changes Made ### 1. New Adapter Registration Tests - Created comprehensive test suite for PR #260's dependency injection pattern - Tests verify all adapters accept custom envPath parameters - Validates model storage location fix works correctly - Tests registry clearing and adapter registration ### 2. Registry Test Helpers - Added ClearRegistry() - clears all registered adapters for test isolation - Added GetTranscriptionAdapters() - retrieves all transcription adapters - Added GetDiarizationAdapters() - retrieves all diarization adapters - These helpers enable proper testing of adapter registration ### 3. Migrated Tests to New Architecture Updated three test files to use UnifiedJobProcessor instead of removed WhisperXService: - tests/security_test.go - tests/api_handlers_test.go - Retired tests/transcription_service_test.go (renamed to .old) ### 4. Fixed Queue Test Failures Fixed 5 failing tests in tests/queue_test.go: - Updated stats field: "workers" changed to "current_workers" (2 tests) - Updated mock method: "ProcessJob" changed to "ProcessJobWithProcess" with third parameter (3 tests) ### 5. Test Script Improvements Enhanced run_tests.sh: - Added frontend build check and automatic build if needed - Fixed database cleanup bug using find instead of glob patterns - Properly captures test exit codes - Added adapter registration test suite ### 6. API Handler Fixes Fixed tests/api_handlers_test.go: - Updated queue stats expectations - Fixed supported models response (array to map) - Migrated to UnifiedJobProcessor ## Test Results Before: 3/7 passing (Security, Auth, LLM) After: 7/7 passing (all suites) Test Suites: 1. Security Tests 2. Authentication Service Tests 3. LLM Integration Tests 4. Database Tests 5. Queue Management Tests 6. API Handler Tests 7. Adapter Registration Tests (NEW)