Extract bypassed attribute in Risco zones to a switch (#81137)

* Split bypassed to a switch

* Address code review comments
This commit is contained in:
On Freund 2022-11-01 01:29:00 +02:00 committed by GitHub
parent f8de4c3931
commit 009d5aedd5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 430 additions and 261 deletions

View file

@ -39,10 +39,14 @@ def two_zone_cloud():
zone_mocks[0], "id", new_callable=PropertyMock(return_value=0)
), patch.object(
zone_mocks[0], "name", new_callable=PropertyMock(return_value="Zone 0")
), patch.object(
zone_mocks[0], "bypassed", new_callable=PropertyMock(return_value=False)
), patch.object(
zone_mocks[1], "id", new_callable=PropertyMock(return_value=1)
), patch.object(
zone_mocks[1], "name", new_callable=PropertyMock(return_value="Zone 1")
), patch.object(
zone_mocks[1], "bypassed", new_callable=PropertyMock(return_value=False)
), patch.object(
alarm_mock,
"zones",
@ -54,6 +58,36 @@ def two_zone_cloud():
yield zone_mocks
@fixture
def two_zone_local():
"""Fixture to mock alarm with two zones."""
zone_mocks = {0: zone_mock(), 1: zone_mock()}
with patch.object(
zone_mocks[0], "id", new_callable=PropertyMock(return_value=0)
), patch.object(
zone_mocks[0], "name", new_callable=PropertyMock(return_value="Zone 0")
), patch.object(
zone_mocks[0], "alarmed", new_callable=PropertyMock(return_value=False)
), patch.object(
zone_mocks[0], "bypassed", new_callable=PropertyMock(return_value=False)
), patch.object(
zone_mocks[1], "id", new_callable=PropertyMock(return_value=1)
), patch.object(
zone_mocks[1], "name", new_callable=PropertyMock(return_value="Zone 1")
), patch.object(
zone_mocks[1], "alarmed", new_callable=PropertyMock(return_value=False)
), patch.object(
zone_mocks[1], "bypassed", new_callable=PropertyMock(return_value=False)
), patch(
"homeassistant.components.risco.RiscoLocal.partitions",
new_callable=PropertyMock(return_value={}),
), patch(
"homeassistant.components.risco.RiscoLocal.zones",
new_callable=PropertyMock(return_value=zone_mocks),
):
yield zone_mocks
@fixture
def options():
"""Fixture for default (empty) options."""