Spaces:
Running
Running
import { vi } from "vitest"; | |
// Mock Web Serial API | |
const mockSerialPort = { | |
readable: new ReadableStream(), | |
writable: new WritableStream(), | |
close: vi.fn(), | |
forget: vi.fn(), | |
getInfo: vi.fn(() => ({ usbVendorId: 0x1234, usbProductId: 0x5678 })), | |
}; | |
const mockSerial = { | |
requestPort: vi.fn(() => Promise.resolve(mockSerialPort)), | |
getPorts: vi.fn(() => Promise.resolve([mockSerialPort])), | |
}; | |
// Mock WebUSB API | |
const mockUSB = { | |
requestDevice: vi.fn(), | |
getDevices: vi.fn(() => Promise.resolve([])), | |
}; | |
// Attach to global navigator | |
Object.defineProperty(globalThis, "navigator", { | |
value: { | |
...globalThis.navigator, | |
serial: mockSerial, | |
usb: mockUSB, | |
}, | |
}); | |