mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 21:06:19 +00:00
Black
This commit is contained in:
@@ -7,11 +7,17 @@ real HTTP calls are not initiated during testing.
|
||||
from pysmartthings import Attribute, Capability
|
||||
|
||||
from homeassistant.components.fan import (
|
||||
ATTR_SPEED, ATTR_SPEED_LIST, DOMAIN as FAN_DOMAIN, SPEED_HIGH, SPEED_LOW,
|
||||
SPEED_MEDIUM, SPEED_OFF, SUPPORT_SET_SPEED)
|
||||
ATTR_SPEED,
|
||||
ATTR_SPEED_LIST,
|
||||
DOMAIN as FAN_DOMAIN,
|
||||
SPEED_HIGH,
|
||||
SPEED_LOW,
|
||||
SPEED_MEDIUM,
|
||||
SPEED_OFF,
|
||||
SUPPORT_SET_SPEED,
|
||||
)
|
||||
from homeassistant.components.smartthings import fan
|
||||
from homeassistant.components.smartthings.const import (
|
||||
DOMAIN, SIGNAL_SMARTTHINGS_UPDATE)
|
||||
from homeassistant.components.smartthings.const import DOMAIN, SIGNAL_SMARTTHINGS_UPDATE
|
||||
from homeassistant.const import ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||
|
||||
@@ -28,16 +34,21 @@ async def test_entity_state(hass, device_factory):
|
||||
device = device_factory(
|
||||
"Fan 1",
|
||||
capabilities=[Capability.switch, Capability.fan_speed],
|
||||
status={Attribute.switch: 'on', Attribute.fan_speed: 2})
|
||||
status={Attribute.switch: "on", Attribute.fan_speed: 2},
|
||||
)
|
||||
await setup_platform(hass, FAN_DOMAIN, devices=[device])
|
||||
|
||||
# Dimmer 1
|
||||
state = hass.states.get('fan.fan_1')
|
||||
assert state.state == 'on'
|
||||
state = hass.states.get("fan.fan_1")
|
||||
assert state.state == "on"
|
||||
assert state.attributes[ATTR_SUPPORTED_FEATURES] == SUPPORT_SET_SPEED
|
||||
assert state.attributes[ATTR_SPEED] == SPEED_MEDIUM
|
||||
assert state.attributes[ATTR_SPEED_LIST] == \
|
||||
[SPEED_OFF, SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH]
|
||||
assert state.attributes[ATTR_SPEED_LIST] == [
|
||||
SPEED_OFF,
|
||||
SPEED_LOW,
|
||||
SPEED_MEDIUM,
|
||||
SPEED_HIGH,
|
||||
]
|
||||
|
||||
|
||||
async def test_entity_and_device_attributes(hass, device_factory):
|
||||
@@ -46,7 +57,8 @@ async def test_entity_and_device_attributes(hass, device_factory):
|
||||
device = device_factory(
|
||||
"Fan 1",
|
||||
capabilities=[Capability.switch, Capability.fan_speed],
|
||||
status={Attribute.switch: 'on', Attribute.fan_speed: 2})
|
||||
status={Attribute.switch: "on", Attribute.fan_speed: 2},
|
||||
)
|
||||
# Act
|
||||
await setup_platform(hass, FAN_DOMAIN, devices=[device])
|
||||
entity_registry = await hass.helpers.entity_registry.async_get_registry()
|
||||
@@ -56,12 +68,11 @@ async def test_entity_and_device_attributes(hass, device_factory):
|
||||
assert entry
|
||||
assert entry.unique_id == device.device_id
|
||||
|
||||
entry = device_registry.async_get_device(
|
||||
{(DOMAIN, device.device_id)}, [])
|
||||
entry = device_registry.async_get_device({(DOMAIN, device.device_id)}, [])
|
||||
assert entry
|
||||
assert entry.name == device.label
|
||||
assert entry.model == device.device_type_name
|
||||
assert entry.manufacturer == 'Unavailable'
|
||||
assert entry.manufacturer == "Unavailable"
|
||||
|
||||
|
||||
async def test_turn_off(hass, device_factory):
|
||||
@@ -70,16 +81,17 @@ async def test_turn_off(hass, device_factory):
|
||||
device = device_factory(
|
||||
"Fan 1",
|
||||
capabilities=[Capability.switch, Capability.fan_speed],
|
||||
status={Attribute.switch: 'on', Attribute.fan_speed: 2})
|
||||
status={Attribute.switch: "on", Attribute.fan_speed: 2},
|
||||
)
|
||||
await setup_platform(hass, FAN_DOMAIN, devices=[device])
|
||||
# Act
|
||||
await hass.services.async_call(
|
||||
'fan', 'turn_off', {'entity_id': 'fan.fan_1'},
|
||||
blocking=True)
|
||||
"fan", "turn_off", {"entity_id": "fan.fan_1"}, blocking=True
|
||||
)
|
||||
# Assert
|
||||
state = hass.states.get('fan.fan_1')
|
||||
state = hass.states.get("fan.fan_1")
|
||||
assert state is not None
|
||||
assert state.state == 'off'
|
||||
assert state.state == "off"
|
||||
|
||||
|
||||
async def test_turn_on(hass, device_factory):
|
||||
@@ -88,16 +100,17 @@ async def test_turn_on(hass, device_factory):
|
||||
device = device_factory(
|
||||
"Fan 1",
|
||||
capabilities=[Capability.switch, Capability.fan_speed],
|
||||
status={Attribute.switch: 'off', Attribute.fan_speed: 0})
|
||||
status={Attribute.switch: "off", Attribute.fan_speed: 0},
|
||||
)
|
||||
await setup_platform(hass, FAN_DOMAIN, devices=[device])
|
||||
# Act
|
||||
await hass.services.async_call(
|
||||
'fan', 'turn_on', {ATTR_ENTITY_ID: "fan.fan_1"},
|
||||
blocking=True)
|
||||
"fan", "turn_on", {ATTR_ENTITY_ID: "fan.fan_1"}, blocking=True
|
||||
)
|
||||
# Assert
|
||||
state = hass.states.get("fan.fan_1")
|
||||
assert state is not None
|
||||
assert state.state == 'on'
|
||||
assert state.state == "on"
|
||||
|
||||
|
||||
async def test_turn_on_with_speed(hass, device_factory):
|
||||
@@ -106,18 +119,20 @@ async def test_turn_on_with_speed(hass, device_factory):
|
||||
device = device_factory(
|
||||
"Fan 1",
|
||||
capabilities=[Capability.switch, Capability.fan_speed],
|
||||
status={Attribute.switch: 'off', Attribute.fan_speed: 0})
|
||||
status={Attribute.switch: "off", Attribute.fan_speed: 0},
|
||||
)
|
||||
await setup_platform(hass, FAN_DOMAIN, devices=[device])
|
||||
# Act
|
||||
await hass.services.async_call(
|
||||
'fan', 'turn_on',
|
||||
{ATTR_ENTITY_ID: "fan.fan_1",
|
||||
ATTR_SPEED: SPEED_HIGH},
|
||||
blocking=True)
|
||||
"fan",
|
||||
"turn_on",
|
||||
{ATTR_ENTITY_ID: "fan.fan_1", ATTR_SPEED: SPEED_HIGH},
|
||||
blocking=True,
|
||||
)
|
||||
# Assert
|
||||
state = hass.states.get("fan.fan_1")
|
||||
assert state is not None
|
||||
assert state.state == 'on'
|
||||
assert state.state == "on"
|
||||
assert state.attributes[ATTR_SPEED] == SPEED_HIGH
|
||||
|
||||
|
||||
@@ -127,18 +142,20 @@ async def test_set_speed(hass, device_factory):
|
||||
device = device_factory(
|
||||
"Fan 1",
|
||||
capabilities=[Capability.switch, Capability.fan_speed],
|
||||
status={Attribute.switch: 'off', Attribute.fan_speed: 0})
|
||||
status={Attribute.switch: "off", Attribute.fan_speed: 0},
|
||||
)
|
||||
await setup_platform(hass, FAN_DOMAIN, devices=[device])
|
||||
# Act
|
||||
await hass.services.async_call(
|
||||
'fan', 'set_speed',
|
||||
{ATTR_ENTITY_ID: "fan.fan_1",
|
||||
ATTR_SPEED: SPEED_HIGH},
|
||||
blocking=True)
|
||||
"fan",
|
||||
"set_speed",
|
||||
{ATTR_ENTITY_ID: "fan.fan_1", ATTR_SPEED: SPEED_HIGH},
|
||||
blocking=True,
|
||||
)
|
||||
# Assert
|
||||
state = hass.states.get("fan.fan_1")
|
||||
assert state is not None
|
||||
assert state.state == 'on'
|
||||
assert state.state == "on"
|
||||
assert state.attributes[ATTR_SPEED] == SPEED_HIGH
|
||||
|
||||
|
||||
@@ -148,17 +165,17 @@ async def test_update_from_signal(hass, device_factory):
|
||||
device = device_factory(
|
||||
"Fan 1",
|
||||
capabilities=[Capability.switch, Capability.fan_speed],
|
||||
status={Attribute.switch: 'off', Attribute.fan_speed: 0})
|
||||
status={Attribute.switch: "off", Attribute.fan_speed: 0},
|
||||
)
|
||||
await setup_platform(hass, FAN_DOMAIN, devices=[device])
|
||||
await device.switch_on(True)
|
||||
# Act
|
||||
async_dispatcher_send(hass, SIGNAL_SMARTTHINGS_UPDATE,
|
||||
[device.device_id])
|
||||
async_dispatcher_send(hass, SIGNAL_SMARTTHINGS_UPDATE, [device.device_id])
|
||||
# Assert
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get('fan.fan_1')
|
||||
state = hass.states.get("fan.fan_1")
|
||||
assert state is not None
|
||||
assert state.state == 'on'
|
||||
assert state.state == "on"
|
||||
|
||||
|
||||
async def test_unload_config_entry(hass, device_factory):
|
||||
@@ -167,10 +184,10 @@ async def test_unload_config_entry(hass, device_factory):
|
||||
device = device_factory(
|
||||
"Fan 1",
|
||||
capabilities=[Capability.switch, Capability.fan_speed],
|
||||
status={Attribute.switch: 'off', Attribute.fan_speed: 0})
|
||||
status={Attribute.switch: "off", Attribute.fan_speed: 0},
|
||||
)
|
||||
config_entry = await setup_platform(hass, FAN_DOMAIN, devices=[device])
|
||||
# Act
|
||||
await hass.config_entries.async_forward_entry_unload(
|
||||
config_entry, 'fan')
|
||||
await hass.config_entries.async_forward_entry_unload(config_entry, "fan")
|
||||
# Assert
|
||||
assert not hass.states.get('fan.fan_1')
|
||||
assert not hass.states.get("fan.fan_1")
|
||||
|
||||
Reference in New Issue
Block a user