@tiledesk/tiledesk-server 2.1.41 → 2.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/.circleci/config.yml +54 -0
  2. package/.env.sample +1 -1
  3. package/.github/workflows/docker-community-push-latest.yml +22 -0
  4. package/.github/workflows/{docker-image-push.yml → docker-image-en-tag-push.yml} +1 -1
  5. package/.github/workflows/docker-image-tag-community-tag-push.yml +21 -0
  6. package/.github/workflows/{docker-push-latest.yml → docker-push-en-push-latest.yml} +1 -1
  7. package/CHANGELOG.md +198 -1
  8. package/Dockerfile +1 -1
  9. package/Dockerfile-en +1 -1
  10. package/README.md +5 -7
  11. package/app.js +12 -1
  12. package/channels/chat21/chat21Contact.js +34 -8
  13. package/channels/chat21/chat21Handler.js +48 -5
  14. package/channels/chat21/chat21WebHook.js +34 -5
  15. package/channels/chat21/nativeauth.js +2 -2
  16. package/config/email.js +2 -1
  17. package/config/global.js +3 -0
  18. package/config/labels/widget.json +170 -16
  19. package/event/messageEvent.js +18 -1
  20. package/middleware/passport.js +10 -4
  21. package/models/actionsConstants.js +7 -0
  22. package/models/department.js +3 -0
  23. package/models/faq.js +8 -2
  24. package/models/faq_kb.js +6 -0
  25. package/models/message.js +10 -4
  26. package/models/messageConstants.js +3 -3
  27. package/models/request.js +33 -3
  28. package/package.json +31 -28
  29. package/pubmodules/emailNotification/requestNotification.js +380 -62
  30. package/pubmodules/messageActions/messageActionsInterceptor.js +20 -7
  31. package/pubmodules/messageTransformer/index.js +1 -1
  32. package/pubmodules/messageTransformer/microLanguageAttributesTransformerInterceptor.js +67 -0
  33. package/pubmodules/pubModulesManager.js +66 -14
  34. package/pubmodules/rules/conciergeBot.js +81 -49
  35. package/routes/auth.js +34 -10
  36. package/routes/campaigns.js +117 -25
  37. package/routes/faq.js +19 -0
  38. package/routes/faq_kb.js +13 -4
  39. package/routes/faqpub.js +1 -1
  40. package/routes/images.js +1 -1
  41. package/routes/jwt.js +0 -1
  42. package/routes/logs.js +26 -0
  43. package/routes/message.js +7 -2
  44. package/routes/messagesRoot.js +73 -16
  45. package/routes/project_user.js +36 -1
  46. package/routes/request.js +88 -12
  47. package/routes/requestUtilRoot.js +30 -0
  48. package/routes/urls.js +12 -0
  49. package/routes/users.js +5 -1
  50. package/services/BotSubscriptionNotifier.js +1 -0
  51. package/services/departmentService.js +29 -5
  52. package/services/emailService.js +1103 -298
  53. package/services/faqBotHandler.js +176 -61
  54. package/services/faqBotSupport.js +181 -117
  55. package/services/faqService.js +17 -14
  56. package/services/messageService.js +57 -9
  57. package/services/modulesManager.js +86 -23
  58. package/services/requestService.js +58 -17
  59. package/template/email/assignedEmailMessage.html +205 -0
  60. package/template/email/assignedRequest.html +44 -14
  61. package/template/email/beenInvitedExistingUser.html +2 -2
  62. package/template/email/beenInvitedNewUser.html +1 -1
  63. package/template/email/newMessage.html +31 -12
  64. package/template/email/passwordChanged.html +2 -3
  65. package/template/email/pooledEmailMessage.html +208 -0
  66. package/template/email/pooledRequest.html +41 -14
  67. package/template/email/resetPassword.html +2 -3
  68. package/template/email/sendTranscript.html +1 -1
  69. package/template/email/test.html +1 -1
  70. package/template/email/ticket.html +78 -52
  71. package/template/email/ticket.txt +5 -1
  72. package/template/email/verify.html +1 -1
  73. package/test/authentication.js +76 -4
  74. package/test/authenticationJwt.js +76 -2
  75. package/test/campaignsRoute.js +226 -0
  76. package/test/faqService.js +3 -3
  77. package/test/faqkbRoute.js +3 -2
  78. package/test/messageRootRoute.js +193 -0
  79. package/test/messageRoute.js +75 -0
  80. package/test/messageService.js +5 -5
  81. package/test/requestRoute.js +27 -9
  82. package/test/requestService.js +472 -11
  83. package/test-int/bot.js +673 -8
  84. package/websocket/webSocketServer.js +7 -4
  85. package/template/email/ticket-taking.txt +0 -7
