import { Verb } from '../../../../../models/bxml/Verb'; import { PhoneNumber } from '../../../../../models/bxml/verbs/PhoneNumber'; import { SipUri } from '../../../../../models/bxml/verbs/SipUri'; import { Transfer, TransferAttributes } from '../../../../../models/bxml/verbs/Transfer'; describe('Transfer', () => { const attributes: TransferAttributes = { transferCallerId: '+19195551234', transferCallerDisplayName: 'initialDisplayName', callTimeout: 5, transferCompleteUrl: 'https://initial.com', transferCompleteMethod: 'POST', transferCompleteFallbackUrl: 'https://initial.com', transferCompleteFallbackMethod: 'POST', username: 'initialUsername', password: 'initialPassword', fallbackUsername: 'initialFallbackUsername', fallbackPassword: 'initialFallbackPassword', tag: 'initialTag', diversionTreatment: 'propagate', diversionReason: 'user-busy' }; const phoneNumber = new PhoneNumber('+19195551234'); const sipUri = new SipUri('sip:1-999-123-4567@voip-provider.example.net'); test('should create a Transfer Verb', () => { const transfer = new Transfer(attributes); const expected = ''; expect(transfer).toBeInstanceOf(Transfer); expect(transfer).toBeInstanceOf(Verb); expect(transfer.toBxml()).toBe(expected); }); test('should create a Transfer Verb with nested PhoneNumber and SipUri', () => { let transfer = new Transfer(attributes, phoneNumber); const expected = '+19195551234'; const expectedSingle = '+19195551234sip:1-999-123-4567@voip-provider.example.net'; const expectedMultiple = '+19195551234sip:1-999-123-4567@voip-provider.example.netsip:1-999-123-4567@voip-provider.example.net+19195551234'; expect(transfer).toBeInstanceOf(Transfer); expect(transfer).toBeInstanceOf(Verb); expect(transfer.toBxml()).toBe(expected); transfer.addTransferRecipients(sipUri); expect(transfer.toBxml()).toBe(expectedSingle); transfer.addTransferRecipients([sipUri, phoneNumber]); expect(transfer.toBxml()).toBe(expectedMultiple); }); test('should test the addTransferRecipients method method when no verbs are initially nested', () => { const transfer = new Transfer(attributes); const expected = '+19195551234'; transfer.addTransferRecipients(phoneNumber); expect(transfer.toBxml()).toBe(expected); }); });