12345678910111213141516171819202122232425 |
- import unittest.mock
- import pytest
- import switchbot_mqtt
- @pytest.mark.parametrize("mac_address", ["aa:bb:cc:dd:ee:ff"])
- @pytest.mark.parametrize(
- "action", [switchbot_mqtt._SwitchbotAction.ON, switchbot_mqtt._SwitchbotAction.OFF]
- )
- def test__send_command(mac_address, action):
- with unittest.mock.patch("switchbot.Switchbot") as switchbot_device_mock:
- switchbot_device_mock.turn_on = unittest.mock.MagicMock(return_value=True)
- switchbot_device_mock.turn_off = unittest.mock.MagicMock(return_value=True)
- switchbot_mqtt._send_command(mac_address, action)
- switchbot_device_mock.assert_called_once_with(mac=mac_address)
- if action == switchbot_mqtt._SwitchbotAction.ON:
- switchbot_device_mock().turn_on.assert_called_once_with()
- assert not switchbot_device_mock().turn_off.called
- else:
- switchbot_device_mock().turn_off.assert_called_once_with()
- assert not switchbot_device_mock().turn_on.called
|