UNPKG

be-framework

Version:

BE is a framework for supercharging your BotEngine bots

157 lines (132 loc) 2.5 kB
const { respond, text, image, quickReplies, buttonElement, card, button, end, webhook, goto, } = require('./responses'); describe('response module', () => { test('respond', () => { const payload = respond(); expect(payload.responses).toEqual([]); }); test('text', () => { const payload = text('example'); expect(payload).toEqual({ elements: ['example'], type: 'text', filters: [], }); }); test('text advanced', () => { const payload = text({elements: ['example']}); expect(payload).toEqual({ elements: ['example'], type: 'text', filters: [], }); }); test('image', () => { const payload = image('https://example.com/image.jpg'); expect(payload).toEqual({ imageUrl: 'https://example.com/image.jpg', type: 'image', filters: [], }); }); test('image advanced', () => { const payload = image({ imageUrl: 'https://example.com/image.jpg', }); expect(payload).toEqual({ imageUrl: 'https://example.com/image.jpg', type: 'image', filters: [], }); }); test('quickReplies', () => { const payload = quickReplies({ title: 'lorem', buttons: [], filters: [], }); expect(payload).toEqual({ type: 'quickReplies', title: 'lorem', buttons: [], filters: [], }); }); test('buttonElement', () => { const payload = buttonElement({ title: 'lorem', type: 'postback', value: 'value', }); expect(payload).toEqual({ title: 'lorem', type: 'postback', value: 'value', }); }); test('card', () => { const payload = card({ title: 'title', subtitle: 'subtitle', imageUrl: 'https://l.com/a.jpg', buttons: [], }); expect(payload).toEqual({ type: 'card', title: 'title', subtitle: 'subtitle', imageUrl: 'https://l.com/a.jpg', buttons: [], filters: [], }); }); test('button', () => { const payload = button({ title: 'title', buttons: [], }); expect(payload).toEqual({ type: 'button', title: 'title', buttons: [], filters: [], }); }); test('end', () => { const payload = end(); expect(payload).toEqual({ type: 'end', filters: [], }); }); test('webhook', () => { const payload = webhook({ webhookId: '1', }); expect(payload).toEqual({ type: 'webhook', webhookId: '1', filters: [], }); }); test('goto', () => { const payload = goto({ interactionId: '1', }); expect(payload).toEqual({ type: 'goto', interactionId: '1', filters: [], }); }); });