3
3
from unittest import mock
4
4
5
5
import pytest
6
- from zigpy .device import Device
7
6
from zigpy .quirks .registry import DeviceRegistry
8
7
from zigpy .quirks .v2 import CustomDeviceV2
9
8
import zigpy .types as t
25
24
)
26
25
from zhaquirks .tuya .mcu import TuyaMCUCluster , TuyaOnOffNM
27
26
28
- from .async_mock import sentinel
29
-
30
27
zhaquirks .setup ()
31
28
32
29
33
- @pytest .fixture (name = "device_mock" )
34
- def real_device (MockAppController ):
35
- """Device fixture with a single endpoint."""
36
- ieee = sentinel .ieee
37
- nwk = 0x2233
38
- device = Device (MockAppController , ieee , nwk )
39
-
40
- device .add_endpoint (1 )
41
- device [1 ].profile_id = 0x0104
42
- device [1 ].device_type = 0x0051
43
- device .model = "model"
44
- device .manufacturer = "manufacturer"
45
- device [1 ].add_input_cluster (0x0000 )
46
- device [1 ].add_input_cluster (0xEF00 )
47
- device [1 ].add_output_cluster (0x000A )
48
- device [1 ].add_output_cluster (0x0019 )
49
- return device
50
-
51
-
52
30
@pytest .mark .parametrize (
53
31
"method_name,attr_name,exp_class" ,
54
32
[
@@ -95,6 +73,9 @@ class TestEnum(t.enum8):
95
73
A = 0x00
96
74
B = 0x01
97
75
76
+ class ModTuyaMCUCluster (TuyaMCUCluster ):
77
+ """Modified Cluster."""
78
+
98
79
entry = (
99
80
TuyaQuirkBuilder (device_mock .manufacturer , device_mock .model , registry = registry )
100
81
.tuya_battery (dp_id = 1 )
@@ -133,7 +114,7 @@ class TestEnum(t.enum8):
133
114
fallback_name = "Test enum" ,
134
115
)
135
116
.skip_configuration ()
136
- .add_to_registry ()
117
+ .add_to_registry (mcu_cluster = ModTuyaMCUCluster )
137
118
)
138
119
139
120
# coverage for overridden __eq__ method
@@ -150,6 +131,7 @@ class TestEnum(t.enum8):
150
131
assert isinstance (ep .basic , Basic )
151
132
152
133
assert ep .tuya_manufacturer is not None
134
+ assert isinstance (ep .tuya_manufacturer , ModTuyaMCUCluster )
153
135
assert isinstance (ep .tuya_manufacturer , TuyaMCUCluster )
154
136
155
137
tuya_cluster = ep .tuya_manufacturer
0 commit comments