node-red-contrib-chatbot
Version:
REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required
63 lines (56 loc) • 1.86 kB
JavaScript
const _ = require('underscore');
const assert = require('chai').assert;
const RED = require('../lib/red-stub')();
const LanguageBlock = require('../nodes/chatbot-language');
describe('Chat language node', () => {
it('should detect italian language and override it', () => {
const msg = RED.createMessage({
content: 'posso avere un gelato?',
chatId: 42
});
msg.chat().set('language', 'en');
RED.node.config({
language: 'italian',
mode: 'medium'
});
LanguageBlock(RED);
RED.node.get().emit('input', msg);
return RED.node.get().await()
.then(() => {
assert.equal(msg.chat().get('language'), 'it');
assert.equal(RED.node.message().payload.content, 'posso avere un gelato?');
assert.equal(RED.node.message().payload.chatId, 42);
})
});
it('should pass through commands', () => {
const msg = RED.createMessage({
content: '/help',
chatId: 42
});
msg.chat().set('language', 'it');
RED.node.config({});
LanguageBlock(RED);
RED.node.get().emit('input', msg);
return RED.node.get().await()
.then(() => {
assert.equal(RED.node.message(0).payload.content, '/help');
assert.equal(RED.node.message(0).payload.chatId, 42);
assert.equal(msg.chat().get('language'), 'it');
});
});
it('should detect english language', () => {
const msg = RED.createMessage({
content: 'What time is it?',
chatId: 42
});
RED.node.config({});
LanguageBlock(RED);
RED.node.get().emit('input', msg);
return RED.node.get().await()
.then(() => {
assert.equal(msg.chat().get('language'), 'en');
assert.equal(RED.node.message().payload.content, 'What time is it?');
assert.equal(RED.node.message().payload.chatId, 42);
});
});
});