@tiledesk/tiledesk-server 2.2.11 → 2.2.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -49,15 +49,15 @@ describe('RequestService', function () {
49
49
  var savedProject = savedProjectAndPU.project;
50
50
 
51
51
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
52
-
52
+ var now = Date.now();
53
53
  var request = {
54
- request_id:"request_id1", project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
54
+ request_id:"request_id-createObjSimple-"+now, project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
55
55
  id_project:savedProject._id, first_text: "first_text",
56
56
  lead:createdLead, requester: savedProjectAndPU.project_user };
57
57
 
58
58
  requestService.create(request).then(function(savedRequest) {
59
59
  winston.info("resolve", savedRequest.toObject());
60
- expect(savedRequest.request_id).to.equal("request_id1");
60
+ expect(savedRequest.request_id).to.equal("request_id-createObjSimple-"+now);
61
61
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
62
62
  expect(savedRequest.first_text).to.equal("first_text");
63
63
  expect(savedRequest.department).to.not.equal(null);
@@ -96,10 +96,10 @@ describe('RequestService', function () {
96
96
  requestService.create(request).then(function(savedRequest) {
97
97
  // assert.isNotOk('No duplicate check index');
98
98
  console.log("no index check ???");
99
- done();
99
+ // done();
100
100
  }).catch(function(err) {
101
101
  console.log("ok duplicate check index ", err);
102
- // done();
102
+ done();
103
103
  });
104
104
  }).catch(function(err) {
105
105
  console.log("test reject",err);
@@ -128,15 +128,15 @@ describe('RequestService', function () {
128
128
  var savedProject = savedProjectAndPU.project;
129
129
 
130
130
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
131
-
131
+ var now = Date.now();
132
132
  var request = {
133
- request_id:"request_id1", project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
133
+ request_id:"request_idcreateObjSimpleUpdateLeadUpdateSnapshot-"+now, project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
134
134
  id_project:savedProject._id, first_text: "first_text",
135
135
  lead:createdLead, requester: savedProjectAndPU.project_user };
136
136
 
137
137
  requestService.create(request).then(function(savedRequest) {
138
138
  winston.info("resolve", savedRequest.toObject());
139
- expect(savedRequest.request_id).to.equal("request_id1");
139
+ expect(savedRequest.request_id).to.equal("request_idcreateObjSimpleUpdateLeadUpdateSnapshot-"+now);
140
140
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
141
141
  expect(savedRequest.first_text).to.equal("first_text");
142
142
  expect(savedRequest.department).to.not.equal(null);
@@ -179,7 +179,7 @@ describe('RequestService', function () {
179
179
 
180
180
  Request.findById(savedRequest._id, function(err, request) {
181
181
  console.log("err",err);
182
- expect(request.request_id).to.equal("request_id1");
182
+ expect(request.request_id).to.equal("request_idcreateObjSimpleUpdateLeadUpdateSnapshot-"+now);
183
183
  expect(request.snapshot.lead.fullname).to.equal("fullname2");
184
184
  done();
185
185
  });
@@ -218,16 +218,16 @@ describe('RequestService', function () {
218
218
  var savedProject = savedProjectAndPU.project;
219
219
 
220
220
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
221
-
221
+ var now = Date.now();
222
222
  var request = {
223
- request_id:"request_id1", project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
223
+ request_id:"request_id-createObjParticipantsAgent-"+now, project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
224
224
  id_project:savedProject._id, first_text: "first_text",
225
225
  lead:createdLead, requester: savedProjectAndPU.project_user,
226
226
  participants: [userid.toString()] };
227
227
 
228
228
  requestService.create(request).then(function(savedRequest) {
229
229
  winston.debug("resolve", savedRequest.toObject());
230
- expect(savedRequest.request_id).to.equal("request_id1");
230
+ expect(savedRequest.request_id).to.equal("request_id-createObjParticipantsAgent-"+now);
231
231
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
232
232
  expect(savedRequest.first_text).to.equal("first_text");
233
233
  expect(savedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -289,16 +289,16 @@ describe('RequestService', function () {
289
289
  var savedProject = savedProjectAndPU.project;
290
290
 
291
291
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
292
-
292
+ var now = Date.now();
293
293
  var request = {
294
- request_id:"request_id1", project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
294
+ request_id:"request_id-createObjTemp-"+now, project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
295
295
  id_project:savedProject._id, first_text: "first_text",
296
296
  lead:createdLead, requester: savedProjectAndPU.project_user,
297
297
  status:50 };
298
298
 
299
299
  requestService.create(request).then(function(savedRequest) {
300
300
  winston.debug("resolve", savedRequest.toObject());
301
- expect(savedRequest.request_id).to.equal("request_id1");
301
+ expect(savedRequest.request_id).to.equal("request_id-createObjTemp-"+now);
302
302
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
303
303
  expect(savedRequest.first_text).to.equal("first_text");
304
304
  expect(savedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -349,9 +349,10 @@ describe('RequestService', function () {
349
349
  var savedProject = savedProjectAndPU.project;
350
350
 
351
351
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
352
- requestService.createWithIdAndRequester("request_id1", savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
352
+ var now = Date.now();
353
+ requestService.createWithIdAndRequester("request_id-createWithIdAndCreateNewLead-"+now, savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
353
354
  winston.debug("resolve", savedRequest.toObject());
354
- expect(savedRequest.request_id).to.equal("request_id1");
355
+ expect(savedRequest.request_id).to.equal("request_id-createWithIdAndCreateNewLead-"+now);
355
356
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
356
357
  expect(savedRequest.first_text).to.equal("first_text");
357
358
  expect(savedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -404,18 +405,18 @@ describe('RequestService', function () {
404
405
 
405
406
  projectService.createAndReturnProjectAndProjectUser("createWithId", userid).then(function(savedProjectAndPU) {
406
407
  var savedProject = savedProjectAndPU.project;
407
-
408
+ var now = Date.now();
408
409
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
409
410
 
410
411
  requestEvent.on('request.create', function(savedRequest) {
411
412
 
412
- if (savedRequest.request_id === "createWithIdAndCreateNewLeadAndCheckRequestEvent" ) {
413
+ if (savedRequest.request_id === "createWithIdAndCreateNewLeadAndCheckRequestEvent-"+now ) {
413
414
 
414
415
 
415
416
  console.log("savedRequest",savedRequest.toJSON());
416
417
 
417
418
  winston.debug("resolve", savedRequest.toObject());
418
- expect(savedRequest.request_id).to.equal("createWithIdAndCreateNewLeadAndCheckRequestEvent");
419
+ expect(savedRequest.request_id).to.equal("createWithIdAndCreateNewLeadAndCheckRequestEvent-"+now);
419
420
  expect(savedRequest.requester._id.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
420
421
  expect(savedRequest.first_text).to.equal("first_text");
421
422
  expect(savedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -445,7 +446,7 @@ describe('RequestService', function () {
445
446
  }
446
447
 
447
448
  });
448
- requestService.createWithIdAndRequester("createWithIdAndCreateNewLeadAndCheckRequestEvent", savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
449
+ requestService.createWithIdAndRequester("createWithIdAndCreateNewLeadAndCheckRequestEvent-"+now, savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
449
450
 
450
451
  }).catch(function(err) {
451
452
  console.log("test reject",err);
@@ -512,10 +513,11 @@ describe('RequestService', function () {
512
513
  var userid = savedUser.id;
513
514
  projectService.createAndReturnProjectAndProjectUser("createWithIdAndCreatedBy", userid).then(function(savedProjectAndPU) {
514
515
  var savedProject = savedProjectAndPU.project;
516
+ var now = Date.now();
515
517
  // createWithIdAndRequester(request_id, project_user_id, lead_id, id_project, first_text, departmentid, sourcePage, language, userAgent, status, createdBy, attributes) {
516
- requestService.createWithIdAndRequester("request_id1", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text", null, null, null,null,null, "user1").then(function(savedRequest) {
518
+ requestService.createWithIdAndRequester("request_id-createWithIdAndCreatedBy-"+now,savedProjectAndPU.project_user._id, null, savedProject._id, "first_text", null, null, null,null,null, "user1").then(function(savedRequest) {
517
519
  console.log("test resolve");
518
- expect(savedRequest.request_id).to.equal("request_id1");
520
+ expect(savedRequest.request_id).to.equal("request_id-createWithIdAndCreatedBy-"+now);
519
521
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
520
522
  expect(savedRequest.first_text).to.equal("first_text");
521
523
  expect(savedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -558,8 +560,9 @@ describe('RequestService', function () {
558
560
  var userid = savedUser.id;
559
561
  projectService.createAndReturnProjectAndProjectUser("createWithWrongDepartmentId", userid).then(function(savedProjectAndPU) {
560
562
  var savedProject = savedProjectAndPU.project;
563
+ var now = Date.now();
561
564
  // createWithIdAndRequester(request_id, project_user_id, lead_id, id_project, first_text, departmentid, sourcePage, language, userAgent, status, createdBy, attributes) {
562
- requestService.createWithIdAndRequester("request_id1", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text", "5ebd890b3f2702001915c89e", null, null,null,null, "user1").then(function(savedRequest) {
565
+ requestService.createWithIdAndRequester("request_idcreateWithWrongDepartmentId-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text", "5ebd890b3f2702001915c89e", null, null,null,null, "user1").then(function(savedRequest) {
563
566
 
564
567
  })
565
568
  .catch(function(err) {
@@ -584,9 +587,10 @@ describe('RequestService', function () {
584
587
  projectService.createAndReturnProjectAndProjectUser("createWithIdWithPooledDepartment", userid).then(function(savedProjectAndPU) {
585
588
  var savedProject = savedProjectAndPU.project;
586
589
  departmentService.create("PooledDepartment-for-createWithIdWith-createWithIdWithPooledDepartment", savedProject._id, 'pooled', userid).then(function(createdDepartment) {
587
- requestService.createWithIdAndRequester("request_id1", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text", createdDepartment._id).then(function(savedRequest) {
590
+ var now = Date.now();
591
+ requestService.createWithIdAndRequester("request_id-createWithIdWithPooledDepartment-"+now,savedProjectAndPU.project_user._id, null, savedProject._id, "first_text", createdDepartment._id).then(function(savedRequest) {
588
592
  winston.debug("resolve savedRequest");
589
- expect(savedRequest.request_id).to.equal("request_id1");
593
+ expect(savedRequest.request_id).to.equal("request_id-createWithIdWithPooledDepartment-"+now);
590
594
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
591
595
  expect(savedRequest.first_text).to.equal("first_text");
592
596
  expect(savedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -621,7 +625,8 @@ describe('RequestService', function () {
621
625
  var messageSender = "5badfe5d553d1844ad654072";
622
626
  projectService.createAndReturnProjectAndProjectUser("test1", userid).then(function(savedProjectAndPU) {
623
627
  var savedProject = savedProjectAndPU.project;
624
- requestService.createWithIdAndRequester("request_id-waitingTimeRequest", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
628
+ var now = Date.now();
629
+ requestService.createWithIdAndRequester("request_id-waitingTimeRequest-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
625
630
  setTimeout(function () {
626
631
  Promise.all([
627
632
  messageService.create(messageSender, "test sender", savedRequest.request_id, "hello1",
@@ -674,7 +679,8 @@ describe('RequestService', function () {
674
679
 
675
680
  projectService.createAndReturnProjectAndProjectUser("test1", userid).then(function(savedProjectAndPU) {
676
681
  var savedProject = savedProjectAndPU.project;
677
- requestService.createWithIdAndRequester("request_id-closeRequest",savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
682
+ var now = Date.now();
683
+ requestService.createWithIdAndRequester("request_id-closeRequest-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
678
684
  Promise.all([
679
685
  messageService.create("5badfe5d553d1844ad654072", "test sender", savedRequest.request_id, "hello1",
680
686
  savedProject._id, "5badfe5d553d1844ad654072"),
@@ -714,7 +720,8 @@ describe('RequestService', function () {
714
720
  var savedProject = savedProjectAndPU.project;
715
721
 
716
722
  leadService.createIfNotExists("leadfullname", "andrea.leo@frontiere21.it", savedProject._id).then(function(createdLead) {
717
- requestService.createWithIdAndRequester("request_id-closeRequest", savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
723
+ var now = Date.now();
724
+ requestService.createWithIdAndRequester("request_id-closeRequestAndSendTranscript-"+now, savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
718
725
  Promise.all([
719
726
  messageService.create("5badfe5d553d1844ad654072", "test sender", savedRequest.request_id, "hello1",
720
727
  savedProject._id, "5badfe5d553d1844ad654072"),
@@ -753,8 +760,9 @@ describe('RequestService', function () {
753
760
 
754
761
  projectService.createAndReturnProjectAndProjectUser("test1", userid).then(function(savedProjectAndPU) {
755
762
  var savedProject = savedProjectAndPU.project;
763
+ var now = Date.now();
756
764
 
757
- requestService.createWithIdAndRequester("request_id-reopenRequest", savedProjectAndPU.project_user._id, null,savedProject._id, "first_text").then(function(savedRequest) {
765
+ requestService.createWithIdAndRequester("request_id-reopenRequest-"+now, savedProjectAndPU.project_user._id, null,savedProject._id, "first_text").then(function(savedRequest) {
758
766
 
759
767
  requestService.closeRequestByRequestId(savedRequest.request_id, savedProject._id).then(function(closedRequest) {
760
768
  requestService.reopenRequestByRequestId(savedRequest.request_id, savedProject._id).then(function(reopenedRequest) {
@@ -820,8 +828,8 @@ describe('RequestService', function () {
820
828
  console.log("err",err)
821
829
  }
822
830
 
823
-
824
- requestService.createWithIdAndRequester("request_id1", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
831
+ var now = Date.now();
832
+ requestService.createWithIdAndRequester("request_id-addparticipant-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
825
833
  // inserisci id valido
826
834
  // var member = 'agent1';
827
835
  var member = savedUser2._id.toString();
@@ -829,7 +837,7 @@ describe('RequestService', function () {
829
837
  // addParticipantByRequestId(request_id, id_project, member) {
830
838
  requestService.addParticipantByRequestId(savedRequest.request_id, savedProject._id, member).then(function(savedRequestParticipant) {
831
839
  winston.info("resolve addParticipantByRequestId", savedRequestParticipant.toObject());
832
- expect(savedRequestParticipant.request_id).to.equal("request_id1");
840
+ expect(savedRequestParticipant.request_id).to.equal("request_id-addparticipant-"+now);
833
841
 
834
842
  winston.info("savedProjectAndPU.project_user._id.toString():"+savedProjectAndPU.project_user._id.toString());
835
843
  expect(savedRequestParticipant.requester._id.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
@@ -903,9 +911,9 @@ projectService.createAndReturnProjectAndProjectUser("setParticipantsByRequestId-
903
911
  if (err) {
904
912
  console.log("err",err)
905
913
  }
914
+ var now = Date.now();
906
915
 
907
-
908
- requestService.createWithIdAndRequester("request_id1-setParticipantsByRequestId", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
916
+ requestService.createWithIdAndRequester("request_id1-setParticipantsByRequestId-"+now,savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
909
917
  expect(savedRequest.participants).to.contains(userid);
910
918
  expect(savedRequest.participantsAgents).to.contains(userid);
911
919
 
@@ -916,7 +924,7 @@ projectService.createAndReturnProjectAndProjectUser("setParticipantsByRequestId-
916
924
  // setParticipantsByRequestId(request_id, id_project, newparticipants) {
917
925
  requestService.setParticipantsByRequestId(savedRequest.request_id, savedProject._id, [member]).then(function(savedRequestParticipant) {
918
926
  winston.info("resolve setParticipantsByRequestId", savedRequestParticipant.toObject());
919
- expect(savedRequestParticipant.request_id).to.equal("request_id1-setParticipantsByRequestId");
927
+ expect(savedRequestParticipant.request_id).to.equal("request_id1-setParticipantsByRequestId-"+now);
920
928
 
921
929
  winston.info("savedProjectAndPU.project_user._id.toString():"+savedProjectAndPU.project_user._id.toString());
922
930
  expect(savedRequestParticipant.requester._id.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
@@ -963,8 +971,8 @@ it('removeparticipant', function (done) {
963
971
 
964
972
  projectService.createAndReturnProjectAndProjectUser("removeparticipant-project", userid).then(function(savedProjectAndPU) {
965
973
  var savedProject = savedProjectAndPU.project;
966
-
967
- requestService.createWithIdAndRequester("request_id1", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
974
+ var now = Date.now();
975
+ requestService.createWithIdAndRequester("request_id-removeparticipant-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
968
976
  requestService.removeParticipantByRequestId(savedRequest.request_id, savedProject._id, userid).then(function(savedRequestParticipant) {
969
977
  winston.info("resolve", savedRequestParticipant.toObject());
970
978
 
@@ -972,7 +980,7 @@ it('removeparticipant', function (done) {
972
980
  expect(savedRequest.status).to.equal(200);
973
981
 
974
982
  //savedRequestParticipant is UNASSIGNED -> 100
975
- expect(savedRequestParticipant.request_id).to.equal("request_id1");
983
+ expect(savedRequestParticipant.request_id).to.equal("request_id-removeparticipant-"+now);
976
984
  // expect(savedRequestParticipant.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
977
985
  expect(savedRequestParticipant.first_text).to.equal("first_text");
978
986
  // expect(savedRequestParticipant.snapshot.agents).to.have.lengthOf(1);
@@ -1012,10 +1020,10 @@ it('removeparticipant', function (done) {
1012
1020
 
1013
1021
  projectService.createAndReturnProjectAndProjectUser("routeDepartmentSameAgentSameDepartmentSkipUpdate", userid).then(function(savedProjectAndPU) {
1014
1022
  var savedProject = savedProjectAndPU.project;
1015
-
1016
- requestService.createWithIdAndRequester("routeDepartmentSameAgentSameDepartmentSkipUpdate", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1023
+ var now = Date.now();
1024
+ requestService.createWithIdAndRequester("routeDepartmentSameAgentSameDepartmentSkipUpdate-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1017
1025
  winston.debug("resolve savedRequest");
1018
- expect(savedRequest.request_id).to.equal("routeDepartmentSameAgentSameDepartmentSkipUpdate");
1026
+ expect(savedRequest.request_id).to.equal("routeDepartmentSameAgentSameDepartmentSkipUpdate-"+now);
1019
1027
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
1020
1028
  expect(savedRequest.first_text).to.equal("first_text");
1021
1029
  expect(savedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -1033,9 +1041,9 @@ it('removeparticipant', function (done) {
1033
1041
  let dep = savedRequest.department;
1034
1042
 
1035
1043
  // route(request_id, departmentid, id_project, nobot, no_populate) {
1036
- requestService.route("routeDepartmentSameAgentSameDepartmentSkipUpdate", dep, savedProject._id, false).then(function(routedRequest) {
1044
+ requestService.route("routeDepartmentSameAgentSameDepartmentSkipUpdate-"+now, dep, savedProject._id, false).then(function(routedRequest) {
1037
1045
 
1038
- expect(routedRequest.request_id).to.equal("routeDepartmentSameAgentSameDepartmentSkipUpdate");
1046
+ expect(routedRequest.request_id).to.equal("routeDepartmentSameAgentSameDepartmentSkipUpdate-"+now);
1039
1047
  expect(routedRequest.requester._id.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
1040
1048
  expect(routedRequest.first_text).to.equal("first_text");
1041
1049
  expect(routedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -1077,10 +1085,11 @@ it('routeDepartmentSameAgentDifferentDepartment', function (done) {
1077
1085
 
1078
1086
  projectService.createAndReturnProjectAndProjectUser("routeDepartmentSameAgentDifferentDepartment", userid).then(function(savedProjectAndPU) {
1079
1087
  var savedProject = savedProjectAndPU.project;
1088
+ var now = Date.now();
1080
1089
 
1081
- requestService.createWithIdAndRequester("routeDepartmentSameAgentDifferentDepartment", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1090
+ requestService.createWithIdAndRequester("routeDepartmentSameAgentDifferentDepartment-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1082
1091
  winston.debug("resolve savedRequest");
1083
- expect(savedRequest.request_id).to.equal("routeDepartmentSameAgentDifferentDepartment");
1092
+ expect(savedRequest.request_id).to.equal("routeDepartmentSameAgentDifferentDepartment-"+now);
1084
1093
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
1085
1094
  expect(savedRequest.first_text).to.equal("first_text");
1086
1095
  expect(savedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -1097,9 +1106,9 @@ it('routeDepartmentSameAgentDifferentDepartment', function (done) {
1097
1106
  departmentService.create("AssignedDepartment-for-routeDepartmentSameAgentDifferentDepartment", savedProject._id, 'assigned', userid).then(function(createdDepartment) {
1098
1107
 
1099
1108
  // route(request_id, departmentid, id_project, nobot, no_populate) {
1100
- requestService.route("routeDepartmentSameAgentDifferentDepartment", createdDepartment._id, savedProject._id, false).then(function(routedRequest) {
1109
+ requestService.route("routeDepartmentSameAgentDifferentDepartment-"+now, createdDepartment._id, savedProject._id, false).then(function(routedRequest) {
1101
1110
 
1102
- expect(routedRequest.request_id).to.equal("routeDepartmentSameAgentDifferentDepartment");
1111
+ expect(routedRequest.request_id).to.equal("routeDepartmentSameAgentDifferentDepartment-"+now);
1103
1112
  expect(routedRequest.requester._id.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
1104
1113
  expect(routedRequest.first_text).to.equal("first_text");
1105
1114
  expect(routedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -1169,10 +1178,11 @@ it('routeDepartmentSameAgentDifferentDepartment', function (done) {
1169
1178
  if (err) {
1170
1179
  console.log("err",err)
1171
1180
  }
1172
-
1173
- requestService.createWithIdAndRequester("routeDepartmentDifferentAgentDifferentDepartment", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1181
+ var now = Date.now();
1182
+
1183
+ requestService.createWithIdAndRequester("routeDepartmentDifferentAgentDifferentDepartment-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1174
1184
  winston.debug("resolve savedRequest");
1175
- expect(savedRequest.request_id).to.equal("routeDepartmentDifferentAgentDifferentDepartment");
1185
+ expect(savedRequest.request_id).to.equal("routeDepartmentDifferentAgentDifferentDepartment-"+now);
1176
1186
  expect(savedRequest.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
1177
1187
  expect(savedRequest.first_text).to.equal("first_text");
1178
1188
  expect(savedRequest.snapshot.agents).to.have.lengthOf(2);
@@ -1210,9 +1220,9 @@ it('routeDepartmentSameAgentDifferentDepartment', function (done) {
1210
1220
 
1211
1221
 
1212
1222
  // route(request_id, departmentid, id_project, nobot, no_populate) {
1213
- requestService.route("routeDepartmentDifferentAgentDifferentDepartment", createdDepartment._id, savedProject._id, false).then(function(routedRequest) {
1223
+ requestService.route("routeDepartmentDifferentAgentDifferentDepartment-"+now, createdDepartment._id, savedProject._id, false).then(function(routedRequest) {
1214
1224
 
1215
- expect(routedRequest.request_id).to.equal("routeDepartmentDifferentAgentDifferentDepartment");
1225
+ expect(routedRequest.request_id).to.equal("routeDepartmentDifferentAgentDifferentDepartment-"+now);
1216
1226
  expect(routedRequest.requester._id.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
1217
1227
  expect(routedRequest.first_text).to.equal("first_text");
1218
1228
  expect(routedRequest.snapshot.agents).to.have.lengthOf(1);
@@ -1260,8 +1270,8 @@ it('reroute', function (done) {
1260
1270
 
1261
1271
  projectService.createAndReturnProjectAndProjectUser("reroute-project", userid).then(function(savedProjectAndPU) {
1262
1272
  var savedProject = savedProjectAndPU.project;
1263
-
1264
- requestService.createWithIdAndRequester("request_id1-reroute", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1273
+ var now = Date.now();
1274
+ requestService.createWithIdAndRequester("request_id1-reroute-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1265
1275
 
1266
1276
  // reroute(request_id, id_project, nobot) {
1267
1277
  requestService.reroute(savedRequest.request_id, savedProject._id, true).then(function(savedRequestParticipant) {
@@ -1271,7 +1281,7 @@ it('reroute', function (done) {
1271
1281
  expect(savedRequest.status).to.equal(200);
1272
1282
 
1273
1283
  //savedRequestParticipant is UNASSIGNED -> 100
1274
- expect(savedRequestParticipant.request_id).to.equal("request_id1-reroute");
1284
+ expect(savedRequestParticipant.request_id).to.equal("request_id1-reroute-"+now);
1275
1285
  // expect(savedRequestParticipant.requester.toString()).to.equal(savedProjectAndPU.project_user._id.toString());
1276
1286
  expect(savedRequestParticipant.first_text).to.equal("first_text");
1277
1287
  expect(savedRequestParticipant.snapshot.agents).to.have.lengthOf(1);
@@ -1313,8 +1323,8 @@ it('closeRequestAndRemoveParticipant', function (done) {
1313
1323
 
1314
1324
  projectService.createAndReturnProjectAndProjectUser("test1", userid).then(function(savedProjectAndPU) {
1315
1325
  var savedProject = savedProjectAndPU.project;
1316
-
1317
- requestService.createWithIdAndRequester("request_id-closeRequestAndRemoveParticipant", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1326
+ var now = Date.now();
1327
+ requestService.createWithIdAndRequester("request_id-closeRequestAndRemoveParticipant-"+now, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function(savedRequest) {
1318
1328
  Promise.all([
1319
1329
  messageService.create("5badfe5d553d1844ad654072", "test sender", savedRequest.request_id, "hello1",
1320
1330
  savedProject._id, "5badfe5d553d1844ad654072"),
@@ -1356,15 +1366,15 @@ it('addTag', function (done) {
1356
1366
  var savedProject = savedProjectAndPU.project;
1357
1367
 
1358
1368
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
1359
-
1360
- requestService.createWithIdAndRequester("request_id1-addTag", savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
1369
+ var now = Date.now();
1370
+ requestService.createWithIdAndRequester("request_id1-addTag-"+now, savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
1361
1371
  winston.debug("resolve", savedRequest.toObject());
1362
- expect(savedRequest.request_id).to.equal("request_id1-addTag");
1372
+ expect(savedRequest.request_id).to.equal("request_id1-addTag-"+now);
1363
1373
  expect(savedRequest.tags.length).to.equal(0);
1364
1374
 
1365
1375
  var tag = {tag:"tag1"};
1366
- requestService.addTagByRequestId("request_id1-addTag", savedProject._id, tag).then(function(savedReqTag) {
1367
- expect(savedReqTag.request_id).to.equal("request_id1-addTag");
1376
+ requestService.addTagByRequestId("request_id1-addTag-"+now, savedProject._id, tag).then(function(savedReqTag) {
1377
+ expect(savedReqTag.request_id).to.equal("request_id1-addTag-"+now);
1368
1378
  expect(savedReqTag.tags.length).to.equal(1);
1369
1379
  expect(savedReqTag.tags[0].tag).to.equal("tag1");
1370
1380
  done();
@@ -1394,20 +1404,20 @@ it('removeTag', function (done) {
1394
1404
  var savedProject = savedProjectAndPU.project;
1395
1405
 
1396
1406
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
1397
-
1398
- requestService.createWithIdAndRequester("request_id1-addTag", savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
1407
+ var now = Date.now();
1408
+ requestService.createWithIdAndRequester("request_id1-addTag-"+now, savedProjectAndPU.project_user._id, createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
1399
1409
  winston.debug("resolve", savedRequest.toObject());
1400
- expect(savedRequest.request_id).to.equal("request_id1-addTag");
1410
+ expect(savedRequest.request_id).to.equal("request_id1-addTag-"+now);
1401
1411
  expect(savedRequest.tags.length).to.equal(0);
1402
1412
 
1403
1413
  var tag = {tag:"tag1"};
1404
- requestService.addTagByRequestId("request_id1-addTag", savedProject._id, tag).then(function(savedReqTag) {
1405
- expect(savedReqTag.request_id).to.equal("request_id1-addTag");
1414
+ requestService.addTagByRequestId("request_id1-addTag-"+now, savedProject._id, tag).then(function(savedReqTag) {
1415
+ expect(savedReqTag.request_id).to.equal("request_id1-addTag-"+now);
1406
1416
  expect(savedReqTag.tags.length).to.equal(1);
1407
1417
  expect(savedReqTag.tags[0].tag).to.equal("tag1");
1408
1418
 
1409
- requestService.removeTagByRequestId("request_id1-addTag", savedProject._id, "tag1").then(function(savedReqTagRem) {
1410
- expect(savedReqTagRem.request_id).to.equal("request_id1-addTag");
1419
+ requestService.removeTagByRequestId("request_id1-addTag-"+now, savedProject._id, "tag1").then(function(savedReqTagRem) {
1420
+ expect(savedReqTagRem.request_id).to.equal("request_id1-addTag-"+now);
1411
1421
  expect(savedReqTagRem.tags.length).to.equal(0);
1412
1422
  done();
1413
1423
  });
@@ -1455,9 +1465,9 @@ it('removeTag', function (done) {
1455
1465
  var savedProject = savedProjectAndPU.project;
1456
1466
 
1457
1467
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
1458
-
1468
+ var now = Date.now();
1459
1469
  var request = {
1460
- request_id:"request_id1", project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
1470
+ request_id:"request_idcreateMessageMicroLanguageAttributes-"+now, project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
1461
1471
  id_project:savedProject._id, first_text: "first_text",
1462
1472
  participants: [userid],
1463
1473
  lead:createdLead, requester: savedProjectAndPU.project_user };
@@ -1522,12 +1532,16 @@ it('removeTag', function (done) {
1522
1532
 
1523
1533
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
1524
1534
 
1535
+ var now = Date.now();
1536
+
1537
+
1525
1538
  var request = {
1526
- request_id:"request_id1", project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
1539
+ request_id:"request_idcreateMessageMicroLanguageFromBot-"+now, project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
1527
1540
  id_project:savedProject._id, first_text: "first_text",
1528
1541
  participants: ["bot_"+userid],
1529
1542
  lead:createdLead, requester: savedProjectAndPU.project_user };
1530
1543
 
1544
+
1531
1545
  requestService.create(request).then(function(savedRequest) {
1532
1546
  winston.info("resolve", savedRequest.toObject());
1533
1547
 
@@ -1572,8 +1586,10 @@ it('removeTag', function (done) {
1572
1586
 
1573
1587
  leadService.createIfNotExists("leadfullname", "email@email.com", savedProject._id).then(function(createdLead) {
1574
1588
 
1589
+ var now = Date.now();
1590
+
1575
1591
  var request = {
1576
- request_id:"request_id1", project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
1592
+ request_id:"request_idselectSnapshot-"+now, project_user_id:savedProjectAndPU.project_user._id, lead_id:createdLead._id,
1577
1593
  id_project:savedProject._id, first_text: "first_text",
1578
1594
  participants: ["bot_"+userid],
1579
1595
  lead:createdLead, requester: savedProjectAndPU.project_user };
package/test-int/bot.js CHANGED
@@ -372,6 +372,7 @@ describe('bot', () => {
372
372
 
373
373
 
374
374
 
375
+
375
376
  // mocha test-int/bot.js --grep 'createSimpleFulltext'
376
377
  it('createSimpleFulltext', (done) => {
377
378
 
@@ -383,7 +384,100 @@ describe('bot', () => {
383
384
  userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
384
385
  projectService.create("test-bot", savedUser._id).then(function(savedProject) {
385
386
  // create(name, url, projectid, user_id, type)
386
- faqService.create("testbot", null, savedProject._id, savedUser._id, "internal").then(function(savedBot) {
387
+ faqService.create("testbot", undefined, savedProject._id, savedUser._id, "internal").then(function(savedBot) {
388
+
389
+ var newFaq = new Faq({
390
+ id_faq_kb: savedBot._id,
391
+ question: 'question number one',
392
+ answer: 'answer',
393
+ id_project: savedProject._id,
394
+ createdBy: savedUser._id,
395
+ updatedBy: savedUser._id
396
+ });
397
+
398
+ newFaq.save(function (err, savedFaq) {
399
+
400
+
401
+ Department.findOneAndUpdate({id_project: savedProject._id, default:true}, {id_bot:savedBot._id}, function (err, updatedDepartment) {
402
+
403
+ chai.request(server)
404
+ .post('/'+ savedProject._id + '/subscriptions')
405
+ .auth(email, pwd)
406
+ .set('content-type', 'application/json')
407
+ .send({"event":"message.create", "target":"http://localhost:3010/"})
408
+ .end((err, res) => {
409
+ console.log("res.body", JSON.stringify(res.body));
410
+ // console.dir("res.body 1", res.body);
411
+ console.log("res.headers", res.headers);
412
+ res.should.have.status(200);
413
+ res.body.should.be.a('object');
414
+ expect(res.body.event).to.equal("message.create");
415
+ var secret = res.body.secret;
416
+ expect(secret).to.not.equal(null);
417
+ expect(res.headers["x-hook-secret"]).to.equal(secret);
418
+
419
+
420
+ let messageReceived = 0;
421
+ var serverClient = express();
422
+ serverClient.use(bodyParser.json());
423
+ serverClient.post('/', function (req, res) {
424
+ console.log('serverClient req', JSON.stringify(req.body));
425
+ console.log("serverClient.headers", JSON.stringify(req.headers));
426
+ messageReceived = messageReceived+1;
427
+ expect(req.body.hook.event).to.equal("message.create");
428
+ expect(req.body.payload.request.request_id).to.equal("request_id-subscription-message-sending");
429
+ expect(req.body.payload.request.department).to.not.equal(null);
430
+ expect(req.body.payload.request.department.bot).to.not.equal(null);
431
+ expect(req.body.payload.request.department.bot.name).to.equal("testbot");
432
+
433
+ expect(req.headers["x-hook-secret"]).to.equal(secret);
434
+ res.send('POST request to the homepage');
435
+ expect(req.body.payload.text).to.equal("answer");
436
+ // console.log("savedFaq",savedFaq);
437
+ expect(req.body.payload.sender).to.equal("bot_"+savedBot.id);
438
+ expect(req.body.payload.recipient).to.equal("request_id-subscription-message-sending");
439
+ // expect(req.body.payload.attributes._answer._id.toString()).to.equal(savedFaq._id.toString());
440
+ expect(req.body.payload.attributes._answerid.toString()).to.equal(savedFaq._id.toString());
441
+ done();
442
+
443
+
444
+
445
+
446
+ });
447
+ var listener = serverClient.listen(3010, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
448
+
449
+
450
+ leadService.createIfNotExists("leadfullname-subscription-message-sending", "andrea.leo@-subscription-message-sending.it", savedProject._id).then(function(createdLead) {
451
+ requestService.createWithId("request_id-subscription-message-sending", createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
452
+ messageService.create(savedUser._id, "test sender", savedRequest.request_id, "question",
453
+ savedProject._id, savedUser._id).then(function(savedMessage){
454
+ expect(savedMessage.text).to.equal("question");
455
+ // expect(savedMessage.sender).to.equal("question");
456
+ });
457
+ });
458
+ });
459
+ });
460
+ });
461
+ });
462
+ });
463
+
464
+ });
465
+ });
466
+ }).timeout(20000);
467
+
468
+
469
+ // mocha test-int/bot.js --grep 'createSimpleExternalSearcherBot'
470
+ it('createSimpleExternalSearcherBot', (done) => {
471
+
472
+ var email = "test-bot-" + Date.now() + "@email.com";
473
+ var pwd = "pwd";
474
+
475
+
476
+
477
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
478
+ projectService.create("test-bot", savedUser._id).then(function(savedProject) {
479
+ // create(name, url, projectid, user_id, type)
480
+ faqService.create("testbot", "http://localhost:3001/samples/bot/external/searcher", savedProject._id, savedUser._id, "internal").then(function(savedBot) {
387
481
 
388
482
  var newFaq = new Faq({
389
483
  id_faq_kb: savedBot._id,
@@ -0,0 +1,42 @@
1
+
2
+ 'use strict';
3
+
4
+ var request = require('retry-request', {
5
+ request: require('request')
6
+ });
7
+
8
+
9
+ class HttpUtil {
10
+
11
+ call(url, headers, json, method) {
12
+ return new Promise(function (resolve, reject) {
13
+ request({
14
+ url: url,
15
+ headers: headers,
16
+ json: json,
17
+ method: method
18
+ }, function(err, result, json){
19
+ //console.log("SENT notify for bot with url " + url + " with err " + err);
20
+ if (err) {
21
+ //console.log("Error sending notify for bot with url " + url + " with err " + err);
22
+ return reject(err);
23
+ }
24
+ return resolve(json);
25
+ });
26
+ });
27
+ }
28
+ }
29
+
30
+
31
+ var httpUtil = new HttpUtil();
32
+
33
+ /*
34
+ async function ciao() {
35
+ var res = await httpUtil.call("https://webhook.site/bd710929-9b43-4065-88db-78ee17f84aec", undefined, {c:1}, "POST")
36
+ console.log("res", res);
37
+
38
+ }
39
+ ciao();
40
+ */
41
+
42
+ module.exports = httpUtil;