|
15 | 15 | from zwave_js_server.client import Client |
16 | 16 | from zwave_js_server.model.controller import Controller |
17 | 17 | from zwave_js_server.model.driver import Driver |
18 | | -from zwave_js_server.model.node import Node |
| 18 | +from zwave_js_server.model.node import Node, NodeDataType |
19 | 19 |
|
20 | 20 | from . import load_fixture |
21 | 21 | from .common import MockCommandProtocol |
@@ -103,6 +103,22 @@ def ring_keypad_state_fixture(): |
103 | 103 | return json.loads(load_fixture("ring_keypad_state.json")) |
104 | 104 |
|
105 | 105 |
|
| 106 | +@pytest.fixture(name="shelly_wave_shutter_state", scope="session") |
| 107 | +def shelly_wave_shutter_state_fixture() -> NodeDataType: |
| 108 | + """Load the shelly wave shutter node state fixture data.""" |
| 109 | + return json.loads(load_fixture("shelly_eu_wave_shutter_state.json")) |
| 110 | + |
| 111 | + |
| 112 | +@pytest.fixture(name="shelly_wave_shutter") |
| 113 | +def shelly_wave_shutter_fixture( |
| 114 | + driver: Driver, shelly_wave_shutter_state: NodeDataType |
| 115 | +) -> Node: |
| 116 | + """Mock a shelly wave shutter node.""" |
| 117 | + node = Node(driver.client, deepcopy(shelly_wave_shutter_state)) |
| 118 | + driver.controller.nodes[node.node_id] = node |
| 119 | + return node |
| 120 | + |
| 121 | + |
106 | 122 | @pytest.fixture(name="endpoints_with_command_classes_state", scope="session") |
107 | 123 | def endpoints_with_command_classes_state_fixture(): |
108 | 124 | """Load the node state fixture data with command classes on the endpoint.""" |
|
0 commit comments