UNPKG

matterbridge-roborock-vacuum-plugin

Version:
77 lines 3.47 kB
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { PlatformConfigManager as PlatformConfigManagerStatic } from '../../../platform/platformConfigManager.js'; import { RoborockService } from '../../../services/roborockService.js'; import { makeDeviceFixture } from '../../helpers/fixtures.js'; import { makeLogger } from '../../testUtils.js'; import { createMockLocalStorage } from '../../testUtils.js'; describe('initializeMessageClientForLocal', () => { let service; let mockLogger; let mockDevice; beforeEach(async () => { mockLogger = makeLogger(); mockDevice = makeDeviceFixture({ duid: 'd1', pv: 'pv', localKey: 'lk' }); const persist = createMockLocalStorage(); const PlatformConfigManager = PlatformConfigManagerStatic; const config = { authentication: { username: 'test', region: 'US', forceAuthentication: false, authenticationMethod: 'Password', password: '', }, pluginConfiguration: { whiteList: [], enableServerMode: false, enableMultipleMap: false, sanitizeSensitiveLogs: false, refreshInterval: 10, debug: false, unregisterOnShutdown: false, }, advancedFeature: { enableAdvancedFeature: false, settings: { clearStorageOnStartup: false, showRoutinesAsRoom: false, includeDockStationStatus: false, includeVacuumErrorStatus: false, forceRunAtDefault: false, useVacationModeToSendVacuumToDock: false, enableCleanModeMapping: false, cleanModeSettings: { vacuuming: { fanMode: 'Balanced', mopRouteMode: 'Standard' }, mopping: { waterFlowMode: 'Medium', mopRouteMode: 'Standard', distanceOff: 25 }, vacmop: { fanMode: 'Balanced', waterFlowMode: 'Medium', mopRouteMode: 'Standard', distanceOff: 25 }, }, overrideMatterConfiguration: false, matterOverrideSettings: { matterVendorName: 'xxx', matterVendorId: 123, matterProductName: 'yy', matterProductId: 456, }, enableEmailNotification: false, emailNotificationSettings: {}, }, }, }; const configManager = PlatformConfigManager.create(config, mockLogger); service = new RoborockService({ refreshInterval: 10, baseUrl: 'https://api.roborock.com', persist: persist, configManager: configManager, toastMessage: vi.fn(), }, mockLogger, configManager); }); afterEach(() => { vi.restoreAllMocks(); }); it('returns false if messageClient is not initialized', async () => { // Without message client setup, should throw error await expect(service.initializeMessageClientForLocal(mockDevice)).rejects.toThrow('Message client not initialized in ConnectionService'); }); }); //# sourceMappingURL=roborockService.connectionService.test.js.map