from pypos.modules.scanner.services.rawinput_scanner_service import RawInputScannerService


def test_rawinput_scanner_whitelist_required_for_capture():
    svc = RawInputScannerService(
        settings={
            "enabled": True,
            "backend_mode": "rawinput",
            "rawinput_enabled": True,
            "rawinput_whitelist": [],
        }
    )
    assert svc.is_whitelist_ready() is False
    assert svc.is_capture_enabled() is False
    assert svc._is_device_allowed(r"\\?\HID#VID_05E0&PID_1200#A") is False


def test_rawinput_scanner_whitelist_match():
    svc = RawInputScannerService(
        settings={
            "enabled": True,
            "backend_mode": "rawinput",
            "rawinput_enabled": True,
            "rawinput_whitelist": ["hid#vid_05e0&pid_1200"],
        }
    )
    assert svc.is_whitelist_ready() is True
    assert svc._is_device_allowed(r"\\?\HID#VID_05E0&PID_1200#A") is True
