import { Verb } from '../../../../../models/bxml/Verb'; import { Connect, ConnectAttributes } from '../../../../../models/bxml/verbs/Connect'; import { Endpoint } from '../../../../../models/bxml/verbs/Endpoint'; describe('Connect', () => { const attributes: ConnectAttributes = { eventCallbackUrl: 'https://example.com/events' }; const endpoint = new Endpoint('ep-123456'); test('should create a Connect Verb', () => { const connect = new Connect(attributes); const expected = ''; expect(connect).toBeInstanceOf(Connect); expect(connect).toBeInstanceOf(Verb); expect(connect.toBxml()).toBe(expected); }); test('should create a Connect Verb with nested Endpoint', () => { const connect = new Connect(attributes, endpoint); const expected = 'ep-123456'; expect(connect).toBeInstanceOf(Connect); expect(connect).toBeInstanceOf(Verb); expect(connect.toBxml()).toBe(expected); }); test('should create a Connect Verb with multiple nested Endpoints', () => { const endpoint2 = new Endpoint('ep-789012'); const connect = new Connect(attributes, [endpoint, endpoint2]); const expected = 'ep-123456ep-789012'; expect(connect).toBeInstanceOf(Connect); expect(connect).toBeInstanceOf(Verb); expect(connect.toBxml()).toBe(expected); }); test('should test the addEndpoints method when no verbs are initially nested', () => { const connect = new Connect(attributes); const expected = 'ep-123456'; connect.addEndpoints(endpoint); expect(connect.toBxml()).toBe(expected); }); });