feat: added integration tests

This commit is contained in:
Xiaohan-Tian
2025-12-08 17:56:58 -08:00
parent c5ada0db63
commit 02a7a61b1d
8 changed files with 1036 additions and 10 deletions
+40
View File
@@ -0,0 +1,40 @@
/**
* Mock implementation of KGAudioInterface for integration tests
* Provides interface compatibility while avoiding actual audio operations
*/
import { vi } from 'vitest'
export const mockAudioInterface = {
// Audio context management
startAudioContext: vi.fn().mockResolvedValue(true),
isAudioContextStarted: vi.fn().mockReturnValue(true),
// Track management
createTrackBus: vi.fn().mockResolvedValue(undefined),
setTrackInstrument: vi.fn().mockResolvedValue(undefined),
setTrackVolume: vi.fn().mockReturnValue(undefined),
setTrackMuted: vi.fn().mockReturnValue(undefined),
setTrackSoloed: vi.fn().mockReturnValue(undefined),
removeTrackBus: vi.fn().mockReturnValue(undefined),
// Playback control
startPlayback: vi.fn().mockReturnValue(undefined),
stopPlayback: vi.fn().mockReturnValue(undefined),
pausePlayback: vi.fn().mockReturnValue(undefined),
setPlaybackPosition: vi.fn().mockReturnValue(undefined),
// Note scheduling
scheduleNote: vi.fn().mockReturnValue(undefined),
scheduleNotes: vi.fn().mockReturnValue(undefined),
clearScheduledNotes: vi.fn().mockReturnValue(undefined),
// Transport
getCurrentBeat: vi.fn().mockReturnValue(0),
setBpm: vi.fn().mockReturnValue(undefined),
// Singleton pattern
getInstance: vi.fn().mockReturnThis(),
}
// Mock the class constructor
export const mockKGAudioInterfaceClass = vi.fn(() => mockAudioInterface)