matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
40 lines (35 loc) • 1.57 kB
text/typescript
import { parseDockingStationStatus, hasDockingStationError, DockingStationStatusType, DockingStationStatus } from '../../model/DockingStationStatus';
describe('DockingStationStatus', () => {
it('should parse docking station status correctly', () => {
const dss = 2729;
const status = parseDockingStationStatus(dss);
expect(status.cleanFluidStatus).toBe(2);
expect(status.waterBoxFilterStatus).toBe(2);
expect(status.dustBagStatus).toBe(2);
expect(status.dirtyWaterBoxStatus).toBe(2);
expect(status.clearWaterBoxStatus).toBe(2);
expect(status.isUpdownWaterReady).toBe(1);
});
it('should detect error in any status field', () => {
const status: DockingStationStatus = {
cleanFluidStatus: DockingStationStatusType.OK,
waterBoxFilterStatus: DockingStationStatusType.OK,
dustBagStatus: DockingStationStatusType.Error,
dirtyWaterBoxStatus: DockingStationStatusType.OK,
clearWaterBoxStatus: DockingStationStatusType.OK,
isUpdownWaterReady: DockingStationStatusType.OK,
};
expect(hasDockingStationError(status)).toBe(true);
});
it('should return true if error in any field', () => {
const status: DockingStationStatus = {
cleanFluidStatus: 2,
waterBoxFilterStatus: 2,
dustBagStatus: 2,
dirtyWaterBoxStatus: 2,
clearWaterBoxStatus: 1, // This means there is a problem with the clear water box
isUpdownWaterReady: 1, // This means there is a problem with the updown water
};
expect(hasDockingStationError(status)).toBe(true);
});
});