matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
67 lines • 2.09 kB
JavaScript
import { RoomEntity } from '../../core/domain/entities/Room.js';
import { ProtocolVersion } from '../../roborockCommunication/enums/index.js';
import { DeviceCategory } from '../../roborockCommunication/models/deviceCategory.js';
import { DeviceModel } from '../../roborockCommunication/models/deviceModel.js';
/**
* Create a minimal valid Device instance for tests.
* Override any fields via the `overrides` parameter.
*/
export function makeDeviceFixture(overrides = {}) {
const baseData = {
id: 'device-id',
firmwareVersion: '01.00.00',
serialNumber: 'SN123456',
model: DeviceModel.S6,
protocol: ProtocolVersion.V1,
category: DeviceCategory.VacuumCleaner,
batteryLevel: 100,
hasRealTimeConnection: true,
};
const baseStore = {
userData: {
username: 'tester',
uid: 0,
tokentype: 'Bearer',
token: 'token',
rruid: 'rrid',
region: 'us',
countrycode: 'US',
country: 'US',
nickname: 'tester',
rriot: { u: '', s: '', h: '', k: '', r: { a: '', m: '', r: '', l: '' } },
},
localKey: 'local-key',
pv: '1.0',
model: DeviceModel.S6,
homeData: {
id: 1,
name: 'Test Home',
products: [],
devices: [],
receivedDevices: [],
rooms: [new RoomEntity(1, 'Living Room'), new RoomEntity(2, 'Kitchen')],
},
};
const base = {
duid: 'duid-1',
name: 'Test Vacuum',
sn: 'SN123456',
serialNumber: 'SN123456',
activeTime: Date.now(),
createTime: Date.now(),
localKey: 'local-key',
pv: '1.0',
online: true,
productId: 'product-id',
rrHomeId: 1,
fv: '01.00.00',
deviceStatus: {},
schema: [],
specs: baseData,
store: baseStore,
scenes: [],
mapInfos: undefined,
};
return { ...base, ...overrides };
}
//# sourceMappingURL=fixtures.js.map