UNPKG

asksuite-core

Version:
140 lines (113 loc) 6.39 kB
const DialogParsing = require('../util/DialogParsing'); const MockGenerator = require('../mocks/MockGenerator'); describe('DialogParsing', () => { test('Should only return text without doing anything', () => { const session = MockGenerator.createSession(); const treeData = MockGenerator.getTreeData(); const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Localização é tudo não é? O que você quer saber?'); }); test('Should replace {{leadName}} without any change', () => { const session = MockGenerator.createSession(true, true); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = '{{leadName}}Localização é tudo não é? O que você quer saber?'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Localização é tudo não é? O que você quer saber?'); }); test('Should replace {{leadName}} with Vinicius Pavei', () => { const session = MockGenerator.createSession(); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = '{{#leadName}}{{leadName}} {{/leadName}}Localização é tudo não é? O que você quer saber?'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual( 'Vinicius Pavei Localização é tudo não é? O que você quer saber?', ); }); test('Should replace {{leadName}} Vinicius Pavei different sentence', () => { const session = MockGenerator.createSession(); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = 'Oi{{#leadName}} {{leadName}}{{/leadName}}, seja bem-vindo como posso te ajudar?'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual( 'Oi Vinicius Pavei, seja bem-vindo como posso te ajudar?', ); }); test('Should replace {{leadName}} without changing the text', () => { const session = MockGenerator.createSession(true, true); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = 'Oi{{#leadName}} {{leadName}}{{/leadName}}, seja bem-vindo como posso te ajudar?'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Oi, seja bem-vindo como posso te ajudar?'); }); test('Should replace {{firstName}} with Vinicius', () => { const session = MockGenerator.createSession(); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = 'Oi{{#leadName}} {{firstName}}{{/leadName}}, seja bem-vindo como posso te ajudar?'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Oi Vinicius, seja bem-vindo como posso te ajudar?'); }); test('Should replace {{firstName}} with Roberto using lead_name', () => { const session = MockGenerator.createSession(true, false); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = 'Oi{{#leadName}} {{firstName}}{{/leadName}}, seja bem-vindo como posso te ajudar?'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Oi Roberto, seja bem-vindo como posso te ajudar?'); }); test('Should replace {{firstName}} with Roberto Cesa using lead_name', () => { const session = MockGenerator.createSession(true, false); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = 'Oi{{#leadName}} {{leadName}}{{/leadName}}, seja bem-vindo como posso te ajudar?'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual( 'Oi Roberto Cesa, seja bem-vindo como posso te ajudar?', ); }); test('<#isWhatsApp> test', () => { const session = MockGenerator.createSession(true, false); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = '{{#isWhatsApp}}Mostrando WhatsApp{{/isWhatsApp}}'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Mostrando WhatsApp'); }); test('non <#isWhatsApp> test', () => { const session = MockGenerator.createSession(true, false); session.source = 'facebook'; const treeData = MockGenerator.getTreeData(); treeData.children[0].text = '{{#isWhatsApp}}Mostrando WhatsApp{{/isWhatsApp}}{{^isWhatsApp}}Nao deve mostrar whatsapp{{/isWhatsApp}}'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Nao deve mostrar whatsapp'); }); test('<#isWhatsApp> test with username', () => { const session = MockGenerator.createSession(false, false); const treeData = MockGenerator.getTreeData(); treeData.children[0].text = '{{#isWhatsApp}}Olá {{leadName}} você está no WhatsApp{{/isWhatsApp}}{{^isWhatsApp}}Nao deve mostrar whatsapp{{/isWhatsApp}}'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Olá Vinicius Pavei você está no WhatsApp'); }); test('<#isFacebook> test with username', () => { const session = MockGenerator.createSession(false, false); session.source = 'facebook'; const treeData = MockGenerator.getTreeData(); treeData.children[0].text = '{{#isFacebook}}Olá {{leadName}} você está no Facebook{{/isFacebook}}'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Olá Vinicius Pavei você está no Facebook'); }); test('<#isFacebook> and <#isWhatsApp> source facebook test with username', () => { const session = MockGenerator.createSession(false, false); session.source = 'facebook'; const treeData = MockGenerator.getTreeData(); treeData.children[0].text = '{{#isFacebook}}Olá {{leadName}} você está no Facebook{{/isFacebook}}{{#isWhatsApp}}Olá {{leadName}} você está no WhatsApp{{/isWhatsApp}}'; const result = DialogParsing.replaceVariablesDialog(session, treeData); expect(result.children[0].text).toEqual('Olá Vinicius Pavei você está no Facebook'); }); });