@@ -37,13 +37,14 @@ describe('FaqKBRoute', () => {
37
37
  chai.request(server)
38
38
  .post('/'+ savedProject._id + '/faq_kb')
39
39
  .auth(email, pwd)
40
- .send({"name":"testbot", type: "external"})
40
+ .send({"name":"testbot", type: "external", language: 'fr'})
41
41
  .end((err, res) => {
42
42
  //console.log("res", res);
43
43
  console.log("res.body", res.body);
44
44
  res.should.have.status(200);
45
45
  res.body.should.be.a('object');
46
- expect(res.body.name).to.equal("testbot");
46
+ expect(res.body.name).to.equal("testbot");
47
+ expect(res.body.language).to.equal("fr");
47
48
 
48
49
  done();
49
50
  });
@@ -0,0 +1,193 @@
1
+ //During the test the env variable is set to test
2
+ process.env.NODE_ENV = 'test';
3
+
4
+ var User = require('../models/user');
5
+ var projectService = require('../services/projectService');
6
+ var requestService = require('../services/requestService');
7
+ var userService = require('../services/userService');
8
+ var leadService = require('../services/leadService');
9
+ var messageService = require('../services/messageService');
10
+ var Project_user = require("../models/project_user");
11
+ var roleConstants = require('../models/roleConstants');
12
+ const uuidv4 = require('uuid/v4');
13
+
14
+ //Require the dev-dependencies
15
+ let chai = require('chai');
16
+ let chaiHttp = require('chai-http');
17
+ let server = require('../app');
18
+ let should = chai.should();
19
+ var winston = require('../config/winston');
20
+ var jwt = require('jsonwebtoken');
21
+ // chai.config.includeStack = true;
22
+
23
+ var expect = chai.expect;
24
+ var assert = chai.assert;
25
+
26
+ chai.use(chaiHttp);
27
+
28
+ describe('MessageRoute', () => {
29
+
30
+
31
+ // mocha test/messageRootRoute.js --grep 'createSimple'
32
+
33
+ it('createSimple', function (done) {
34
+ // this.timeout(10000);
35
+
36
+ var email = "test-message-create-" + Date.now() + "@email.com";
37
+ var pwd = "pwd";
38
+
39
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
40
+
41
+ var email2 = "test-message-create-" + Date.now() + "@email.com";
42
+ userService.signup( email2 ,pwd, "Test Firstname2", "Test lastname2").then(function(savedUser2) {
43
+
44
+ projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function(savedProjectAndPU) {
45
+
46
+ var savedProject = savedProjectAndPU.project;
47
+
48
+ chai.request(server)
49
+ .post('/'+ savedProject._id + '/messages')
50
+ .auth(email, pwd)
51
+ .set('content-type', 'application/json')
52
+ .send({"recipient":savedUser2._id.toString(), "recipientFullname": "Dest", "text":"text"})
53
+ .end(function(err, res) {
54
+ //console.log("res", res);
55
+ console.log("res.body", res.body);
56
+ res.should.have.status(200);
57
+ res.body.should.be.a('object');
58
+
59
+ expect(res.body.sender).to.equal(savedUser._id.toString());
60
+ expect(res.body.senderFullname).to.equal("Test Firstname Test lastname");
61
+ expect(res.body.recipient).to.equal(savedUser2._id.toString());
62
+ expect(res.body.type).to.equal("text");
63
+ expect(res.body.text).to.equal("text");
64
+ expect(res.body.id_project).to.equal(savedProject._id.toString());
65
+ expect(res.body.createdBy).to.equal(savedUser._id.toString());
66
+ expect(res.body.status).to.equal(0);
67
+ expect(res.body.request).to.equal(undefined);
68
+ expect(res.body.channel_type).to.equal("direct");
69
+ expect(res.body.channel.name).to.equal("chat21");
70
+
71
+
72
+ done();
73
+ });
74
+ });
75
+ });
76
+ });
77
+ });
78
+
79
+
80
+
81
+
82
+
83
+ // mocha test/messageRootRoute.js --grep 'createValidationNoRecipient'
84
+ it('createValidationNoRecipient', function (done) {
85
+ // this.timeout(10000);
86
+
87
+ var email = "test-message-create-" + Date.now() + "@email.com";
88
+ var pwd = "pwd";
89
+
90
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
91
+ projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function(savedProjectAndPU) {
92
+
93
+ var savedProject = savedProjectAndPU.project;
94
+
95
+ chai.request(server)
96
+ .post('/'+ savedProject._id + '/messages')
97
+ .auth(email, pwd)
98
+ .set('content-type', 'application/json')
99
+ .send({"text":"text"})
100
+ .end(function(err, res) {
101
+ //console.log("res", res);
102
+ console.log("res.body", res.body);
103
+ res.should.have.status(422);
104
+ res.body.should.be.a('object');
105
+
106
+ done();
107
+ });
108
+ });
109
+ });
110
+ });
111
+
112
+
113
+
114
+
115
+ // mocha test/messageRootRoute.js --grep 'createValidationNoText'
116
+ it('createValidationNoText', function (done) {
117
+ // this.timeout(10000);
118
+
119
+ var email = "test-message-create-" + Date.now() + "@email.com";
120
+ var pwd = "pwd";
121
+
122
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
123
+ projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function(savedProjectAndPU) {
124
+
125
+ var savedProject = savedProjectAndPU.project;
126
+
127
+ chai.request(server)
128
+ .post('/'+ savedProject._id + '/messages')
129
+ .auth(email, pwd)
130
+ .set('content-type', 'application/json')
131
+ .send({"recipient":"5ddd30bff0195f0017f72c6d", "recipientFullname": "Dest"})
132
+ .end(function(err, res) {
133
+ //console.log("res", res);
134
+ console.log("res.body", res.body);
135
+ res.should.have.status(422);
136
+ res.body.should.be.a('object');
137
+
138
+ done();
139
+ });
140
+ });
141
+ });
142
+ });
143
+
144
+
145
+
146
+
147
+ // mocha test/messageRootRoute.js --grep 'createWithSenderFullName'
148
+
149
+ it('createWithSenderFullName', function (done) {
150
+ // this.timeout(10000);
151
+
152
+ var email = "test-message-create-" + Date.now() + "@email.com";
153
+ var pwd = "pwd";
154
+
155
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
156
+ projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function(savedProjectAndPU) {
157
+
158
+ var savedProject = savedProjectAndPU.project;
159
+
160
+ chai.request(server)
161
+ .post('/'+ savedProject._id + '/messages')
162
+ .auth(email, pwd)
163
+ .set('content-type', 'application/json')
164
+ .send({"senderFullname":"Pippo","recipient":"5ddd30bff0195f0017f72c6d", "recipientFullname": "Dest", "text":"text"})
165
+ .end(function(err, res) {
166
+ //console.log("res", res);
167
+ console.log("res.body", res.body);
168
+ res.should.have.status(200);
169
+ res.body.should.be.a('object');
170
+
171
+ expect(res.body.sender).to.equal(savedUser._id.toString());
172
+ expect(res.body.senderFullname).to.equal("Pippo");
173
+ expect(res.body.recipient).to.equal("5ddd30bff0195f0017f72c6d");
174
+ expect(res.body.type).to.equal("text");
175
+ expect(res.body.text).to.equal("text");
176
+ expect(res.body.id_project).to.equal(savedProject._id.toString());
177
+ expect(res.body.createdBy).to.equal(savedUser._id.toString());
178
+ expect(res.body.status).to.equal(0);
179
+ expect(res.body.request).to.equal(undefined);
180
+ expect(res.body.channel_type).to.equal("direct");
181
+ expect(res.body.channel.name).to.equal("chat21");
182
+
183
+
184
+ done();
185
+ });
186
+ });
187
+ });
188
+ });
189
+
190
+
191
+ });
192
+
193
+
@@ -588,6 +588,79 @@ it('createWithParticipants', function (done) {
588
588
  });
