UNPKG

inventoresed

Version:

Z-Wave driver written entirely in JavaScript/TypeScript

56 lines (50 loc) 1.36 kB
import { ZWavePlusCCGet, ZWavePlusCCReport, ZWavePlusRoleType, } from "@zwave-js/cc"; import { CommandClasses } from "@zwave-js/core"; import { createMockZWaveRequestFrame, MockZWaveFrameType, MockZWaveRequestFrame, } from "@zwave-js/testing"; import path from "path"; import { integrationTest } from "../integrationTestSuite"; integrationTest("Response to Z-Wave Plus Info Get", { // debug: true, provisioningDirectory: path.join(__dirname, "fixtures/base_2_nodes"), nodeCapabilities: { commandClasses: [ { ccId: CommandClasses["Z-Wave Plus Info"], isSupported: true, version: 2, }, ], }, testBody: async (driver, node, mockController, mockNode) => { const zwpRequest = new ZWavePlusCCGet(mockController.host, { nodeId: mockNode.id, }); await mockNode.sendToController( createMockZWaveRequestFrame(zwpRequest), ); const { payload: response } = await mockNode.expectControllerFrame( 1000, ( msg, ): msg is MockZWaveRequestFrame & { payload: ZWavePlusCCReport; } => msg.type === MockZWaveFrameType.Request && msg.payload instanceof ZWavePlusCCReport, ); // Z-Wave+ v2 specifications, section 3.1 expect(response.zwavePlusVersion).toBe(2); // Z-Wave+ v2 specifications, section 4.1 expect(response.roleType).toBe( ZWavePlusRoleType.CentralStaticController, ); }, });