Files
ZanePersonal/tests/setup.js

35 lines
837 B
JavaScript
Raw Normal View History

// Test setup file
import { beforeEach, vi } from 'vitest';
// Mock Web Audio API
global.AudioContext = vi.fn().mockImplementation(() => ({
createOscillator: vi.fn().mockReturnValue({
connect: vi.fn(),
frequency: {
setValueAtTime: vi.fn(),
exponentialRampToValueAtTime: vi.fn(),
},
start: vi.fn(),
stop: vi.fn(),
}),
createGain: vi.fn().mockReturnValue({
connect: vi.fn(),
gain: {
setValueAtTime: vi.fn(),
exponentialRampToValueAtTime: vi.fn(),
},
}),
destination: {},
currentTime: 0,
}));
// Mock requestAnimationFrame
global.requestAnimationFrame = vi.fn((callback) => setTimeout(callback, 16));
global.cancelAnimationFrame = vi.fn(clearTimeout);
// Reset DOM before each test
beforeEach(() => {
document.body.innerHTML = '';
document.head.innerHTML = '';
});