homebridge 2.0.0-beta.44 → 2.0.0-beta.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +3 -365
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +13 -85
- package/dist/api.js.map +1 -1
- package/dist/bridgeService.d.ts +0 -25
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +32 -85
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +12 -15
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +152 -83
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +21 -105
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +57 -134
- package/dist/childBridgeService.js.map +1 -1
- package/dist/cli.js +0 -2
- package/dist/cli.js.map +1 -1
- package/dist/externalPortService.d.ts +0 -21
- package/dist/externalPortService.d.ts.map +1 -1
- package/dist/externalPortService.js +0 -28
- package/dist/externalPortService.js.map +1 -1
- package/dist/index.d.ts +0 -112
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -44
- package/dist/index.js.map +1 -1
- package/dist/ipcService.d.ts +23 -15
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/ipcService.js +6 -12
- package/dist/ipcService.js.map +1 -1
- package/dist/logger.d.ts +0 -46
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +13 -57
- package/dist/logger.js.map +1 -1
- package/dist/matter/BaseMatterManager.d.ts +19 -0
- package/dist/matter/BaseMatterManager.d.ts.map +1 -0
- package/dist/matter/BaseMatterManager.js +170 -0
- package/dist/matter/BaseMatterManager.js.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts +7 -69
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
- package/dist/matter/ChildBridgeMatterManager.js +51 -234
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
- package/dist/matter/ClusterCommandMapper.d.ts +5 -0
- package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
- package/dist/matter/ClusterCommandMapper.js +203 -0
- package/dist/matter/ClusterCommandMapper.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +0 -27
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.js +3 -28
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
- package/dist/matter/MatterAPIImpl.d.ts +0 -68
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
- package/dist/matter/MatterAPIImpl.js +7 -107
- package/dist/matter/MatterAPIImpl.js.map +1 -1
- package/dist/matter/MatterBridgeManager.d.ts +9 -60
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
- package/dist/matter/MatterBridgeManager.js +140 -216
- package/dist/matter/MatterBridgeManager.js.map +1 -1
- package/dist/matter/MatterConfigCollector.d.ts +1 -20
- package/dist/matter/MatterConfigCollector.d.ts.map +1 -1
- package/dist/matter/MatterConfigCollector.js +15 -28
- package/dist/matter/MatterConfigCollector.js.map +1 -1
- package/dist/matter/accessoryCache.d.ts +0 -48
- package/dist/matter/accessoryCache.d.ts.map +1 -1
- package/dist/matter/accessoryCache.js +1 -60
- package/dist/matter/accessoryCache.js.map +1 -1
- package/dist/matter/behaviors/AirQualityBehavior.d.ts +0 -42
- package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/AirQualityBehavior.js +0 -44
- package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +4 -42
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.js +12 -42
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
- package/dist/matter/behaviors/ColorControlBehavior.d.ts +0 -49
- package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ColorControlBehavior.js +0 -90
- package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +0 -91
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +0 -96
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.d.ts +0 -11
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.js +0 -25
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
- package/dist/matter/behaviors/FanControlBehavior.d.ts +0 -11
- package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/FanControlBehavior.js +0 -25
- package/dist/matter/behaviors/FanControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/IdentifyBehavior.d.ts +0 -11
- package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/IdentifyBehavior.js +0 -17
- package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -1
- package/dist/matter/behaviors/LevelControlBehavior.d.ts +0 -20
- package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/LevelControlBehavior.js +0 -52
- package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/OnOffBehavior.d.ts +0 -17
- package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/OnOffBehavior.js +0 -38
- package/dist/matter/behaviors/OnOffBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.js +0 -17
- package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js +0 -29
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.js +0 -17
- package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +0 -11
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.js +0 -23
- package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -1
- package/dist/matter/behaviors/ThermostatBehavior.d.ts +0 -11
- package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ThermostatBehavior.js +0 -39
- package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +0 -17
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.js +0 -56
- package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -1
- package/dist/matter/behaviors/index.d.ts +0 -5
- package/dist/matter/behaviors/index.d.ts.map +1 -1
- package/dist/matter/behaviors/index.js +0 -5
- package/dist/matter/behaviors/index.js.map +1 -1
- package/dist/matter/configValidator.d.ts +0 -55
- package/dist/matter/configValidator.d.ts.map +1 -1
- package/dist/matter/configValidator.js +1 -68
- package/dist/matter/configValidator.js.map +1 -1
- package/dist/matter/errorHandler.d.ts +0 -22
- package/dist/matter/errorHandler.d.ts.map +1 -1
- package/dist/matter/errorHandler.js +0 -32
- package/dist/matter/errorHandler.js.map +1 -1
- package/dist/matter/errors.d.ts +0 -132
- package/dist/matter/errors.d.ts.map +1 -1
- package/dist/matter/errors.js +0 -132
- package/dist/matter/errors.js.map +1 -1
- package/dist/matter/index.d.ts +0 -30
- package/dist/matter/index.d.ts.map +1 -1
- package/dist/matter/index.js +0 -13
- package/dist/matter/index.js.map +1 -1
- package/dist/matter/logFormatter.d.ts +0 -17
- package/dist/matter/logFormatter.d.ts.map +1 -1
- package/dist/matter/logFormatter.js +5 -63
- package/dist/matter/logFormatter.js.map +1 -1
- package/dist/matter/server.d.ts +12 -236
- package/dist/matter/server.d.ts.map +1 -1
- package/dist/matter/server.js +177 -488
- package/dist/matter/server.js.map +1 -1
- package/dist/matter/serverHelpers.d.ts +0 -56
- package/dist/matter/serverHelpers.d.ts.map +1 -1
- package/dist/matter/serverHelpers.js +1 -66
- package/dist/matter/serverHelpers.js.map +1 -1
- package/dist/matter/sharedTypes.d.ts +0 -83
- package/dist/matter/sharedTypes.d.ts.map +1 -1
- package/dist/matter/sharedTypes.js +0 -26
- package/dist/matter/sharedTypes.js.map +1 -1
- package/dist/matter/storage.d.ts +0 -90
- package/dist/matter/storage.d.ts.map +1 -1
- package/dist/matter/storage.js +2 -130
- package/dist/matter/storage.js.map +1 -1
- package/dist/matter/typeHelpers.d.ts +0 -30
- package/dist/matter/typeHelpers.d.ts.map +1 -1
- package/dist/matter/typeHelpers.js +0 -24
- package/dist/matter/typeHelpers.js.map +1 -1
- package/dist/matter/types.d.ts +0 -273
- package/dist/matter/types.d.ts.map +1 -1
- package/dist/matter/types.js +0 -83
- package/dist/matter/types.js.map +1 -1
- package/dist/platformAccessory.d.ts +0 -15
- package/dist/platformAccessory.d.ts.map +1 -1
- package/dist/platformAccessory.js +6 -32
- package/dist/platformAccessory.js.map +1 -1
- package/dist/plugin.d.ts +0 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +6 -29
- package/dist/plugin.js.map +1 -1
- package/dist/pluginManager.d.ts +0 -22
- package/dist/pluginManager.d.ts.map +1 -1
- package/dist/pluginManager.js +18 -41
- package/dist/pluginManager.js.map +1 -1
- package/dist/server.d.ts +9 -29
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +308 -157
- package/dist/server.js.map +1 -1
- package/dist/user.d.ts +0 -3
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +2 -5
- package/dist/user.js.map +1 -1
- package/dist/util/mac.js +0 -1
- package/dist/util/mac.js.map +1 -1
- package/package.json +4 -4
- package/dist/api.spec.d.ts +0 -2
- package/dist/api.spec.d.ts.map +0 -1
- package/dist/api.spec.js +0 -413
- package/dist/api.spec.js.map +0 -1
- package/dist/logger.spec.d.ts +0 -2
- package/dist/logger.spec.d.ts.map +0 -1
- package/dist/logger.spec.js +0 -95
- package/dist/logger.spec.js.map +0 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +0 -2
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +0 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +0 -293
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +0 -1
- package/dist/matter/accessoryCache.spec.d.ts +0 -2
- package/dist/matter/accessoryCache.spec.d.ts.map +0 -1
- package/dist/matter/accessoryCache.spec.js +0 -452
- package/dist/matter/accessoryCache.spec.js.map +0 -1
- package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts +0 -5
- package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/AirQualityBehavior.spec.js +0 -46
- package/dist/matter/behaviors/AirQualityBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +0 -2
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/BehaviorRegistry.spec.js +0 -307
- package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +0 -1
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ColorControlBehavior.spec.js +0 -29
- package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts +0 -5
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js +0 -95
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/DoorLockBehavior.spec.js +0 -120
- package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/FanControlBehavior.spec.js +0 -23
- package/dist/matter/behaviors/FanControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/IdentifyBehavior.spec.js +0 -64
- package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/LevelControlBehavior.spec.js +0 -145
- package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/OnOffBehavior.spec.js +0 -128
- package/dist/matter/behaviors/OnOffBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +0 -57
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +0 -55
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +0 -57
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +0 -53
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ThermostatBehavior.spec.js +0 -23
- package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +0 -27
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +0 -1
- package/dist/matter/configValidator.spec.d.ts +0 -2
- package/dist/matter/configValidator.spec.d.ts.map +0 -1
- package/dist/matter/configValidator.spec.js +0 -390
- package/dist/matter/configValidator.spec.js.map +0 -1
- package/dist/matter/errorHandler.spec.d.ts +0 -2
- package/dist/matter/errorHandler.spec.d.ts.map +0 -1
- package/dist/matter/errorHandler.spec.js +0 -159
- package/dist/matter/errorHandler.spec.js.map +0 -1
- package/dist/matter/logFormatter.spec.d.ts +0 -2
- package/dist/matter/logFormatter.spec.d.ts.map +0 -1
- package/dist/matter/logFormatter.spec.js +0 -252
- package/dist/matter/logFormatter.spec.js.map +0 -1
- package/dist/matter/serverHelpers.spec.d.ts +0 -2
- package/dist/matter/serverHelpers.spec.d.ts.map +0 -1
- package/dist/matter/serverHelpers.spec.js +0 -527
- package/dist/matter/serverHelpers.spec.js.map +0 -1
- package/dist/matter/storage.spec.d.ts +0 -2
- package/dist/matter/storage.spec.d.ts.map +0 -1
- package/dist/matter/storage.spec.js +0 -570
- package/dist/matter/storage.spec.js.map +0 -1
- package/dist/matter/typeHelpers.spec.d.ts +0 -2
- package/dist/matter/typeHelpers.spec.d.ts.map +0 -1
- package/dist/matter/typeHelpers.spec.js +0 -127
- package/dist/matter/typeHelpers.spec.js.map +0 -1
- package/dist/platformAccessory.spec.d.ts +0 -2
- package/dist/platformAccessory.spec.d.ts.map +0 -1
- package/dist/platformAccessory.spec.js +0 -126
- package/dist/platformAccessory.spec.js.map +0 -1
- package/dist/pluginManager.spec.d.ts +0 -2
- package/dist/pluginManager.spec.d.ts.map +0 -1
- package/dist/pluginManager.spec.js +0 -43
- package/dist/pluginManager.spec.js.map +0 -1
- package/dist/server.spec.d.ts +0 -2
- package/dist/server.spec.d.ts.map +0 -1
- package/dist/server.spec.js +0 -57
- package/dist/server.spec.js.map +0 -1
- package/dist/user.spec.d.ts +0 -2
- package/dist/user.spec.d.ts.map +0 -1
- package/dist/user.spec.js +0 -31
- package/dist/user.spec.js.map +0 -1
- package/dist/util/mac.spec.d.ts +0 -2
- package/dist/util/mac.spec.d.ts.map +0 -1
- package/dist/util/mac.spec.js +0 -36
- package/dist/util/mac.spec.js.map +0 -1
- package/dist/version.spec.d.ts +0 -2
- package/dist/version.spec.d.ts.map +0 -1
- package/dist/version.spec.js +0 -20
- package/dist/version.spec.js.map +0 -1
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { HomebridgeFanControlServer } from './FanControlBehavior.js';
|
|
3
|
-
describe('homebridgeFanControlServer', () => {
|
|
4
|
-
describe('setRegistry', () => {
|
|
5
|
-
it('should set the registry', () => {
|
|
6
|
-
const newRegistry = {};
|
|
7
|
-
HomebridgeFanControlServer.setRegistry(newRegistry);
|
|
8
|
-
expect(true).toBe(true);
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
describe('behavior structure', () => {
|
|
12
|
-
it('should extend FanControlServer', () => {
|
|
13
|
-
expect(HomebridgeFanControlServer.prototype).toBeDefined();
|
|
14
|
-
});
|
|
15
|
-
it('should have initialize method', () => {
|
|
16
|
-
expect(typeof HomebridgeFanControlServer.prototype.initialize).toBe('function');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
// Note: FanControlBehavior uses private methods (#handleFanModeChange, #handlePercentSettingChange)
|
|
21
|
-
// and reactTo() pattern which makes direct unit testing difficult.
|
|
22
|
-
// Integration tests would be more appropriate for testing the event reaction logic.
|
|
23
|
-
//# sourceMappingURL=FanControlBehavior.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FanControlBehavior.spec.js","sourceRoot":"","sources":["../../../src/matter/behaviors/FanControlBehavior.spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAEpE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,WAAW,GAAG,EAAsB,CAAA;YAC1C,0BAA0B,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;YACnD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,OAAO,0BAA0B,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,oGAAoG;AACpG,mEAAmE;AACnE,oFAAoF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IdentifyBehavior.spec.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/IdentifyBehavior.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { HomebridgeIdentifyServer } from './IdentifyBehavior.js';
|
|
3
|
-
describe('homebridgeIdentifyServer', () => {
|
|
4
|
-
let mockRegistry;
|
|
5
|
-
let behavior;
|
|
6
|
-
let mockEndpoint;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
// Create mock registry
|
|
9
|
-
mockRegistry = {
|
|
10
|
-
executeHandler: vi.fn().mockResolvedValue(true),
|
|
11
|
-
};
|
|
12
|
-
// Set registry on behavior class
|
|
13
|
-
HomebridgeIdentifyServer.setRegistry(mockRegistry);
|
|
14
|
-
// Create mock endpoint
|
|
15
|
-
mockEndpoint = {
|
|
16
|
-
id: 'test-endpoint-123',
|
|
17
|
-
};
|
|
18
|
-
// Create behavior instance with mocked properties
|
|
19
|
-
behavior = Object.create(HomebridgeIdentifyServer.prototype);
|
|
20
|
-
Object.defineProperty(behavior, 'endpoint', {
|
|
21
|
-
get: () => mockEndpoint,
|
|
22
|
-
configurable: true,
|
|
23
|
-
});
|
|
24
|
-
// Mock super method to prevent actual execution
|
|
25
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeIdentifyServer.prototype), 'identify').mockReturnValue(undefined);
|
|
26
|
-
});
|
|
27
|
-
describe('setRegistry', () => {
|
|
28
|
-
it('should set the registry', () => {
|
|
29
|
-
const newRegistry = {};
|
|
30
|
-
HomebridgeIdentifyServer.setRegistry(newRegistry);
|
|
31
|
-
expect(true).toBe(true);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe('identify', () => {
|
|
35
|
-
it('should execute handler with identify request', async () => {
|
|
36
|
-
const request = { identifyTime: 10 };
|
|
37
|
-
await behavior.identify(request);
|
|
38
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'identify', 'identify', request);
|
|
39
|
-
});
|
|
40
|
-
it('should handle identify time of 0 (stop identifying)', async () => {
|
|
41
|
-
const request = { identifyTime: 0 };
|
|
42
|
-
await behavior.identify(request);
|
|
43
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'identify', 'identify', request);
|
|
44
|
-
});
|
|
45
|
-
it('should handle long identify times', async () => {
|
|
46
|
-
const request = { identifyTime: 65535 }; // Max uint16
|
|
47
|
-
await behavior.identify(request);
|
|
48
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'identify', 'identify', request);
|
|
49
|
-
});
|
|
50
|
-
it('should handle handler execution errors gracefully', async () => {
|
|
51
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
52
|
-
const request = { identifyTime: 5 };
|
|
53
|
-
// Errors are wrapped in StatusResponseError and propagated to Matter.js
|
|
54
|
-
await expect(behavior.identify(request)).rejects.toThrow('Failed to identify: Handler failed');
|
|
55
|
-
});
|
|
56
|
-
it('should call identify even if handler is not registered', () => {
|
|
57
|
-
mockRegistry.executeHandler = vi.fn().mockResolvedValue(false);
|
|
58
|
-
const request = { identifyTime: 5 };
|
|
59
|
-
// Should not throw
|
|
60
|
-
expect(() => behavior.identify(request)).not.toThrow();
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
//# sourceMappingURL=IdentifyBehavior.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IdentifyBehavior.spec.js","sourceRoot":"","sources":["../../../src/matter/behaviors/IdentifyBehavior.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LevelControlBehavior.spec.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/LevelControlBehavior.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { HomebridgeLevelControlServer } from './LevelControlBehavior.js';
|
|
3
|
-
describe('homebridgeLevelControlServer', () => {
|
|
4
|
-
let mockRegistry;
|
|
5
|
-
let behavior;
|
|
6
|
-
let mockEndpoint;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
// Create mock registry
|
|
9
|
-
mockRegistry = {
|
|
10
|
-
executeHandler: vi.fn().mockResolvedValue(true),
|
|
11
|
-
syncStateToCache: vi.fn(),
|
|
12
|
-
};
|
|
13
|
-
// Set registry on behavior class
|
|
14
|
-
HomebridgeLevelControlServer.setRegistry(mockRegistry);
|
|
15
|
-
// Create mock endpoint
|
|
16
|
-
mockEndpoint = {
|
|
17
|
-
id: 'test-endpoint-123',
|
|
18
|
-
};
|
|
19
|
-
// Create behavior instance with mocked properties
|
|
20
|
-
behavior = Object.create(HomebridgeLevelControlServer.prototype);
|
|
21
|
-
Object.defineProperty(behavior, 'endpoint', {
|
|
22
|
-
get: () => mockEndpoint,
|
|
23
|
-
configurable: true,
|
|
24
|
-
});
|
|
25
|
-
// Mock super methods to prevent actual execution
|
|
26
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeLevelControlServer.prototype), 'moveToLevel').mockReturnValue(undefined);
|
|
27
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeLevelControlServer.prototype), 'move').mockReturnValue(undefined);
|
|
28
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeLevelControlServer.prototype), 'step').mockReturnValue(undefined);
|
|
29
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeLevelControlServer.prototype), 'stop').mockReturnValue(undefined);
|
|
30
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeLevelControlServer.prototype), 'moveToLevelWithOnOff').mockReturnValue(undefined);
|
|
31
|
-
});
|
|
32
|
-
describe('setRegistry', () => {
|
|
33
|
-
it('should set the registry', () => {
|
|
34
|
-
const newRegistry = {};
|
|
35
|
-
HomebridgeLevelControlServer.setRegistry(newRegistry);
|
|
36
|
-
expect(true).toBe(true);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
describe('moveToLevel', () => {
|
|
40
|
-
it('should execute handler with request', async () => {
|
|
41
|
-
const request = { level: 128, transitionTime: 0, optionsMask: {}, optionsOverride: {} };
|
|
42
|
-
await behavior.moveToLevel(request);
|
|
43
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', 'moveToLevel', request);
|
|
44
|
-
});
|
|
45
|
-
it('should sync currentLevel to cache', async () => {
|
|
46
|
-
const request = { level: 200, transitionTime: 10, optionsMask: {}, optionsOverride: {} };
|
|
47
|
-
await behavior.moveToLevel(request);
|
|
48
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', { currentLevel: 200 });
|
|
49
|
-
});
|
|
50
|
-
it('should handle level 0', async () => {
|
|
51
|
-
const request = { level: 0, transitionTime: 0, optionsMask: {}, optionsOverride: {} };
|
|
52
|
-
await behavior.moveToLevel(request);
|
|
53
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', { currentLevel: 0 });
|
|
54
|
-
});
|
|
55
|
-
it('should handle level 254 (max)', async () => {
|
|
56
|
-
const request = { level: 254, transitionTime: 0, optionsMask: {}, optionsOverride: {} };
|
|
57
|
-
await behavior.moveToLevel(request);
|
|
58
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', { currentLevel: 254 });
|
|
59
|
-
});
|
|
60
|
-
it('should handle handler execution errors gracefully', async () => {
|
|
61
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
62
|
-
const request = { level: 100, transitionTime: 0, optionsMask: {}, optionsOverride: {} };
|
|
63
|
-
// Errors are wrapped in StatusResponseError and propagated to Matter.js
|
|
64
|
-
await expect(behavior.moveToLevel(request)).rejects.toThrow('Failed to set level: Handler failed');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
describe('move', () => {
|
|
68
|
-
it('should execute handler with request', async () => {
|
|
69
|
-
const request = { moveMode: 0, rate: 10, optionsMask: {}, optionsOverride: {} };
|
|
70
|
-
await behavior.move(request);
|
|
71
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', 'move', request);
|
|
72
|
-
});
|
|
73
|
-
it('should not sync state to cache', async () => {
|
|
74
|
-
const request = { moveMode: 0, rate: 10, optionsMask: {}, optionsOverride: {} };
|
|
75
|
-
await behavior.move(request);
|
|
76
|
-
expect(mockRegistry.syncStateToCache).not.toHaveBeenCalled();
|
|
77
|
-
});
|
|
78
|
-
it('should handle handler execution errors gracefully', async () => {
|
|
79
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
80
|
-
const request = { moveMode: 0, rate: 10, optionsMask: {}, optionsOverride: {} };
|
|
81
|
-
// Errors are wrapped in StatusResponseError and propagated to Matter.js
|
|
82
|
-
await expect(behavior.move(request)).rejects.toThrow('Failed to move level: Handler failed');
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
describe('step', () => {
|
|
86
|
-
it('should execute handler with request', async () => {
|
|
87
|
-
const request = { stepMode: 0, stepSize: 20, transitionTime: 5, optionsMask: {}, optionsOverride: {} };
|
|
88
|
-
await behavior.step(request);
|
|
89
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', 'step', request);
|
|
90
|
-
});
|
|
91
|
-
it('should not sync state to cache', async () => {
|
|
92
|
-
const request = { stepMode: 0, stepSize: 20, transitionTime: 5, optionsMask: {}, optionsOverride: {} };
|
|
93
|
-
await behavior.step(request);
|
|
94
|
-
expect(mockRegistry.syncStateToCache).not.toHaveBeenCalled();
|
|
95
|
-
});
|
|
96
|
-
it('should handle handler execution errors gracefully', async () => {
|
|
97
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
98
|
-
const request = { stepMode: 0, stepSize: 20, transitionTime: 5, optionsMask: {}, optionsOverride: {} };
|
|
99
|
-
// Errors are wrapped in StatusResponseError and propagated to Matter.js
|
|
100
|
-
await expect(behavior.step(request)).rejects.toThrow('Failed to step level: Handler failed');
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
describe('stop', () => {
|
|
104
|
-
it('should execute handler with request', async () => {
|
|
105
|
-
const request = { optionsMask: {}, optionsOverride: {} };
|
|
106
|
-
await behavior.stop(request);
|
|
107
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', 'stop', request);
|
|
108
|
-
});
|
|
109
|
-
it('should not sync state to cache', async () => {
|
|
110
|
-
const request = { optionsMask: {}, optionsOverride: {} };
|
|
111
|
-
await behavior.stop(request);
|
|
112
|
-
expect(mockRegistry.syncStateToCache).not.toHaveBeenCalled();
|
|
113
|
-
});
|
|
114
|
-
it('should handle handler execution errors gracefully', async () => {
|
|
115
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
116
|
-
const request = { optionsMask: {}, optionsOverride: {} };
|
|
117
|
-
// Errors are wrapped in StatusResponseError and propagated to Matter.js
|
|
118
|
-
await expect(behavior.stop(request)).rejects.toThrow('Failed to stop level change: Handler failed');
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
describe('moveToLevelWithOnOff', () => {
|
|
122
|
-
it('should execute handler with request', async () => {
|
|
123
|
-
const request = { level: 150, transitionTime: 5, optionsMask: {}, optionsOverride: {} };
|
|
124
|
-
await behavior.moveToLevelWithOnOff(request);
|
|
125
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', 'moveToLevelWithOnOff', request);
|
|
126
|
-
});
|
|
127
|
-
it('should sync currentLevel to cache', async () => {
|
|
128
|
-
const request = { level: 180, transitionTime: 10, optionsMask: {}, optionsOverride: {} };
|
|
129
|
-
await behavior.moveToLevelWithOnOff(request);
|
|
130
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', { currentLevel: 180 });
|
|
131
|
-
});
|
|
132
|
-
it('should handle level 0', async () => {
|
|
133
|
-
const request = { level: 0, transitionTime: 0, optionsMask: {}, optionsOverride: {} };
|
|
134
|
-
await behavior.moveToLevelWithOnOff(request);
|
|
135
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'levelControl', { currentLevel: 0 });
|
|
136
|
-
});
|
|
137
|
-
it('should handle handler execution errors gracefully', async () => {
|
|
138
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
139
|
-
const request = { level: 100, transitionTime: 0, optionsMask: {}, optionsOverride: {} };
|
|
140
|
-
// Errors are wrapped in StatusResponseError and propagated to Matter.js
|
|
141
|
-
await expect(behavior.moveToLevelWithOnOff(request)).rejects.toThrow('Failed to set level with on/off: Handler failed');
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
//# sourceMappingURL=LevelControlBehavior.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LevelControlBehavior.spec.js","sourceRoot":"","sources":["../../../src/matter/behaviors/LevelControlBehavior.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OnOffBehavior.spec.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/OnOffBehavior.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { HomebridgeOnOffServer } from './OnOffBehavior.js';
|
|
3
|
-
describe('homebridgeOnOffServer', () => {
|
|
4
|
-
let mockRegistry;
|
|
5
|
-
let behavior;
|
|
6
|
-
let mockEndpoint;
|
|
7
|
-
let mockState;
|
|
8
|
-
beforeEach(() => {
|
|
9
|
-
// Create mock registry
|
|
10
|
-
mockRegistry = {
|
|
11
|
-
executeHandler: vi.fn().mockResolvedValue(true),
|
|
12
|
-
syncStateToCache: vi.fn(),
|
|
13
|
-
};
|
|
14
|
-
// Set registry on behavior class
|
|
15
|
-
HomebridgeOnOffServer.setRegistry(mockRegistry);
|
|
16
|
-
// Create mock state
|
|
17
|
-
mockState = { onOff: false };
|
|
18
|
-
// Create mock endpoint
|
|
19
|
-
mockEndpoint = {
|
|
20
|
-
id: 'test-endpoint-123',
|
|
21
|
-
};
|
|
22
|
-
// Create behavior instance with mocked properties
|
|
23
|
-
behavior = Object.create(HomebridgeOnOffServer.prototype);
|
|
24
|
-
Object.defineProperty(behavior, 'endpoint', {
|
|
25
|
-
get: () => mockEndpoint,
|
|
26
|
-
configurable: true,
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(behavior, 'state', {
|
|
29
|
-
get: () => mockState,
|
|
30
|
-
set: (value) => {
|
|
31
|
-
mockState = value;
|
|
32
|
-
},
|
|
33
|
-
configurable: true,
|
|
34
|
-
});
|
|
35
|
-
// Mock super methods to prevent actual execution
|
|
36
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeOnOffServer.prototype), 'on').mockReturnValue(undefined);
|
|
37
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeOnOffServer.prototype), 'off').mockReturnValue(undefined);
|
|
38
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeOnOffServer.prototype), 'toggle').mockReturnValue(undefined);
|
|
39
|
-
});
|
|
40
|
-
describe('setRegistry', () => {
|
|
41
|
-
it('should set the registry', () => {
|
|
42
|
-
const newRegistry = {};
|
|
43
|
-
HomebridgeOnOffServer.setRegistry(newRegistry);
|
|
44
|
-
// Registry is set (can't directly verify private static, but method doesn't throw)
|
|
45
|
-
expect(true).toBe(true);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
describe('on', () => {
|
|
49
|
-
it('should execute handler for on command', async () => {
|
|
50
|
-
await behavior.on();
|
|
51
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'onOff', 'on');
|
|
52
|
-
});
|
|
53
|
-
it('should sync onOff:true to cache', async () => {
|
|
54
|
-
await behavior.on();
|
|
55
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'onOff', { onOff: true });
|
|
56
|
-
});
|
|
57
|
-
it('should propagate handler execution errors', async () => {
|
|
58
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
59
|
-
// Should throw/reject when handler fails
|
|
60
|
-
await expect(behavior.on()).rejects.toThrow('Handler failed');
|
|
61
|
-
});
|
|
62
|
-
it('should not sync state if handler fails', async () => {
|
|
63
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
64
|
-
try {
|
|
65
|
-
await behavior.on();
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
// Expected to throw
|
|
69
|
-
}
|
|
70
|
-
// State should NOT be synced when handler fails
|
|
71
|
-
expect(mockRegistry.syncStateToCache).not.toHaveBeenCalled();
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
describe('off', () => {
|
|
75
|
-
it('should execute handler for off command', async () => {
|
|
76
|
-
await behavior.off();
|
|
77
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'onOff', 'off');
|
|
78
|
-
});
|
|
79
|
-
it('should sync onOff:false to cache', async () => {
|
|
80
|
-
await behavior.off();
|
|
81
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'onOff', { onOff: false });
|
|
82
|
-
});
|
|
83
|
-
it('should propagate handler execution errors', async () => {
|
|
84
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
85
|
-
// Should throw/reject when handler fails
|
|
86
|
-
await expect(behavior.off()).rejects.toThrow('Handler failed');
|
|
87
|
-
});
|
|
88
|
-
it('should not sync state if handler fails', async () => {
|
|
89
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
90
|
-
try {
|
|
91
|
-
await behavior.off();
|
|
92
|
-
}
|
|
93
|
-
catch {
|
|
94
|
-
// Expected to throw
|
|
95
|
-
}
|
|
96
|
-
// State should NOT be synced when handler fails
|
|
97
|
-
expect(mockRegistry.syncStateToCache).not.toHaveBeenCalled();
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
describe('toggle', () => {
|
|
101
|
-
it('should execute handler for toggle command', async () => {
|
|
102
|
-
await behavior.toggle();
|
|
103
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'onOff', 'toggle');
|
|
104
|
-
});
|
|
105
|
-
it('should sync toggled state (false -> true) to cache', async () => {
|
|
106
|
-
mockState.onOff = false;
|
|
107
|
-
await behavior.toggle();
|
|
108
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'onOff', { onOff: true });
|
|
109
|
-
});
|
|
110
|
-
it('should sync toggled state (true -> false) to cache', async () => {
|
|
111
|
-
mockState.onOff = true;
|
|
112
|
-
await behavior.toggle();
|
|
113
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'onOff', { onOff: false });
|
|
114
|
-
});
|
|
115
|
-
it('should handle undefined initial state', async () => {
|
|
116
|
-
mockState.onOff = undefined;
|
|
117
|
-
await behavior.toggle();
|
|
118
|
-
// undefined -> true (! undefined = true)
|
|
119
|
-
expect(mockRegistry.syncStateToCache).toHaveBeenCalledWith('test-endpoint-123', 'onOff', { onOff: true });
|
|
120
|
-
});
|
|
121
|
-
it('should propagate handler execution errors', async () => {
|
|
122
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
123
|
-
// Should throw/reject when handler fails
|
|
124
|
-
await expect(behavior.toggle()).rejects.toThrow('Handler failed');
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
//# sourceMappingURL=OnOffBehavior.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OnOffBehavior.spec.js","sourceRoot":"","sources":["../../../src/matter/behaviors/OnOffBehavior.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RvcCleanModeBehavior.spec.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcCleanModeBehavior.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { HomebridgeRvcCleanModeServer } from './RvcCleanModeBehavior.js';
|
|
3
|
-
describe('homebridgeRvcCleanModeServer', () => {
|
|
4
|
-
let mockRegistry;
|
|
5
|
-
let behavior;
|
|
6
|
-
let mockEndpoint;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
// Create mock registry
|
|
9
|
-
mockRegistry = {
|
|
10
|
-
executeHandler: vi.fn().mockResolvedValue(true),
|
|
11
|
-
};
|
|
12
|
-
// Set registry on behavior class
|
|
13
|
-
HomebridgeRvcCleanModeServer.setRegistry(mockRegistry);
|
|
14
|
-
// Create mock endpoint
|
|
15
|
-
mockEndpoint = {
|
|
16
|
-
id: 'test-endpoint-123',
|
|
17
|
-
};
|
|
18
|
-
// Create behavior instance with mocked properties
|
|
19
|
-
behavior = Object.create(HomebridgeRvcCleanModeServer.prototype);
|
|
20
|
-
Object.defineProperty(behavior, 'endpoint', {
|
|
21
|
-
get: () => mockEndpoint,
|
|
22
|
-
configurable: true,
|
|
23
|
-
});
|
|
24
|
-
// Mock super method
|
|
25
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeRvcCleanModeServer.prototype), 'changeToMode').mockReturnValue(undefined);
|
|
26
|
-
});
|
|
27
|
-
describe('setRegistry', () => {
|
|
28
|
-
it('should set the registry', () => {
|
|
29
|
-
const newRegistry = {};
|
|
30
|
-
HomebridgeRvcCleanModeServer.setRegistry(newRegistry);
|
|
31
|
-
expect(true).toBe(true);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe('changeToMode', () => {
|
|
35
|
-
it('should execute handler with request', () => {
|
|
36
|
-
const request = { newMode: 0 }; // Vacuum mode
|
|
37
|
-
behavior.changeToMode(request);
|
|
38
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'rvcCleanMode', 'changeToMode', request);
|
|
39
|
-
});
|
|
40
|
-
it('should handle different cleaning mode values', () => {
|
|
41
|
-
const modes = [0, 1, 2]; // Vacuum, Mop, VacuumAndMop
|
|
42
|
-
for (const mode of modes) {
|
|
43
|
-
const request = { newMode: mode };
|
|
44
|
-
behavior.changeToMode(request);
|
|
45
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'rvcCleanMode', 'changeToMode', request);
|
|
46
|
-
vi.clearAllMocks();
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
it('should handle handler execution errors gracefully', async () => {
|
|
50
|
-
mockRegistry.executeHandler = vi.fn().mockRejectedValue(new Error('Handler failed'));
|
|
51
|
-
const request = { newMode: 0 };
|
|
52
|
-
// Errors are wrapped in StatusResponseError and propagated to Matter.js
|
|
53
|
-
await expect(behavior.changeToMode(request)).rejects.toThrow('Failed to change clean mode: Handler failed');
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
//# sourceMappingURL=RvcCleanModeBehavior.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RvcCleanModeBehavior.spec.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcCleanModeBehavior.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RvcOperationalStateBehavior.spec.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { HomebridgeRvcOperationalStateServer } from './RvcOperationalStateBehavior.js';
|
|
3
|
-
describe('homebridgeRvcOperationalStateServer', () => {
|
|
4
|
-
let mockRegistry;
|
|
5
|
-
let behavior;
|
|
6
|
-
let mockEndpoint;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
// Create mock registry
|
|
9
|
-
mockRegistry = {
|
|
10
|
-
executeHandler: vi.fn().mockResolvedValue(true),
|
|
11
|
-
};
|
|
12
|
-
// Set registry on behavior class
|
|
13
|
-
HomebridgeRvcOperationalStateServer.setRegistry(mockRegistry);
|
|
14
|
-
// Create mock endpoint
|
|
15
|
-
mockEndpoint = {
|
|
16
|
-
id: 'test-endpoint-123',
|
|
17
|
-
};
|
|
18
|
-
// Create behavior instance with mocked properties
|
|
19
|
-
behavior = Object.create(HomebridgeRvcOperationalStateServer.prototype);
|
|
20
|
-
Object.defineProperty(behavior, 'endpoint', {
|
|
21
|
-
get: () => mockEndpoint,
|
|
22
|
-
configurable: true,
|
|
23
|
-
});
|
|
24
|
-
// Mock super methods
|
|
25
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeRvcOperationalStateServer.prototype), 'pause').mockReturnValue(undefined);
|
|
26
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeRvcOperationalStateServer.prototype), 'resume').mockReturnValue(undefined);
|
|
27
|
-
vi.spyOn(Object.getPrototypeOf(HomebridgeRvcOperationalStateServer.prototype), 'goHome').mockReturnValue(undefined);
|
|
28
|
-
});
|
|
29
|
-
describe('setRegistry', () => {
|
|
30
|
-
it('should set the registry', () => {
|
|
31
|
-
const newRegistry = {};
|
|
32
|
-
HomebridgeRvcOperationalStateServer.setRegistry(newRegistry);
|
|
33
|
-
expect(true).toBe(true);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
describe('pause', () => {
|
|
37
|
-
it('should execute handler for pause command', () => {
|
|
38
|
-
behavior.pause();
|
|
39
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'rvcOperationalState', 'pause');
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('resume', () => {
|
|
43
|
-
it('should execute handler for resume command', () => {
|
|
44
|
-
behavior.resume();
|
|
45
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'rvcOperationalState', 'resume');
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
describe('goHome', () => {
|
|
49
|
-
it('should execute handler for goHome command', () => {
|
|
50
|
-
behavior.goHome();
|
|
51
|
-
expect(mockRegistry.executeHandler).toHaveBeenCalledWith('test-endpoint-123', 'rvcOperationalState', 'goHome');
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=RvcOperationalStateBehavior.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RvcOperationalStateBehavior.spec.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RvcRunModeBehavior.spec.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.spec.ts"],"names":[],"mappings":""}
|