asksuite-core
Version:
54 lines (43 loc) • 1.46 kB
JavaScript
const uuid = require('uuid');
const mockIntents = require('./json/intents');
const mockConfig = require('./json/config');
class MockGenerator {
constructor() {}
static get LANGUAGES() {
return ['pt', 'en', 'es',];
}
static get COMPANIES() {
return ['fazzendapark',];
}
static getRandomItemFromArray(array) {
if (array && array.length) {
return array[Math.floor(Math.random() * array.length)];
}
return null;
}
static replaceIntentsCompanyId(intents, companyId) {
if (intents && intents.length && companyId) {
intents.forEach((item) => {
item.dialog = item.dialog.replace(/{{companyId}}/g, companyId);
});
return intents;
}
return null;
}
static generateIncoming(text) {
const income = {};
income.userId = uuid.v4();
income.language = MockGenerator.getRandomItemFromArray(MockGenerator.LANGUAGES);
income.companyId = MockGenerator.getRandomItemFromArray(MockGenerator.COMPANIES);
income.config = mockConfig;
income.text = text;
income.intents = mockIntents.slice(0);
income.intents = MockGenerator.replaceIntentsCompanyId(income.intents, income.companyId);
income.version = 2;
return income;
}
static toRequestBody(data) {
return {body: data};
}
}
module.exports = MockGenerator;