Fix barcode scanner test mocks

This commit is contained in:
beatz174-bit
2025-11-24 08:54:31 +10:00
parent aa38a99eb4
commit bb04d18444
@@ -17,7 +17,7 @@ declare global {
} }
const createMediaStream = (stopSpy: MockInstance = vi.fn()) => { const createMediaStream = (stopSpy: MockInstance = vi.fn()) => {
const track = { stop: stopSpy } as MediaStreamTrack; const track = { stop: stopSpy } as unknown as MediaStreamTrack;
return { return {
getTracks: vi.fn(() => [track]), getTracks: vi.fn(() => [track]),
getVideoTracks: vi.fn(() => [track]), getVideoTracks: vi.fn(() => [track]),
@@ -58,7 +58,8 @@ describe('useBarcodeScanner', () => {
it('uses native BarcodeDetector when available and sets the detected code', async () => { it('uses native BarcodeDetector when available and sets the detected code', async () => {
const trackStop = vi.fn(); const trackStop = vi.fn();
const stream = createMediaStream(trackStop); const stream = createMediaStream(trackStop);
(navigator.mediaDevices.getUserMedia as unknown as vi.Mock).mockResolvedValue(stream); const getUserMediaMock = navigator.mediaDevices.getUserMedia as unknown as MockInstance;
getUserMediaMock.mockResolvedValue(stream);
class MockBarcodeDetector { class MockBarcodeDetector {
detect = vi.fn(async () => [{ rawValue: 'NATIVE-123' }]); detect = vi.fn(async () => [{ rawValue: 'NATIVE-123' }]);
@@ -108,7 +109,8 @@ describe('useBarcodeScanner', () => {
}); });
it('surfaces errors encountered while starting the scanner', async () => { it('surfaces errors encountered while starting the scanner', async () => {
(navigator.mediaDevices.getUserMedia as unknown as vi.Mock).mockRejectedValue(new Error('Camera denied')); const getUserMediaMock = navigator.mediaDevices.getUserMedia as unknown as MockInstance;
getUserMediaMock.mockRejectedValue(new Error('Camera denied'));
class MockBarcodeDetector { class MockBarcodeDetector {
detect = vi.fn(async () => []); detect = vi.fn(async () => []);