@tiledesk/tiledesk-server 2.1.41 → 2.2.4
Sign up to get free protection for your applications and to get access to all the features.
- package/.circleci/config.yml +54 -0
- package/.env.sample +1 -1
- package/.github/workflows/docker-community-push-latest.yml +22 -0
- package/.github/workflows/{docker-image-push.yml → docker-image-en-tag-push.yml} +1 -1
- package/.github/workflows/docker-image-tag-community-tag-push.yml +21 -0
- package/.github/workflows/{docker-push-latest.yml → docker-push-en-push-latest.yml} +1 -1
- package/CHANGELOG.md +198 -1
- package/Dockerfile +1 -1
- package/Dockerfile-en +1 -1
- package/README.md +5 -7
- package/app.js +12 -1
- package/channels/chat21/chat21Contact.js +34 -8
- package/channels/chat21/chat21Handler.js +48 -5
- package/channels/chat21/chat21WebHook.js +34 -5
- package/channels/chat21/nativeauth.js +2 -2
- package/config/email.js +2 -1
- package/config/global.js +3 -0
- package/config/labels/widget.json +170 -16
- package/event/messageEvent.js +18 -1
- package/middleware/passport.js +10 -4
- package/models/actionsConstants.js +7 -0
- package/models/department.js +3 -0
- package/models/faq.js +8 -2
- package/models/faq_kb.js +6 -0
- package/models/message.js +10 -4
- package/models/messageConstants.js +3 -3
- package/models/request.js +33 -3
- package/package.json +31 -28
- package/pubmodules/emailNotification/requestNotification.js +380 -62
- package/pubmodules/messageActions/messageActionsInterceptor.js +20 -7
- package/pubmodules/messageTransformer/index.js +1 -1
- package/pubmodules/messageTransformer/microLanguageAttributesTransformerInterceptor.js +67 -0
- package/pubmodules/pubModulesManager.js +66 -14
- package/pubmodules/rules/conciergeBot.js +81 -49
- package/routes/auth.js +34 -10
- package/routes/campaigns.js +117 -25
- package/routes/faq.js +19 -0
- package/routes/faq_kb.js +13 -4
- package/routes/faqpub.js +1 -1
- package/routes/images.js +1 -1
- package/routes/jwt.js +0 -1
- package/routes/logs.js +26 -0
- package/routes/message.js +7 -2
- package/routes/messagesRoot.js +73 -16
- package/routes/project_user.js +36 -1
- package/routes/request.js +88 -12
- package/routes/requestUtilRoot.js +30 -0
- package/routes/urls.js +12 -0
- package/routes/users.js +5 -1
- package/services/BotSubscriptionNotifier.js +1 -0
- package/services/departmentService.js +29 -5
- package/services/emailService.js +1103 -298
- package/services/faqBotHandler.js +176 -61
- package/services/faqBotSupport.js +181 -117
- package/services/faqService.js +17 -14
- package/services/messageService.js +57 -9
- package/services/modulesManager.js +86 -23
- package/services/requestService.js +58 -17
- package/template/email/assignedEmailMessage.html +205 -0
- package/template/email/assignedRequest.html +44 -14
- package/template/email/beenInvitedExistingUser.html +2 -2
- package/template/email/beenInvitedNewUser.html +1 -1
- package/template/email/newMessage.html +31 -12
- package/template/email/passwordChanged.html +2 -3
- package/template/email/pooledEmailMessage.html +208 -0
- package/template/email/pooledRequest.html +41 -14
- package/template/email/resetPassword.html +2 -3
- package/template/email/sendTranscript.html +1 -1
- package/template/email/test.html +1 -1
- package/template/email/ticket.html +78 -52
- package/template/email/ticket.txt +5 -1
- package/template/email/verify.html +1 -1
- package/test/authentication.js +76 -4
- package/test/authenticationJwt.js +76 -2
- package/test/campaignsRoute.js +226 -0
- package/test/faqService.js +3 -3
- package/test/faqkbRoute.js +3 -2
- package/test/messageRootRoute.js +193 -0
- package/test/messageRoute.js +75 -0
- package/test/messageService.js +5 -5
- package/test/requestRoute.js +27 -9
- package/test/requestService.js +472 -11
- package/test-int/bot.js +673 -8
- package/websocket/webSocketServer.js +7 -4
- package/template/email/ticket-taking.txt +0 -7
package/test-int/bot.js
CHANGED
@@ -15,6 +15,7 @@ var faqService = require('../services/faqService');
|
|
15
15
|
var Department = require('../models/department');
|
16
16
|
var Faq = require('../models/faq');
|
17
17
|
var faqBotSupport = require('../services/faqBotSupport');
|
18
|
+
var Project_user = require("../models/project_user");
|
18
19
|
|
19
20
|
var expect = chai.expect;
|
20
21
|
var assert = chai.assert;
|
@@ -68,7 +69,7 @@ describe('bot', () => {
|
|
68
69
|
.post('/'+ savedProject._id + '/subscriptions')
|
69
70
|
.auth(email, pwd)
|
70
71
|
.set('content-type', 'application/json')
|
71
|
-
.send({"event":"message.create", "target":"http://localhost:
|
72
|
+
.send({"event":"message.create", "target":"http://localhost:3005/"})
|
72
73
|
.end((err, res) => {
|
73
74
|
console.log("res.body", JSON.stringify(res.body));
|
74
75
|
// console.dir("res.body 1", res.body);
|
@@ -102,13 +103,19 @@ describe('bot', () => {
|
|
102
103
|
expect(req.body.payload.recipient).to.equal("request_id-subscription-message-sending");
|
103
104
|
// expect(req.body.payload.attributes._answer._id.toString()).to.equal(savedFaq._id.toString());
|
104
105
|
expect(req.body.payload.attributes._answerid.toString()).to.equal(savedFaq._id.toString());
|
106
|
+
|
107
|
+
expect(req.body.payload.attributes.intent_info.is_fallback).to.equal(false);
|
108
|
+
|
109
|
+
expect(req.body.payload.attributes.intent_info.question_payload.text).to.equal("question");
|
110
|
+
|
111
|
+
|
105
112
|
done();
|
106
113
|
|
107
114
|
|
108
115
|
|
109
116
|
|
110
117
|
});
|
111
|
-
var listener = serverClient.listen(
|
118
|
+
var listener = serverClient.listen(3005, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
|
112
119
|
|
113
120
|
|
114
121
|
leadService.createIfNotExists("leadfullname-subscription-message-sending", "andrea.leo@-subscription-message-sending.it", savedProject._id).then(function(createdLead) {
|
@@ -133,6 +140,237 @@ describe('bot', () => {
|
|
133
140
|
|
134
141
|
|
135
142
|
|
143
|
+
// mocha test-int/bot.js --grep 'createSimpleAgent'
|
144
|
+
it('createSimpleAgent', (done) => {
|
145
|
+
|
146
|
+
var email = "test-bot-" + Date.now() + "@email.com";
|
147
|
+
var pwd = "pwd";
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
|
152
|
+
projectService.create("test-bot", savedUser._id).then(function(savedProject) {
|
153
|
+
// create(name, url, projectid, user_id, type)
|
154
|
+
faqService.create("testbot", null, savedProject._id, savedUser._id, "internal").then(function(savedBot) {
|
155
|
+
|
156
|
+
var newFaq = new Faq({
|
157
|
+
id_faq_kb: savedBot._id,
|
158
|
+
question: 'switch agent',
|
159
|
+
answer: '\\agent',
|
160
|
+
id_project: savedProject._id,
|
161
|
+
createdBy: savedUser._id,
|
162
|
+
updatedBy: savedUser._id
|
163
|
+
});
|
164
|
+
|
165
|
+
newFaq.save(function (err, savedFaq) {
|
166
|
+
|
167
|
+
|
168
|
+
Department.findOneAndUpdate({id_project: savedProject._id, default:true}, {id_bot:savedBot._id}, function (err, updatedDepartment) {
|
169
|
+
console.log('000');
|
170
|
+
chai.request(server)
|
171
|
+
.post('/'+ savedProject._id + '/subscriptions')
|
172
|
+
.auth(email, pwd)
|
173
|
+
.set('content-type', 'application/json')
|
174
|
+
.send({"event":"request.update", "target":"http://localhost:3006/"})
|
175
|
+
.end((err, res) => {
|
176
|
+
console.log("res.body", JSON.stringify(res.body));
|
177
|
+
// console.dir("res.body 1", res.body);
|
178
|
+
console.log("res.headers", res.headers);
|
179
|
+
res.should.have.status(200);
|
180
|
+
res.body.should.be.a('object');
|
181
|
+
expect(res.body.event).to.equal("request.update");
|
182
|
+
var secret = res.body.secret;
|
183
|
+
expect(secret).to.not.equal(null);
|
184
|
+
expect(res.headers["x-hook-secret"]).to.equal(secret);
|
185
|
+
console.log('001');
|
186
|
+
|
187
|
+
|
188
|
+
let messageReceived = 0;
|
189
|
+
var serverClient = express();
|
190
|
+
serverClient.use(bodyParser.json());
|
191
|
+
serverClient.post('/', function (req, res) {
|
192
|
+
console.log('serverClient req', JSON.stringify(req.body));
|
193
|
+
console.log("serverClient.headers", JSON.stringify(req.headers));
|
194
|
+
messageReceived = messageReceived+1;
|
195
|
+
expect(req.body.hook.event).to.equal("request.update");
|
196
|
+
console.log('11');
|
197
|
+
expect(req.body.payload.request_id).to.equal("request_id-subscription-message-sending-createSimpleAgent");
|
198
|
+
console.log('12');
|
199
|
+
expect(req.body.payload.hasBot).equal(false);
|
200
|
+
console.log('savedUser._id',savedUser._id);
|
201
|
+
expect(req.body.payload.participantsAgents[0]).equal(savedUser._id.toString());
|
202
|
+
console.log('13');
|
203
|
+
|
204
|
+
expect(req.headers["x-hook-secret"]).to.equal(secret);
|
205
|
+
res.send('POST request to the homepage');
|
206
|
+
expect(req.body.payload.first_text).to.equal("first_text");
|
207
|
+
|
208
|
+
done();
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
});
|
214
|
+
var listener = serverClient.listen(3006, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
|
215
|
+
|
216
|
+
|
217
|
+
leadService.createIfNotExists("leadfullname-subscription-message-sending-createSimpleAgent", "andrea.leo@-subscription-message-sending.it", savedProject._id).then(function(createdLead) {
|
218
|
+
requestService.createWithId("request_id-subscription-message-sending-createSimpleAgent", createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
|
219
|
+
messageService.create(savedUser._id, "test sender", savedRequest.request_id, "switch agent",
|
220
|
+
savedProject._id, savedUser._id).then(function(savedMessage){
|
221
|
+
expect(savedMessage.text).to.equal("switch agent");
|
222
|
+
// expect(savedMessage.sender).to.equal("question");
|
223
|
+
});
|
224
|
+
});
|
225
|
+
});
|
226
|
+
});
|
227
|
+
});
|
228
|
+
});
|
229
|
+
});
|
230
|
+
|
231
|
+
});
|
232
|
+
});
|
233
|
+
}).timeout(20000);
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
// mocha test-int/bot.js --grep 'createSimpleAgentTwoAgent'
|
240
|
+
it('createSimpleAgentTwoAgent', (done) => {
|
241
|
+
|
242
|
+
var email = "test-bot-" + Date.now() + "@email.com";
|
243
|
+
var pwd = "pwd";
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
|
248
|
+
|
249
|
+
projectService.create("test-bot", savedUser._id).then(function(savedProject) {
|
250
|
+
|
251
|
+
userService.signup( "test-bot-" + Date.now() + "@email.com" ,pwd, "Test Firstname", "Test lastname").then(function(savedUser2) {
|
252
|
+
|
253
|
+
var newProject_user = new Project_user({
|
254
|
+
// _id: new mongoose.Types.ObjectId(),
|
255
|
+
id_project: savedProject._id.toString(),
|
256
|
+
id_user: savedUser2._id.toString(),
|
257
|
+
role: "agent",
|
258
|
+
user_available: true,
|
259
|
+
createdBy: savedUser._id,
|
260
|
+
updatedBy: savedUser._id
|
261
|
+
});
|
262
|
+
|
263
|
+
return newProject_user.save(function (err, savedProject_user) {
|
264
|
+
|
265
|
+
if (err) {
|
266
|
+
console.log("err",err)
|
267
|
+
}
|
268
|
+
leadService.createIfNotExists("leadfullname-subscription-message-sending-createSimpleAgent", "andrea.leo@-subscription-message-sending.it", savedProject._id).then(function(createdLead) {
|
269
|
+
requestService.createWithId("request_id-subscription-message-sending-createSimpleAgent-2", createdLead._id, savedProject._id, "first_text").then(function(savedRequest2) {
|
270
|
+
console.log("savedRequest2", savedRequest2);
|
271
|
+
|
272
|
+
expect(savedRequest2.request_id).to.equal("request_id-subscription-message-sending-createSimpleAgent-2");
|
273
|
+
// expect(savedRequest2.participantsAgents[0]).equal(savedUser2._id.toString());
|
274
|
+
var selectedAgent = savedRequest2.participantsAgents[0];
|
275
|
+
console.log("selectedAgent", selectedAgent);
|
276
|
+
|
277
|
+
expect(savedRequest2.hasBot).equal(false);
|
278
|
+
|
279
|
+
messageService.create(savedUser._id, "test sender", savedRequest2.request_id, "switch agent", savedProject._id, savedUser._id).then(function(savedMessage2){
|
280
|
+
expect(savedMessage2.text).to.equal("switch agent");
|
281
|
+
// expect(savedMessage.sender).to.equal("question");
|
282
|
+
|
283
|
+
// create(name, url, projectid, user_id, type)
|
284
|
+
faqService.create("testbot", null, savedProject._id, savedUser._id, "internal").then(function(savedBot) {
|
285
|
+
|
286
|
+
var newFaq = new Faq({
|
287
|
+
id_faq_kb: savedBot._id,
|
288
|
+
question: 'switch agent',
|
289
|
+
answer: '\\agent',
|
290
|
+
id_project: savedProject._id,
|
291
|
+
createdBy: savedUser._id,
|
292
|
+
updatedBy: savedUser._id
|
293
|
+
});
|
294
|
+
|
295
|
+
newFaq.save(function (err, savedFaq) {
|
296
|
+
|
297
|
+
|
298
|
+
Department.findOneAndUpdate({id_project: savedProject._id, default:true}, {id_bot:savedBot._id}, function (err, updatedDepartment) {
|
299
|
+
console.log('000');
|
300
|
+
chai.request(server)
|
301
|
+
.post('/'+ savedProject._id + '/subscriptions')
|
302
|
+
.auth(email, pwd)
|
303
|
+
.set('content-type', 'application/json')
|
304
|
+
.send({"event":"request.update", "target":"http://localhost:3021/"})
|
305
|
+
.end((err, res) => {
|
306
|
+
console.log("res.body", JSON.stringify(res.body));
|
307
|
+
// console.dir("res.body 1", res.body);
|
308
|
+
console.log("res.headers", res.headers);
|
309
|
+
res.should.have.status(200);
|
310
|
+
res.body.should.be.a('object');
|
311
|
+
expect(res.body.event).to.equal("request.update");
|
312
|
+
var secret = res.body.secret;
|
313
|
+
expect(secret).to.not.equal(null);
|
314
|
+
expect(res.headers["x-hook-secret"]).to.equal(secret);
|
315
|
+
console.log('001');
|
316
|
+
|
317
|
+
|
318
|
+
let messageReceived = 0;
|
319
|
+
var serverClient = express();
|
320
|
+
serverClient.use(bodyParser.json());
|
321
|
+
serverClient.post('/', function (req, res) {
|
322
|
+
console.log('serverClient req', JSON.stringify(req.body));
|
323
|
+
console.log("serverClient.headers", JSON.stringify(req.headers));
|
324
|
+
messageReceived = messageReceived+1;
|
325
|
+
expect(req.body.hook.event).to.equal("request.update");
|
326
|
+
console.log('11');
|
327
|
+
expect(req.body.payload.request_id).to.equal("request_id-subscription-message-sending-createSimpleAgent");
|
328
|
+
console.log('12');
|
329
|
+
expect(req.body.payload.hasBot).equal(false);
|
330
|
+
console.log('savedUser._id',savedUser._id);
|
331
|
+
console.log('savedUser2._id',savedUser2._id);
|
332
|
+
// expect(req.body.payload.participantsAgents[0]).equal(savedUser._id.toString());
|
333
|
+
expect(req.body.payload.participantsAgents[0]).not.equal(selectedAgent);
|
334
|
+
|
335
|
+
console.log('13');
|
336
|
+
|
337
|
+
expect(req.headers["x-hook-secret"]).to.equal(secret);
|
338
|
+
res.send('POST request to the homepage');
|
339
|
+
expect(req.body.payload.first_text).to.equal("first_text");
|
340
|
+
|
341
|
+
done();
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
});
|
347
|
+
var listener = serverClient.listen(3021, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
requestService.createWithId("request_id-subscription-message-sending-createSimpleAgent", createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
|
352
|
+
messageService.create(savedUser._id, "test sender", savedRequest.request_id, "switch agent",
|
353
|
+
savedProject._id, savedUser._id).then(function(savedMessage){
|
354
|
+
expect(savedMessage.text).to.equal("switch agent");
|
355
|
+
|
356
|
+
// expect(savedMessage.sender).to.equal("question");
|
357
|
+
});
|
358
|
+
});
|
359
|
+
});
|
360
|
+
});
|
361
|
+
});
|
362
|
+
});
|
363
|
+
});
|
364
|
+
});
|
365
|
+
});
|
366
|
+
});
|
367
|
+
});
|
368
|
+
});
|
369
|
+
});
|
370
|
+
}).timeout(20000);
|
371
|
+
|
372
|
+
|
373
|
+
|
136
374
|
|
137
375
|
// mocha test-int/bot.js --grep 'createSimpleFulltext'
|
138
376
|
it('createSimpleFulltext', (done) => {
|
@@ -403,6 +641,8 @@ describe('bot', () => {
|
|
403
641
|
expect(req.body.payload.metadata.src).to.equal("https://www.tiledesk.com/wp-content/uploads/2018/03/tiledesk-logo.png");
|
404
642
|
expect(req.body.payload.metadata.width).to.equal(200);
|
405
643
|
expect(req.body.payload.metadata.height).to.equal(200);
|
644
|
+
expect(req.body.payload.attributes.intent_info.is_fallback).to.equal(false);
|
645
|
+
expect(req.body.payload.attributes.intent_info.question_payload.text).to.equal("question");
|
406
646
|
expect(req.body.payload.attributes._raw_message).to.equal('answer \n\\image:https://www.tiledesk.com/wp-content/uploads/2018/03/tiledesk-logo.png');
|
407
647
|
|
408
648
|
done();;
|
@@ -502,6 +742,8 @@ describe('bot', () => {
|
|
502
742
|
expect(req.body.payload.text).to.equal("answer");
|
503
743
|
expect(req.body.payload.attributes.attachment.buttons[0].value).to.equal("Button 1");
|
504
744
|
expect(req.body.payload.attributes.attachment.buttons[0].type).to.equal("text");
|
745
|
+
expect(req.body.payload.attributes.intent_info.is_fallback).to.equal(false);
|
746
|
+
expect(req.body.payload.attributes.intent_info.question_payload.text).to.equal("question");
|
505
747
|
expect(req.body.payload.attributes._raw_message).to.equal('answer\n* Button 1\n* Button 2');
|
506
748
|
done();;
|
507
749
|
|
@@ -614,6 +856,8 @@ describe('bot', () => {
|
|
614
856
|
res.send('POST request to the homepage');
|
615
857
|
expect(req.body.payload.text).to.equal("answer2");
|
616
858
|
expect(req.body.payload.attributes._raw_message).to.equal('answer2');
|
859
|
+
expect(req.body.payload.attributes.intent_info.is_fallback).to.equal(false);
|
860
|
+
expect(req.body.payload.attributes.intent_info.question_payload.text).to.equal("start action");
|
617
861
|
// expect(req.body.payload.attributes.attachment.buttons[0].value).to.equal("Button 1");
|
618
862
|
// expect(req.body.payload.attributes.attachment.buttons[0].type).to.equal("text");
|
619
863
|
|
@@ -730,6 +974,8 @@ describe('bot', () => {
|
|
730
974
|
res.send('POST request to the homepage');
|
731
975
|
expect(req.body.payload.text).to.equal("answer2");
|
732
976
|
expect(req.body.payload.attributes._raw_message).to.equal('answer2');
|
977
|
+
expect(req.body.payload.attributes.intent_info.is_fallback).to.equal(false);
|
978
|
+
expect(req.body.payload.attributes.intent_info.question_payload.text).to.equal("start action");
|
733
979
|
// expect(req.body.payload.attributes.attachment.buttons[0].value).to.equal("Button 1");
|
734
980
|
// expect(req.body.payload.attributes.attachment.buttons[0].type).to.equal("text");
|
735
981
|
|
@@ -977,7 +1223,7 @@ describe('bot', () => {
|
|
977
1223
|
userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
|
978
1224
|
projectService.create("test-bot", savedUser._id).then(function(savedProject) {
|
979
1225
|
// create(name, url, projectid, user_id, type)
|
980
|
-
faqService.create("testbot", undefined, savedProject._id, savedUser._id, "internal", undefined, "http://localhost:3019/").then(function(savedBot) {
|
1226
|
+
faqService.create("testbot", undefined, savedProject._id, savedUser._id, "internal", undefined, "http://localhost:3019/", true).then(function(savedBot) {
|
981
1227
|
|
982
1228
|
var newFaq = new Faq({
|
983
1229
|
id_faq_kb: savedBot._id,
|
@@ -1025,14 +1271,17 @@ describe('bot', () => {
|
|
1025
1271
|
messageReceived = messageReceived+1;
|
1026
1272
|
expect(req.body.hook.event).to.equal("message.create");
|
1027
1273
|
expect(req.body.payload.type).to.equal("text");
|
1274
|
+
console.log('1');
|
1028
1275
|
expect(req.body.payload.request.request_id).to.equal("request_id-subscription-message-createFaqWithButton");
|
1029
1276
|
expect(req.body.payload.request.department).to.not.equal(null);
|
1030
1277
|
expect(req.body.payload.request.department.bot).to.not.equal(null);
|
1031
1278
|
expect(req.body.payload.request.department.bot.name).to.equal("testbot");
|
1032
|
-
|
1279
|
+
console.log('2');
|
1033
1280
|
expect(req.headers["x-hook-secret"]).to.equal(secret);
|
1034
1281
|
res.send('POST request to the homepage');
|
1282
|
+
console.log('3',req.body.payload.text);
|
1035
1283
|
expect(req.body.payload.text).to.equal("ok from webhook");
|
1284
|
+
console.log('4');
|
1036
1285
|
expect(req.body.payload.attributes.attachment.buttons[0].value).to.equal("button1");
|
1037
1286
|
expect(req.body.payload.attributes.attachment.buttons[0].type).to.equal("text");
|
1038
1287
|
|
@@ -1074,6 +1323,379 @@ describe('bot', () => {
|
|
1074
1323
|
|
1075
1324
|
|
1076
1325
|
|
1326
|
+
// mocha test-int/bot.js --grep 'createFaqWithDefaultIntentWebhook'
|
1327
|
+
|
1328
|
+
it('createFaqWithDefaultIntentWebhook', (done) => {
|
1329
|
+
|
1330
|
+
var email = "test-bot-" + Date.now() + "@email.com";
|
1331
|
+
var pwd = "pwd";
|
1332
|
+
|
1333
|
+
|
1334
|
+
|
1335
|
+
userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
|
1336
|
+
projectService.create("test-bot", savedUser._id).then(function(savedProject) {
|
1337
|
+
// create(name, url, projectid, user_id, type)
|
1338
|
+
faqService.create("testbot", undefined, savedProject._id, savedUser._id, "internal", undefined, "http://localhost:3029/", true).then(function(savedBot) {
|
1339
|
+
|
1340
|
+
Faq.findOneAndUpdate({id_project:savedProject._id,id_faq_kb:savedBot._id, question: "defaultFallback" }, {webhook_enabled: true},{new: true, upsert:false}, function (err, savedFaq) {
|
1341
|
+
console.log("savedFaq",savedFaq);
|
1342
|
+
|
1343
|
+
Department.findOneAndUpdate({id_project: savedProject._id, default:true}, {id_bot:savedBot._id}, function (err, updatedDepartment) {
|
1344
|
+
|
1345
|
+
chai.request(server)
|
1346
|
+
.post('/'+ savedProject._id + '/subscriptions')
|
1347
|
+
.auth(email, pwd)
|
1348
|
+
.set('content-type', 'application/json')
|
1349
|
+
.send({"event":"message.create", "target":"http://localhost:3022/"})
|
1350
|
+
.end((err, res) => {
|
1351
|
+
console.log("res.body", JSON.stringify(res.body));
|
1352
|
+
// console.dir("res.body 1", res.body);
|
1353
|
+
console.log("res.headers", res.headers);
|
1354
|
+
res.should.have.status(200);
|
1355
|
+
res.body.should.be.a('object');
|
1356
|
+
expect(res.body.event).to.equal("message.create");
|
1357
|
+
var secret = res.body.secret;
|
1358
|
+
expect(secret).to.not.equal(null);
|
1359
|
+
expect(res.headers["x-hook-secret"]).to.equal(secret);
|
1360
|
+
|
1361
|
+
|
1362
|
+
let messageReceived = 0;
|
1363
|
+
var serverClient = express();
|
1364
|
+
serverClient.use(bodyParser.json());
|
1365
|
+
serverClient.post('/', function (req, res) {
|
1366
|
+
console.log('serverClient req', JSON.stringify(req.body));
|
1367
|
+
console.log("serverClient.headers", JSON.stringify(req.headers));
|
1368
|
+
|
1369
|
+
if (req.body.payload.text.indexOf("I can not provide an adequate answer")>-1) {
|
1370
|
+
return res.send('POST request to the homepage');
|
1371
|
+
}
|
1372
|
+
console.log('sono qui');
|
1373
|
+
messageReceived = messageReceived+1;
|
1374
|
+
expect(req.body.hook.event).to.equal("message.create");
|
1375
|
+
expect(req.body.payload.type).to.equal("text");
|
1376
|
+
expect(req.body.payload.request.request_id).to.equal("request_id-subscription-message-createFaqWithDefaultIntentWebhook");
|
1377
|
+
expect(req.body.payload.request.department).to.not.equal(null);
|
1378
|
+
expect(req.body.payload.request.department.bot).to.not.equal(null);
|
1379
|
+
expect(req.body.payload.request.department.bot.name).to.equal("testbot");
|
1380
|
+
|
1381
|
+
expect(req.headers["x-hook-secret"]).to.equal(secret);
|
1382
|
+
res.send('POST request to the homepage');
|
1383
|
+
expect(req.body.payload.text).to.equal("ok from webhook");
|
1384
|
+
expect(req.body.payload.attributes.attachment.buttons[0].value).to.equal("button1");
|
1385
|
+
expect(req.body.payload.attributes.attachment.buttons[0].type).to.equal("text");
|
1386
|
+
|
1387
|
+
expect(req.body.payload.attributes.intent_info.is_fallback).to.equal(true);
|
1388
|
+
expect(req.body.payload.attributes.intent_info.question_payload.text).to.equal("notfoundword");
|
1389
|
+
expect(req.body.payload.attributes._raw_message).to.equal('ok from webhook\n* button1');
|
1390
|
+
|
1391
|
+
|
1392
|
+
done();
|
1393
|
+
|
1394
|
+
|
1395
|
+
});
|
1396
|
+
var listener = serverClient.listen(3022, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
|
1397
|
+
|
1398
|
+
var serverClient2 = express();
|
1399
|
+
serverClient2.use(bodyParser.json());
|
1400
|
+
serverClient2.post('/', function (req, res) {
|
1401
|
+
console.log('serverClient req2', JSON.stringify(req.body));
|
1402
|
+
console.log("serverClient.headers2", JSON.stringify(req.headers));
|
1403
|
+
res.send({text:"ok from webhook\n* button1"});
|
1404
|
+
});
|
1405
|
+
var listener2 = serverClient2.listen(3029, '0.0.0.0', function(){ console.log('Node js Express started', listener2.address());});
|
1406
|
+
|
1407
|
+
|
1408
|
+
leadService.createIfNotExists("leadfullname-subscription-message-sending", "andrea.leo@-subscription-message-sending.it", savedProject._id).then(function(createdLead) {
|
1409
|
+
requestService.createWithId("request_id-subscription-message-createFaqWithDefaultIntentWebhook", createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
|
1410
|
+
messageService.create(savedUser._id, "test sender", savedRequest.request_id, "notfoundword",
|
1411
|
+
savedProject._id, savedUser._id).then(function(savedMessage){
|
1412
|
+
expect(savedMessage.text).to.equal("notfoundword");
|
1413
|
+
});
|
1414
|
+
});
|
1415
|
+
});
|
1416
|
+
});
|
1417
|
+
});
|
1418
|
+
});
|
1419
|
+
});
|
1420
|
+
|
1421
|
+
});
|
1422
|
+
});
|
1423
|
+
}).timeout(20000);
|
1424
|
+
|
1425
|
+
|
1426
|
+
|
1427
|
+
|
1428
|
+
|
1429
|
+
|
1430
|
+
|
1431
|
+
// mocha test-int/bot.js --grep 'createFaqWithDefaultIntentWebhookReturnAttributes'
|
1432
|
+
|
1433
|
+
it('createFaqWithDefaultIntentWebhookReturnAttributes', (done) => {
|
1434
|
+
|
1435
|
+
var email = "test-bot-" + Date.now() + "@email.com";
|
1436
|
+
var pwd = "pwd";
|
1437
|
+
|
1438
|
+
|
1439
|
+
|
1440
|
+
userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
|
1441
|
+
projectService.create("test-bot", savedUser._id).then(function(savedProject) {
|
1442
|
+
// create(name, url, projectid, user_id, type)
|
1443
|
+
faqService.create("testbot", undefined, savedProject._id, savedUser._id, "internal", undefined, "http://localhost:3028/", true).then(function(savedBot) {
|
1444
|
+
|
1445
|
+
Faq.findOneAndUpdate({id_project:savedProject._id,id_faq_kb:savedBot._id, question: "defaultFallback" }, {webhook_enabled: true},{new: true, upsert:false}, function (err, savedFaq) {
|
1446
|
+
console.log("savedFaq",savedFaq);
|
1447
|
+
|
1448
|
+
Department.findOneAndUpdate({id_project: savedProject._id, default:true}, {id_bot:savedBot._id}, function (err, updatedDepartment) {
|
1449
|
+
|
1450
|
+
chai.request(server)
|
1451
|
+
.post('/'+ savedProject._id + '/subscriptions')
|
1452
|
+
.auth(email, pwd)
|
1453
|
+
.set('content-type', 'application/json')
|
1454
|
+
.send({"event":"message.create", "target":"http://localhost:3023/"})
|
1455
|
+
.end((err, res) => {
|
1456
|
+
console.log("res.body", JSON.stringify(res.body));
|
1457
|
+
// console.dir("res.body 1", res.body);
|
1458
|
+
console.log("res.headers", res.headers);
|
1459
|
+
res.should.have.status(200);
|
1460
|
+
res.body.should.be.a('object');
|
1461
|
+
expect(res.body.event).to.equal("message.create");
|
1462
|
+
var secret = res.body.secret;
|
1463
|
+
expect(secret).to.not.equal(null);
|
1464
|
+
expect(res.headers["x-hook-secret"]).to.equal(secret);
|
1465
|
+
|
1466
|
+
|
1467
|
+
var serverClient = express();
|
1468
|
+
serverClient.use(bodyParser.json());
|
1469
|
+
serverClient.post('/', function (req, res) {
|
1470
|
+
console.log('serverClient req', JSON.stringify(req.body));
|
1471
|
+
console.log("serverClient.headers", JSON.stringify(req.headers));
|
1472
|
+
console.log('sono qui',req.body.payload.text);
|
1473
|
+
// if (req.body.payload.text.indexOf("I can not provide an adequate answer")>-1) {
|
1474
|
+
// return res.send('POST request to the homepage');
|
1475
|
+
// }
|
1476
|
+
|
1477
|
+
expect(req.body.hook.event).to.equal("message.create");
|
1478
|
+
console.log('req.body.payload',req.body.payload);
|
1479
|
+
expect(req.body.payload.type).to.equal("text");
|
1480
|
+
console.log('01');
|
1481
|
+
expect(req.body.payload.request.request_id).to.equal("request_id-subscription-message-createFaqWithDefaultIntentWebhookReturnAttributes");
|
1482
|
+
console.log('02');
|
1483
|
+
expect(req.body.payload.request.department).to.not.equal(null);
|
1484
|
+
console.log('03');
|
1485
|
+
expect(req.body.payload.request.department.bot).to.not.equal(null);
|
1486
|
+
console.log('04');
|
1487
|
+
expect(req.body.payload.request.department.bot.name).to.equal("testbot");
|
1488
|
+
console.log('05');
|
1489
|
+
expect(req.headers["x-hook-secret"]).to.equal(secret);
|
1490
|
+
|
1491
|
+
console.log('06');
|
1492
|
+
res.send('POST request to the homepage');
|
1493
|
+
console.log('07', req.body.payload.text);
|
1494
|
+
expect(req.body.payload.text).to.equal("ok from webhook with no microlanguage but attributes");
|
1495
|
+
console.log('before attributes',req.body.payload.attributes);
|
1496
|
+
|
1497
|
+
|
1498
|
+
// expect(req.body.payload.channel_type).to.equal("group");
|
1499
|
+
expect(req.body.payload.type).to.equal("text");
|
1500
|
+
console.log('11');
|
1501
|
+
// expect(req.body.payload.language).to.equal("IT");
|
1502
|
+
// console.log('22');
|
1503
|
+
// expect(req.body.payload.channel.name).to.equal("custom-channel");
|
1504
|
+
|
1505
|
+
expect(req.body.payload.attributes.attachment.buttons[0].value).to.equal("button1");
|
1506
|
+
console.log('33');
|
1507
|
+
expect(req.body.payload.attributes.attachment.buttons[0].type).to.equal("text");
|
1508
|
+
console.log('44');
|
1509
|
+
expect(req.body.payload.attributes.intent_info.is_fallback).to.equal(true);
|
1510
|
+
console.log('55');
|
1511
|
+
expect(req.body.payload.attributes.intent_info.question_payload.text).to.equal("notfoundword");
|
1512
|
+
console.log('66');
|
1513
|
+
expect(req.body.payload.attributes._raw_message).to.equal('ok from webhook with no microlanguage but attributes');
|
1514
|
+
console.log('77');
|
1515
|
+
|
1516
|
+
done();
|
1517
|
+
|
1518
|
+
|
1519
|
+
});
|
1520
|
+
var listener = serverClient.listen(3023, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
|
1521
|
+
|
1522
|
+
var serverClient2 = express();
|
1523
|
+
serverClient2.use(bodyParser.json());
|
1524
|
+
serverClient2.post('/', function (req, res) {
|
1525
|
+
console.log('serverClient req2', JSON.stringify(req.body));
|
1526
|
+
console.log("serverClient.headers2", JSON.stringify(req.headers));
|
1527
|
+
res.send({text:"ok from webhook with no microlanguage but attributes", attributes: {attachment: {buttons: [{value: "button1", type:"text"}]}}});
|
1528
|
+
});
|
1529
|
+
var listener2 = serverClient2.listen(3028, '0.0.0.0', function(){ console.log('Node js Express started', listener2.address());});
|
1530
|
+
|
1531
|
+
|
1532
|
+
leadService.createIfNotExists("leadfullname-subscription-message-sending", "andrea.leo@-subscription-message-sending.it", savedProject._id).then(function(createdLead) {
|
1533
|
+
requestService.createWithId("request_id-subscription-message-createFaqWithDefaultIntentWebhookReturnAttributes", createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
|
1534
|
+
messageService.create(savedUser._id, "test sender", savedRequest.request_id, "notfoundword",
|
1535
|
+
savedProject._id, savedUser._id
|
1536
|
+
|
1537
|
+
,undefined, undefined, undefined, undefined, "IT", undefined,
|
1538
|
+
//{name:"custom-channel"}
|
1539
|
+
)
|
1540
|
+
.then(function(savedMessage){
|
1541
|
+
console.log("message saved ok")
|
1542
|
+
// create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language, channel_type, channel) {
|
1543
|
+
// messageService.save({sender:savedUser._id, senderFullname:"test sender",recipient: savedRequest.request_id, text:"notfoundword",
|
1544
|
+
// id_project:savedProject._id, createdBy: savedUser._id, status: 0, channel:{name:"custom-channel"}}).then(function(savedMessage){
|
1545
|
+
expect(savedMessage.text).to.equal("notfoundword");
|
1546
|
+
expect(savedMessage.language).to.equal("IT");
|
1547
|
+
});
|
1548
|
+
});
|
1549
|
+
});
|
1550
|
+
});
|
1551
|
+
});
|
1552
|
+
});
|
1553
|
+
});
|
1554
|
+
|
1555
|
+
});
|
1556
|
+
});
|
1557
|
+
}).timeout(20000);
|
1558
|
+
|
1559
|
+
|
1560
|
+
|
1561
|
+
|
1562
|
+
|
1563
|
+
// mocha test-int/bot.js --grep 'createFaqWithDefaultIntentWebhookReturnTypeAndMetadata'
|
1564
|
+
|
1565
|
+
it('createFaqWithDefaultIntentWebhookReturnTypeAndMetadata', (done) => {
|
1566
|
+
|
1567
|
+
var email = "test-bot-" + Date.now() + "@email.com";
|
1568
|
+
var pwd = "pwd";
|
1569
|
+
|
1570
|
+
|
1571
|
+
|
1572
|
+
userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
|
1573
|
+
projectService.create("test-bot", savedUser._id).then(function(savedProject) {
|
1574
|
+
// create(name, url, projectid, user_id, type)
|
1575
|
+
faqService.create("testbot", undefined, savedProject._id, savedUser._id, "internal", undefined, "http://localhost:3030/", true).then(function(savedBot) {
|
1576
|
+
|
1577
|
+
Faq.findOneAndUpdate({id_project:savedProject._id,id_faq_kb:savedBot._id, question: "defaultFallback" }, {webhook_enabled: true},{new: true, upsert:false}, function (err, savedFaq) {
|
1578
|
+
console.log("savedFaq",savedFaq);
|
1579
|
+
|
1580
|
+
Department.findOneAndUpdate({id_project: savedProject._id, default:true}, {id_bot:savedBot._id}, function (err, updatedDepartment) {
|
1581
|
+
|
1582
|
+
chai.request(server)
|
1583
|
+
.post('/'+ savedProject._id + '/subscriptions')
|
1584
|
+
.auth(email, pwd)
|
1585
|
+
.set('content-type', 'application/json')
|
1586
|
+
.send({"event":"message.create", "target":"http://localhost:3031/"})
|
1587
|
+
.end((err, res) => {
|
1588
|
+
console.log("res.body", JSON.stringify(res.body));
|
1589
|
+
// console.dir("res.body 1", res.body);
|
1590
|
+
console.log("res.headers", res.headers);
|
1591
|
+
res.should.have.status(200);
|
1592
|
+
res.body.should.be.a('object');
|
1593
|
+
expect(res.body.event).to.equal("message.create");
|
1594
|
+
var secret = res.body.secret;
|
1595
|
+
expect(secret).to.not.equal(null);
|
1596
|
+
expect(res.headers["x-hook-secret"]).to.equal(secret);
|
1597
|
+
|
1598
|
+
|
1599
|
+
var serverClient = express();
|
1600
|
+
serverClient.use(bodyParser.json());
|
1601
|
+
serverClient.post('/', function (req, res) {
|
1602
|
+
console.log('serverClient req', JSON.stringify(req.body));
|
1603
|
+
console.log("serverClient.headers", JSON.stringify(req.headers));
|
1604
|
+
console.log('sono qui',req.body.payload.text);
|
1605
|
+
// if (req.body.payload.text.indexOf("I can not provide an adequate answer")>-1) {
|
1606
|
+
// return res.send('POST request to the homepage');
|
1607
|
+
// }
|
1608
|
+
|
1609
|
+
expect(req.body.hook.event).to.equal("message.create");
|
1610
|
+
console.log('req.body.payload',req.body.payload);
|
1611
|
+
expect(req.body.payload.type).to.equal("image");
|
1612
|
+
console.log('01');
|
1613
|
+
expect(req.body.payload.request.request_id).to.equal("request_id-subscription-message-createFaqWithDefaultIntentWebhookReturnAttributes");
|
1614
|
+
console.log('02');
|
1615
|
+
expect(req.body.payload.request.department).to.not.equal(null);
|
1616
|
+
console.log('03');
|
1617
|
+
expect(req.body.payload.request.department.bot).to.not.equal(null);
|
1618
|
+
console.log('04');
|
1619
|
+
expect(req.body.payload.request.department.bot.name).to.equal("testbot");
|
1620
|
+
console.log('05');
|
1621
|
+
expect(req.headers["x-hook-secret"]).to.equal(secret);
|
1622
|
+
|
1623
|
+
console.log('06');
|
1624
|
+
res.send('POST request to the homepage');
|
1625
|
+
console.log('07', req.body.payload.text);
|
1626
|
+
expect(req.body.payload.text).to.equal("ok from webhook with no microlanguage but type and metadata");
|
1627
|
+
console.log('before attributes',req.body.payload.attributes);
|
1628
|
+
|
1629
|
+
|
1630
|
+
// expect(req.body.payload.channel_type).to.equal("group");
|
1631
|
+
expect(req.body.payload.type).to.equal("image");
|
1632
|
+
console.log('11');
|
1633
|
+
// expect(req.body.payload.language).to.equal("IT");
|
1634
|
+
// console.log('22');
|
1635
|
+
// expect(req.body.payload.channel.name).to.equal("custom-channel");
|
1636
|
+
|
1637
|
+
expect(req.body.payload.metadata.src).to.equal("http://image.jpg");
|
1638
|
+
console.log('44');
|
1639
|
+
expect(req.body.payload.attributes.intent_info.is_fallback).to.equal(true);
|
1640
|
+
console.log('55');
|
1641
|
+
expect(req.body.payload.attributes.intent_info.question_payload.text).to.equal("notfoundword");
|
1642
|
+
console.log('66');
|
1643
|
+
expect(req.body.payload.attributes._raw_message).to.equal('ok from webhook with no microlanguage but type and metadata');
|
1644
|
+
console.log('77');
|
1645
|
+
|
1646
|
+
done();
|
1647
|
+
|
1648
|
+
|
1649
|
+
});
|
1650
|
+
var listener = serverClient.listen(3031, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
|
1651
|
+
|
1652
|
+
var serverClient2 = express();
|
1653
|
+
serverClient2.use(bodyParser.json());
|
1654
|
+
serverClient2.post('/', function (req, res) {
|
1655
|
+
console.log('serverClient req2', JSON.stringify(req.body));
|
1656
|
+
console.log("serverClient.headers2", JSON.stringify(req.headers));
|
1657
|
+
res.send({text:"ok from webhook with no microlanguage but type and metadata", type: "image", metadata: {src: "http://image.jpg" }});
|
1658
|
+
});
|
1659
|
+
var listener2 = serverClient2.listen(3030, '0.0.0.0', function(){ console.log('Node js Express started', listener2.address());});
|
1660
|
+
|
1661
|
+
|
1662
|
+
leadService.createIfNotExists("leadfullname-subscription-message-sending", "andrea.leo@-subscription-message-sending.it", savedProject._id).then(function(createdLead) {
|
1663
|
+
requestService.createWithId("request_id-subscription-message-createFaqWithDefaultIntentWebhookReturnAttributes", createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
|
1664
|
+
messageService.create(savedUser._id, "test sender", savedRequest.request_id, "notfoundword",
|
1665
|
+
savedProject._id, savedUser._id
|
1666
|
+
|
1667
|
+
,undefined, undefined, undefined, undefined, "IT", undefined,
|
1668
|
+
//{name:"custom-channel"}
|
1669
|
+
)
|
1670
|
+
.then(function(savedMessage){
|
1671
|
+
console.log("message saved ok")
|
1672
|
+
// create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language, channel_type, channel) {
|
1673
|
+
// messageService.save({sender:savedUser._id, senderFullname:"test sender",recipient: savedRequest.request_id, text:"notfoundword",
|
1674
|
+
// id_project:savedProject._id, createdBy: savedUser._id, status: 0, channel:{name:"custom-channel"}}).then(function(savedMessage){
|
1675
|
+
expect(savedMessage.text).to.equal("notfoundword");
|
1676
|
+
expect(savedMessage.language).to.equal("IT");
|
1677
|
+
});
|
1678
|
+
});
|
1679
|
+
});
|
1680
|
+
});
|
1681
|
+
});
|
1682
|
+
});
|
1683
|
+
});
|
1684
|
+
|
1685
|
+
});
|
1686
|
+
});
|
1687
|
+
}).timeout(20000);
|
1688
|
+
|
1689
|
+
|
1690
|
+
|
1691
|
+
|
1692
|
+
|
1693
|
+
|
1694
|
+
|
1695
|
+
|
1696
|
+
|
1697
|
+
|
1698
|
+
|
1077
1699
|
// mocha test-int/bot.js --grep 'createFaqWithWebhookMicrolanguage'
|
1078
1700
|
|
1079
1701
|
it('createFaqWithWebhookMicrolanguage', (done) => {
|
@@ -1086,7 +1708,7 @@ describe('bot', () => {
|
|
1086
1708
|
userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
|
1087
1709
|
projectService.create("test-bot", savedUser._id).then(function(savedProject) {
|
1088
1710
|
// create(name, url, projectid, user_id, type)
|
1089
|
-
faqService.create("testbot", null, savedProject._id, savedUser._id, "internal").then(function(savedBot) {
|
1711
|
+
faqService.create("testbot", null, savedProject._id, savedUser._id, "internal", undefined, undefined, true).then(function(savedBot) {
|
1090
1712
|
|
1091
1713
|
var newFaq = new Faq({
|
1092
1714
|
id_faq_kb: savedBot._id,
|
@@ -1106,7 +1728,7 @@ describe('bot', () => {
|
|
1106
1728
|
.post('/'+ savedProject._id + '/subscriptions')
|
1107
1729
|
.auth(email, pwd)
|
1108
1730
|
.set('content-type', 'application/json')
|
1109
|
-
.send({"event":"message.create", "target":"http://localhost:
|
1731
|
+
.send({"event":"message.create", "target":"http://localhost:3025/"})
|
1110
1732
|
.end((err, res) => {
|
1111
1733
|
console.log("res.body", JSON.stringify(res.body));
|
1112
1734
|
// console.dir("res.body 1", res.body);
|
@@ -1133,14 +1755,17 @@ describe('bot', () => {
|
|
1133
1755
|
messageReceived = messageReceived+1;
|
1134
1756
|
expect(req.body.hook.event).to.equal("message.create");
|
1135
1757
|
expect(req.body.payload.type).to.equal("text");
|
1758
|
+
console.log("1")
|
1136
1759
|
expect(req.body.payload.request.request_id).to.equal("request_id-subscription-message-createFaqWithButton");
|
1137
1760
|
expect(req.body.payload.request.department).to.not.equal(null);
|
1138
1761
|
expect(req.body.payload.request.department.bot).to.not.equal(null);
|
1139
1762
|
expect(req.body.payload.request.department.bot.name).to.equal("testbot");
|
1140
|
-
|
1763
|
+
console.log("2")
|
1141
1764
|
expect(req.headers["x-hook-secret"]).to.equal(secret);
|
1142
1765
|
res.send('POST request to the homepage');
|
1766
|
+
console.log("3",req.body.payload.text)
|
1143
1767
|
expect(req.body.payload.text).to.equal("ok from webhook");
|
1768
|
+
console.log("4")
|
1144
1769
|
expect(req.body.payload.attributes.attachment.buttons[0].value).to.equal("button1");
|
1145
1770
|
expect(req.body.payload.attributes.attachment.buttons[0].type).to.equal("text");
|
1146
1771
|
|
@@ -1149,7 +1774,7 @@ describe('bot', () => {
|
|
1149
1774
|
|
1150
1775
|
|
1151
1776
|
});
|
1152
|
-
var listener = serverClient.listen(
|
1777
|
+
var listener = serverClient.listen(3025, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
|
1153
1778
|
|
1154
1779
|
var serverClient2 = express();
|
1155
1780
|
serverClient2.use(bodyParser.json());
|
@@ -1288,3 +1913,43 @@ describe('bot', () => {
|
|
1288
1913
|
|
1289
1914
|
});
|
1290
1915
|
});
|
1916
|
+
|
1917
|
+
|
1918
|
+
|
1919
|
+
|
1920
|
+
// 5 failing
|
1921
|
+
|
1922
|
+
// 1) bot
|
1923
|
+
// /messages
|
1924
|
+
// createFaqWithWebhook:
|
1925
|
+
// Error: Timeout of 20000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/andrealeo/dev/chat21/tiledesk-server-dev-org/test-int/bot.js)
|
1926
|
+
// at listOnTimeout (internal/timers.js:557:17)
|
1927
|
+
// at processTimers (internal/timers.js:500:7)
|
1928
|
+
|
1929
|
+
// 2) bot
|
1930
|
+
// /messages
|
1931
|
+
// createFaqWithDefaultIntentWebhook:
|
1932
|
+
// Error: Timeout of 20000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/andrealeo/dev/chat21/tiledesk-server-dev-org/test-int/bot.js)
|
1933
|
+
// at listOnTimeout (internal/timers.js:557:17)
|
1934
|
+
// at processTimers (internal/timers.js:500:7)
|
1935
|
+
|
1936
|
+
// 3) bot
|
1937
|
+
// /messages
|
1938
|
+
// createFaqWithDefaultIntentWebhookReturnAttributes:
|
1939
|
+
// Error: Timeout of 20000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/andrealeo/dev/chat21/tiledesk-server-dev-org/test-int/bot.js)
|
1940
|
+
// at listOnTimeout (internal/timers.js:557:17)
|
1941
|
+
// at processTimers (internal/timers.js:500:7)
|
1942
|
+
|
1943
|
+
// 4) bot
|
1944
|
+
// /messages
|
1945
|
+
// createFaqWithDefaultIntentWebhookReturnTypeAndMetadata:
|
1946
|
+
// Error: Timeout of 20000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/andrealeo/dev/chat21/tiledesk-server-dev-org/test-int/bot.js)
|
1947
|
+
// at listOnTimeout (internal/timers.js:557:17)
|
1948
|
+
// at processTimers (internal/timers.js:500:7)
|
1949
|
+
|
1950
|
+
// 5) bot
|
1951
|
+
// /messages
|
1952
|
+
// createFaqWithWebhookMicrolanguage:
|
1953
|
+
// Error: Timeout of 20000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/andrealeo/dev/chat21/tiledesk-server-dev-org/test-int/bot.js)
|
1954
|
+
// at listOnTimeout (internal/timers.js:557:17)
|
1955
|
+
// at processTimers (internal/timers.js:500:7)
|