UNPKG

matterbridge-roborock-vacuum-plugin

Version:
23 lines 1.33 kB
import { describe, expect, it } from 'vitest'; import { ProtocolVersion } from '../../../roborockCommunication/enums/index.js'; import { MessageContext, RequestMessage } from '../../../roborockCommunication/models/index.js'; import { MessageBodyBuilderFactory } from '../../../roborockCommunication/protocol/builders/messageBodyBuilderFactory.js'; import { mkUser } from '../../helpers/testUtils.js'; describe('MessageBodyBuilderFactory', () => { it('returns known builders and throws for unknown version', () => { const f = new MessageBodyBuilderFactory(); const b1 = f.getMessageBodyBuilder(ProtocolVersion.A01); expect(typeof b1.buildPayload).toBe('function'); const b2 = f.getMessageBodyBuilder(ProtocolVersion.V1); expect(typeof b2.buildPayload).toBe('function'); expect(() => f.getMessageBodyBuilder('ZZZ')).toThrow(/No message body builder/); }); it('can return unknown builder when requested', () => { const f = new MessageBodyBuilderFactory(); const ub = f.getMessageBodyBuilder('anything', true); const ctx = new MessageContext(mkUser()); const req = new RequestMessage({ messageId: 1, timestamp: 10 }); expect(() => ub.buildPayload(req, ctx)).toThrow(); }); }); //# sourceMappingURL=messageBodyBuilderFactory.test.js.map