From 66a778ebab4fc9efe05431524f22b8a9c0cab09e Mon Sep 17 00:00:00 2001 From: Alex Schofield Date: Fri, 7 Feb 2025 14:30:27 +0000 Subject: add first test for BT discovery --- tests/test_discover.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 tests/test_discover.py (limited to 'tests/test_discover.py') diff --git a/tests/test_discover.py b/tests/test_discover.py new file mode 100644 index 0000000..75bf805 --- /dev/null +++ b/tests/test_discover.py @@ -0,0 +1,21 @@ +from unittest import IsolatedAsyncioTestCase +from unittest.mock import AsyncMock, patch +from discover import discover +from bleak.backends.device import BLEDevice + +class TestDiscover(IsolatedAsyncioTestCase): + @patch('src.discover.BleakScanner.discover', new_callable=AsyncMock) + async def test_device_discovery_successful(self, mock_discover): + device_1 = BLEDevice(address="AA:BB:CC:DD:EE:FF", name="Device 1", details={}, rssi=-40) + device_2 = BLEDevice(address="GG:HH:II:JJ:KK:LL", name="Device 2", details={}, rssi=-64) + + mock_discover.return_value = [device_1, device_2] + + result = await discover() + + expected = [ + {"name": "Device 1", "address": "AA:BB:CC:DD:EE:FF"}, + {"name": "Device 2", "address": "GG:HH:II:JJ:KK:LL"} + ] + + self.assertEqual(result,expected) \ No newline at end of file -- cgit v1.2.3