Skip to content

Commit 0f62386

Browse files
add OnOff to AP mock device
1 parent 683cd5f commit 0f62386

1 file changed

Lines changed: 28 additions & 26 deletions

File tree

drivers/SmartThings/matter-thermostat/src/test/test_matter_air_purifier_modular.lua

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ local mock_device_basic = test.mock_device.build_test_matter_device({
4949
{cluster_id = clusters.FanControl.ID, cluster_type = "SERVER", feature_map = 0},
5050
{cluster_id = clusters.HepaFilterMonitoring.ID, cluster_type = "SERVER", feature_map = 7},
5151
{cluster_id = clusters.ActivatedCarbonFilterMonitoring.ID, cluster_type = "SERVER", feature_map = 7},
52+
{cluster_id = clusters.OnOff.ID, cluster_type = "SERVER"}
5253
},
5354
device_types = {
5455
{device_type_id = 0x002D, device_type_revision = 1} -- AP
@@ -256,7 +257,7 @@ local function test_init_ap_thermo_aqs_preconfigured()
256257
test.socket.matter:__expect_send({ mock_device_ap_thermo_aqs.id, read_request })
257258

258259
test.socket.device_lifecycle:__queue_receive({ mock_device_ap_thermo_aqs.id, "init" })
259-
local subscribe_request = nil
260+
local subscribe_request
260261
for _, attributes in pairs(cluster_subscribe_list_configured) do
261262
for _, attribute in ipairs(attributes) do
262263
if subscribe_request == nil then
@@ -269,11 +270,13 @@ local function test_init_ap_thermo_aqs_preconfigured()
269270
test.socket.matter:__expect_send({mock_device_ap_thermo_aqs.id, subscribe_request})
270271
end
271272

272-
local expected_update_metadata= {
273-
optional_component_capabilities={
273+
local expected_update_metadata = {
274+
optional_component_capabilities = {
274275
{
275276
"main",
276-
{},
277+
{
278+
"switch",
279+
},
277280
},
278281
{
279282
"activatedCarbonFilter",
@@ -293,13 +296,6 @@ local expected_update_metadata= {
293296
profile="air-purifier-modular",
294297
}
295298

296-
local subscribe_request = cluster_subscribe_list[1]:subscribe(mock_device_basic)
297-
for i, cluster in ipairs(cluster_subscribe_list) do
298-
if i > 1 then
299-
subscribe_request:merge(cluster:subscribe(mock_device_basic))
300-
end
301-
end
302-
303299
test.register_coroutine_test(
304300
"Test profile change on init for basic Air Purifier device",
305301
function()
@@ -313,13 +309,20 @@ test.register_coroutine_test(
313309
{enabled_optional_capabilities = expected_update_metadata.optional_component_capabilities}
314310
)
315311
test.socket.device_lifecycle:__queue_receive(mock_device_basic:generate_info_changed({ profile = updated_device_profile }))
312+
local subscribe_request = cluster_subscribe_list[1]:subscribe(mock_device_basic)
313+
for i, cluster in ipairs(cluster_subscribe_list) do
314+
if i > 1 then
315+
subscribe_request:merge(cluster:subscribe(mock_device_basic))
316+
end
317+
end
318+
subscribe_request:merge(clusters.OnOff.attributes.OnOff:subscribe(mock_device_basic))
316319
test.socket.matter:__expect_send({mock_device_basic.id, subscribe_request})
317320
end,
318321
{ test_init = test_init_basic }
319322
)
320323

321-
local expected_update_metadata= {
322-
optional_component_capabilities={
324+
local expected_update_metadata_configured = {
325+
optional_component_capabilities = {
323326
{
324327
"main",
325328
{
@@ -358,17 +361,6 @@ local expected_update_metadata= {
358361
profile="air-purifier-modular",
359362
}
360363

361-
local subscribe_request = nil
362-
for _, attributes in pairs(cluster_subscribe_list_configured) do
363-
for _, attribute in ipairs(attributes) do
364-
if subscribe_request == nil then
365-
subscribe_request = attribute:subscribe(mock_device_ap_thermo_aqs)
366-
else
367-
subscribe_request:merge(attribute:subscribe(mock_device_ap_thermo_aqs))
368-
end
369-
end
370-
end
371-
372364
test.register_coroutine_test(
373365
"Test profile change on init for AP and Thermo and AQS combined device type",
374366
function()
@@ -379,14 +371,24 @@ test.register_coroutine_test(
379371
mock_device_ap_thermo_aqs.id,
380372
clusters.Thermostat.attributes.AttributeList:build_test_report_data(mock_device_ap_thermo_aqs, 1, {uint32(0)})
381373
})
382-
mock_device_ap_thermo_aqs:expect_metadata_update(expected_update_metadata)
374+
mock_device_ap_thermo_aqs:expect_metadata_update(expected_update_metadata_configured)
383375

384376
test.wait_for_events()
385377

386378
local updated_device_profile = t_utils.get_profile_definition("air-purifier-modular.yml",
387-
{enabled_optional_capabilities = expected_update_metadata.optional_component_capabilities}
379+
{enabled_optional_capabilities = expected_update_metadata_configured.optional_component_capabilities}
388380
)
389381
test.socket.device_lifecycle:__queue_receive(mock_device_ap_thermo_aqs:generate_info_changed({ profile = updated_device_profile }))
382+
local subscribe_request
383+
for _, attributes in pairs(cluster_subscribe_list_configured) do
384+
for _, attribute in ipairs(attributes) do
385+
if subscribe_request == nil then
386+
subscribe_request = attribute:subscribe(mock_device_ap_thermo_aqs)
387+
else
388+
subscribe_request:merge(attribute:subscribe(mock_device_ap_thermo_aqs))
389+
end
390+
end
391+
end
390392
test.socket.matter:__expect_send({mock_device_ap_thermo_aqs.id, subscribe_request})
391393
end,
392394
{ test_init = test_init_ap_thermo_aqs_preconfigured }

0 commit comments

Comments
 (0)