mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 09:17:53 +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/switch.py
|
||||
homeassistant/components/homeworks/__init__.py
|
||||
homeassistant/components/homeworks/button.py
|
||||
homeassistant/components/horizon/media_player.py
|
||||
homeassistant/components/hp_ilo/sensor.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