589
589
 
590
590
 
591
+
592
+
593
+
594
+ // mocha test/messageRoute.js --grep 'createWithPriority'
595
+
596
+ it('createWithPriority', function (done) {
597
+ // this.timeout(10000);
598
+
599
+ var email = "test-message-create-" + Date.now() + "@email.com";
600
+ var pwd = "pwd";
601
+
602
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
603
+ projectService.createAndReturnProjectAndProjectUser("message-createWithPriority", savedUser._id).then(function(savedProjectAndPU) {
604
+
605
+ var savedProject = savedProjectAndPU.project;
606
+
607
+ var reqid = 'req123-createWithPriority' + Date.now();
608
+
609
+ chai.request(server)
610
+ .post('/'+ savedProject._id + '/requests/'+reqid +'/messages')
611
+ .auth(email, pwd)
612
+ .set('content-type', 'application/json')
613
+ .send({"text":"text", "priority": "hight"})
614
+ .end(function(err, res) {
615
+ //console.log("res", res);
616
+ console.log("res.body", res.body);
617
+ res.should.have.status(200);
618
+ res.body.should.be.a('object');
619
+
620
+ expect(res.body.sender).to.equal(savedUser._id.toString());
621
+ // expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
622
+ // expect(res.body.senderFullname).to.equal("senderFullname");
623
+ expect(res.body.recipient).to.equal(reqid);
624
+ expect(res.body.text).to.equal("text");
625
+ expect(res.body.id_project).to.equal(savedProject._id.toString());
626
+ expect(res.body.createdBy).to.equal(savedUser._id.toString());
627
+ expect(res.body.status).to.equal(0);
628
+
629
+ expect(res.body.request.request_id).to.equal(reqid);
630
+ expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
631
+ // expect(res.body.request.requester_id).to.equal("sender");
632
+ expect(res.body.request.first_text).to.equal("text");
633
+ expect(res.body.request.id_project).to.equal(savedProject._id.toString());
634
+ expect(res.body.request.createdBy).to.equal(savedUser._id.toString());
635
+
636
+ // expect(res.body.request.messages_count).to.equal(1);
637
+
638
+ expect(res.body.request.status).to.equal(200);
639
+ expect(res.body.request.snapshot.agents.length).to.equal(1);
640
+ expect(res.body.request.participants.length).to.equal(1);
641
+ expect(res.body.request.department).to.not.equal(null);
642
+ expect(res.body.request.lead).to.not.equal(null);
643
+ expect(res.body.request.priority).to.equal("hight");
644
+
645
+
646
+ expect(res.body.channel_type).to.equal("group");
647
+ expect(res.body.channel.name).to.equal("chat21");
648
+ expect(res.body.request.channel.name).to.equal("chat21");
649
+
650
+
651
+ expect(res.body.request.location).to.equal(undefined);
652
+
653
+
654
+ done();
655
+ });
656
+ });
657
+ });
658
+ });
659
+
660
+
661
+
662
+
663
+
591
664
  it('getall', function (done) {
592
665
  // this.timeout(10000);
593
666
 
@@ -662,6 +735,7 @@ it('getall', function (done) {
662
735
 
663
736
  describe('/SendMessageSigninWithCustomToken', () => {
664
737
 
738
+ // mocha test/messageRoute.js --grep 'sendMessageSigninWithCustomTokenOk'
665
739
 
666
740
  it('sendMessageSigninWithCustomTokenOk', (done) => {
667
741
 
@@ -784,6 +858,7 @@ describe('/SendMessageSigninWithCustomToken', () => {
784
858
 
785
859
 
786
860
 
861
+ // mocha test/messageRoute.js --grep 'sendMessageSigninAnonym'
787
862
 
788
863
 
789
864
 
@@ -203,9 +203,9 @@ describe('messageService', function () {
203
203
 
204
204
 
205
205
 
206
- // mocha test/messageService.js --grep 'createMessageMicroLanguage'
206
+ // mocha test/messageService.js --grep 'createMessageMicroLanguageWithAttribute'
207
207
 
208
- it('createMessageMicroLanguage', function (done) {
208
+ it('createMessageMicroLanguageWithAttribute', function (done) {
209
209
  // this.timeout(10000);
210
210
 
211
211
 
@@ -217,7 +217,7 @@ describe('messageService', function () {
217
217
 
218
218
  projectService.create("test1", userid).then(function(savedProject) {
219
219
  // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata) {
220
- messageService.create(userid, "test sender", "testrecipient-createMessage", "ciao\n* Button1",
220
+ messageService.create("bot_"+userid, "test sender", "testrecipient-createMessageMicroLanguageWithAttribute", "ciao\n* Button1",
221
221
  savedProject._id, userid, undefined, {microlanguage:true}).then(function(savedMessage){
222
222
  winston.debug("resolve savedMessage", savedMessage.toObject());
223
223
 
@@ -226,9 +226,9 @@ describe('messageService', function () {
226
226
  expect(savedMessage.attributes._raw_message).to.equal("ciao\n* Button1","attachment");
227
227
  expect(savedMessage.attributes.attachment.type).to.equal("template");
228
228
  expect(savedMessage.attributes.attachment.buttons[0].value).to.equal("Button1");
229
- expect(savedMessage.sender).to.equal(userid);
229
+ expect(savedMessage.sender).to.equal("bot_"+userid);
230
230
  expect(savedMessage.senderFullname).to.equal("test sender");
231
- expect(savedMessage.recipient).to.equal("testrecipient-createMessage");
231
+ expect(savedMessage.recipient).to.equal("testrecipient-createMessageMicroLanguageWithAttribute");
232
232
  done();
233
233
 
234
234
  })
@@ -31,14 +31,16 @@ describe('RequestRoute', () => {
31
31
 
32
32
 
33
33
 
34
- it('create', function (done) {
34
+ // mocha test/requestRoute.js --grep 'createSimple'
35
+
36
+ it('createSimple', function (done) {
35
37
  // this.timeout(10000);
36
38
 
37
39
  var email = "test-request-create-" + Date.now() + "@email.com";
38
40
  var pwd = "pwd";
39
41
 
40
42
  userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
41
- projectService.create("request-create", savedUser._id).then(function(savedProject) {
43
+ projectService.create("request-create", savedUser._id, {email: { template: {assignedRequest: "123"}} }).then(function(savedProject) {
42
44
 
43
45
 
44
46
  chai.request(server)
@@ -139,7 +141,7 @@ it('createUpperCaseEmail', function (done) {
139
141
 
140
142
 
141
143
 
142
-
144
+ // mocha test/requestRoute.js --grep 'getbyid'
143
145
  it('getbyid', function (done) {
144
146
  // this.timeout(10000);
145
147
 
@@ -186,6 +188,9 @@ it('createUpperCaseEmail', function (done) {
186
188
 
187
189
  expect(res.body.requester._id).to.not.equal(savedProjectAndPU.project_user._id);
188
190
  expect(res.body.requester.isAuthenticated).to.equal(true);
191
+
192
+ expect(res.body.snapshot.agents).to.equal(undefined);
193
+
189
194
  done();
190
195
  });
191
196
  // .catch(function(err) {
@@ -254,7 +259,7 @@ it('getbyidWithPartecipatingBots', function (done) {
254
259
  expect(res.body.participantsBots).to.have.lengthOf(1);
255
260
  expect(res.body.hasBot).to.equal(true);
256
261
 
257
-
262
+ expect(res.body.snapshot.agents).to.equal(undefined);
258
263
  expect(res.body.department.hasBot).to.equal(true);
259
264
 
260
265
  done();
@@ -339,6 +344,8 @@ it('getbyidWithPartecipatingBots', function (done) {
339
344
  expect(res.body.requests[0].snapshot.availableAgentsCount).to.equal(1);
340
345
  expect(res.body.requests[0].snapshot.lead.fullname).to.equal("leadfullname");
341
346
  expect(res.body.requests[0].snapshot.requester.role).to.equal("owner");
347
+ expect(res.body.requests[0].snapshot.agents).to.equal(undefined);
348
+
342
349
  // expect(res.body.requests[0].participatingAgents.length).to.equal(1);
343
350
  // expect(res.body.requests[0].participatingBots.length).to.equal(0);
344
351
  done();
@@ -410,6 +417,7 @@ it('getallNoPopulate', function (done) {
410
417
 
411
418
  expect(res.body.requests[0].snapshot).to.not.equal(undefined);
412
419
  expect(res.body.requests[0].snapshot.department.name).to.not.equal(null);
420
+ expect(res.body.requests[0].snapshot.agents).to.equal(undefined);
413
421
  // expect(res.body.requests[0].snapshot.agents.length).to.equal(1);
414
422
  // expect(res.body.requests[0].test).to.not.equal(undefined);
415
423
  // expect(res.body.requests[0].participatingAgents.length).to.equal(1);
@@ -498,6 +506,7 @@ it('getallFilter-snap_department_routing', function (done) {
498
506
  expect(res.body.requests[0].snapshot.availableAgentsCount).to.equal(1);
499
507
  expect(res.body.requests[0].snapshot.lead.fullname).to.equal("leadfullname");
500
508
  expect(res.body.requests[0].snapshot.requester.role).to.equal("owner");
509
+ expect(res.body.requests[0].snapshot.agents).to.equal(undefined);
501
510
  // expect(res.body.requests[0].participatingAgents.length).to.equal(1);
502
511
  // expect(res.body.requests[0].participatingBots.length).to.equal(0);
503
512
  done();
@@ -582,6 +591,7 @@ it('getallFilter-snap_department_default', function (done) {
582
591
  expect(res.body.requests[0].snapshot.availableAgentsCount).to.equal(1);
583
592
  expect(res.body.requests[0].snapshot.lead.fullname).to.equal("leadfullname");
584
593
  expect(res.body.requests[0].snapshot.requester.role).to.equal("owner");
594
+ expect(res.body.requests[0].snapshot.agents).to.equal(undefined);
585
595
  // expect(res.body.requests[0].participatingAgents.length).to.equal(1);
586
596
  // expect(res.body.requests[0].participatingBots.length).to.equal(0);
587
597
  done();
@@ -666,6 +676,8 @@ it('getallFilter-snap_department_id_bot_exists', function (done) {
666
676
  expect(res.body.requests[0].snapshot.availableAgentsCount).to.equal(1);
667
677
  expect(res.body.requests[0].snapshot.lead.fullname).to.equal("leadfullname");
668
678
  expect(res.body.requests[0].snapshot.requester.role).to.equal("owner");
679
+
680
+ expect(res.body.requests[0].snapshot.agents).to.equal(undefined);
669
681
  // expect(res.body.requests[0].participatingAgents.length).to.equal(1);
670
682
  // expect(res.body.requests[0].participatingBots.length).to.equal(0);
671
683
  done();
@@ -698,7 +710,8 @@ it('getallcsv', function (done) {
698
710
  winston.info("createdLead", createdLead.toObject());
699
711
  // createWithIdAndRequester(request_id, project_user_id, lead_id, id_project, first_text, departmentid, sourcePage, language, userAgent, status, createdBy, attributes, subject, preflight, channel, location) {
700
712
 
701
- requestService.createWithIdAndRequester("request_id1", savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
713
+ requestService.create({request_id: "request_id1", project_user_id: savedProjectAndPU.project_user._id, lead_id: createdLead._id, id_project: savedProject._id,
714
+ first_text: "first_text", tags: [{tag: "tag1"},{tag: "tag2"}]}).then(function(savedRequest) {
702
715
  winston.info("resolve", savedRequest.toObject());
703
716
 
704
717
 
@@ -707,7 +720,8 @@ it('getallcsv', function (done) {
707
720
  .auth(email, pwd)
708
721
  .end(function(err, res) {
709
722
  //console.log("res", res);
710
- // console.log("res.body", res.body);
723
+ console.log("res.text", res.text);
724
+ // console.log("res", res);
711
725
  res.should.have.status(200);
712
726
  res.body.should.be.a('object');
713
727
 
@@ -760,6 +774,8 @@ it('getallWithLoLead', function (done) {
760
774
  res.body.should.be.a('object');
761
775
  expect(res.body.requests[0].department).to.not.equal(null);
762
776
  expect(res.body.requests[0].lead).to.not.equal(null);
777
+
778
+ expect(res.body.requests[0].snapshot.agents).to.equal(undefined);
763
779
 
764
780
  done();
765
781
  });
@@ -842,7 +858,8 @@ it('getallWithLoLead', function (done) {
842
858
  expect(res.body.participantsBots.length).to.equal(0);
843
859
 
844
860
 
845
-
861
+ // expect(res.body.snapshot.agents).to.equal(undefined);
862
+
846
863
  res2.body.requester.should.be.a('object');
847
864
  res2.body.lead.should.be.a('object');
848
865
  // expect(res.body.requester).to.equal(undefined);
@@ -919,7 +936,7 @@ it('getallWithLoLead', function (done) {
919
936
  expect(res.body.participantsAgents.length).to.equal(1);
920
937
  expect(res.body.participantsBots.length).to.equal(0);
921
938
 
922
-
939
+ // expect(res.body.snapshot.agents).to.equal(undefined);
923
940
 
924
941
  res2.body.requester.should.be.a('string');
925
942
  res2.body.lead.should.be.a('string');
@@ -997,7 +1014,7 @@ it('createAndAssign2', function (done) {
997
1014
  expect(res.body.participantsAgents.length).to.equal(1);
998
1015
  expect(res.body.participantsBots.length).to.equal(0);
999
1016
 
1000
-
1017
+ // expect(res.body.snapshot.agents).to.equal(undefined);
1001
1018
 
1002
1019
  res2.body.requester.should.be.a('string');
1003
1020
  res2.body.lead.should.be.a('string');
@@ -1070,6 +1087,7 @@ it('removeParticipant', function (done) {
1070
1087
  expect(res.body.hasBot).to.equal(false);
1071
1088
  winston.info("res.body.attributes.abandoned_by_project_users", res.body.attributes.abandoned_by_project_users);
1072
1089
  expect(res.body.attributes.abandoned_by_project_users[savedProjectAndPU.project_user._id]).to.not.equal(undefined);
1090
+ expect(res.body.snapshot.agents).to.equal(undefined);
1073
1091
 
1074
1092
  res.body.should.have.property('department').not.eql(null);
1075
1093
  // res.body.should.have.property('lead').eql(undefined);