asksuite-core
Version:
140 lines (113 loc) • 6.39 kB
JavaScript
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');
});
});