mirror of
https://github.com/home-assistant/core.git
synced 2025-07-12 07:47:08 +00:00
Add tests of homeworks button (#113578)
This commit is contained in:
parent
d5fd005db8
commit
398c38b50d
@ -550,7 +550,6 @@ omit =
|
|||||||
homeassistant/components/homematic/sensor.py
|
homeassistant/components/homematic/sensor.py
|
||||||
homeassistant/components/homematic/switch.py
|
homeassistant/components/homematic/switch.py
|
||||||
homeassistant/components/homeworks/__init__.py
|
homeassistant/components/homeworks/__init__.py
|
||||||
homeassistant/components/homeworks/button.py
|
|
||||||
homeassistant/components/horizon/media_player.py
|
homeassistant/components/horizon/media_player.py
|
||||||
homeassistant/components/hp_ilo/sensor.py
|
homeassistant/components/hp_ilo/sensor.py
|
||||||
homeassistant/components/huawei_lte/__init__.py
|
homeassistant/components/huawei_lte/__init__.py
|
||||||
|
57
tests/components/homeworks/test_button.py
Normal file
57
tests/components/homeworks/test_button.py
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
"""Tests for the Lutron Homeworks Series 4 and 8 button."""
|
||||||
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
|
from homeassistant.components.button import DOMAIN as BUTTON_DOMAIN, SERVICE_PRESS
|
||||||
|
from homeassistant.const import ATTR_ENTITY_ID
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
|
|
||||||
|
async def test_button_service_calls(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
mock_config_entry: MockConfigEntry,
|
||||||
|
mock_homeworks: MagicMock,
|
||||||
|
) -> None:
|
||||||
|
"""Test Homeworks button service call."""
|
||||||
|
entity_id = "button.foyer_keypad_morning"
|
||||||
|
mock_controller = MagicMock()
|
||||||
|
mock_homeworks.return_value = mock_controller
|
||||||
|
|
||||||
|
mock_config_entry.add_to_hass(hass)
|
||||||
|
await hass.config_entries.async_setup(mock_config_entry.entry_id)
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
assert entity_id in hass.states.async_entity_ids(BUTTON_DOMAIN)
|
||||||
|
|
||||||
|
mock_controller._send.reset_mock()
|
||||||
|
await hass.services.async_call(
|
||||||
|
BUTTON_DOMAIN, SERVICE_PRESS, {ATTR_ENTITY_ID: entity_id}, blocking=True
|
||||||
|
)
|
||||||
|
assert len(mock_controller._send.mock_calls) == 1
|
||||||
|
assert mock_controller._send.mock_calls[0][1] == ("KBP, [02:08:02:01], 1",)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_button_service_calls_delay(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
mock_config_entry: MockConfigEntry,
|
||||||
|
mock_homeworks: MagicMock,
|
||||||
|
) -> None:
|
||||||
|
"""Test Homeworks button service call."""
|
||||||
|
entity_id = "button.foyer_keypad_dim_up"
|
||||||
|
mock_controller = MagicMock()
|
||||||
|
mock_homeworks.return_value = mock_controller
|
||||||
|
|
||||||
|
mock_config_entry.add_to_hass(hass)
|
||||||
|
await hass.config_entries.async_setup(mock_config_entry.entry_id)
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
assert entity_id in hass.states.async_entity_ids(BUTTON_DOMAIN)
|
||||||
|
|
||||||
|
mock_controller._send.reset_mock()
|
||||||
|
await hass.services.async_call(
|
||||||
|
BUTTON_DOMAIN, SERVICE_PRESS, {ATTR_ENTITY_ID: entity_id}, blocking=True
|
||||||
|
)
|
||||||
|
assert len(mock_controller._send.mock_calls) == 2
|
||||||
|
assert mock_controller._send.mock_calls[0][1] == ("KBP, [02:08:02:01], 3",)
|
||||||
|
assert mock_controller._send.mock_calls[1][1] == ("KBR, [02:08:02:01], 3",)
|
Loading…
x
Reference in New Issue
Block a user