@tiledesk/tiledesk-server 2.3.28 → 2.3.30

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.
@@ -112,13 +112,14 @@ describe('MessageRoute', () => {
112
112
  .end(function(err, res) {
113
113
  //console.log("res", res);
114
114
  console.log("res.body", res.body);
115
- res.should.have.status(500);
115
+ res.should.have.status(422);
116
116
 
117
117
  done();
118
118
  });
119
119
  });
120
120
  });
121
- });
121
+ }).timeout(20000);
122
+
122
123
 
123
124
 
124
125
 
@@ -144,7 +145,7 @@ it('createSimpleNoText', function (done) {
144
145
  .end(function(err, res) {
145
146
  //console.log("res", res);
146
147
  console.log("res.body", res.body);
147
- res.should.have.status(500);
148
+ res.should.have.status(422);
148
149
 
149
150
  done();
150
151
  });
@@ -789,6 +790,387 @@ it('createSimpleWithFollowers', function (done) {
789
790
 
790
791
 
791
792
 
793
+
794
+
795
+
796
+
797
+
798
+ // mocha test/messageRoute.js --grep 'createMultiTextNoSender1'
799
+
800
+ it('createMultiTextNoSender1', function (done) {
801
+
802
+ var email = "test-message-create-" + Date.now() + "@email.com";
803
+ var pwd = "pwd";
804
+
805
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
806
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiText", savedUser._id).then(function(savedProjectAndPU) {
807
+
808
+ var savedProject = savedProjectAndPU.project;
809
+
810
+
811
+ chai.request(server)
812
+ .post('/'+ savedProject._id + '/requests')
813
+ .auth(email, pwd)
814
+ .set('content-type', 'application/json')
815
+ .send({"first_text":"first_text"})
816
+ .end(function(err, res) {
817
+
818
+ console.log("res.body", res.body);
819
+ res.should.have.status(200);
820
+ res.body.should.be.a('object');
821
+ res.body.should.have.property('first_text').eql('first_text');
822
+
823
+ var request_id = res.body.request_id;
824
+ console.log("request_id",request_id);
825
+
826
+ chai.request(server)
827
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
828
+ .auth(email, pwd)
829
+ .set('content-type', 'application/json')
830
+ .send([{"text":"text1"}, {"text":"text2"}])
831
+ .end(function(err, res) {
832
+ //console.log("res", res);
833
+ console.log("res.body", res.body);
834
+ res.should.have.status(200);
835
+ res.body.should.be.a('array');
836
+
837
+ expect(res.body[0].sender).to.equal(savedUser._id.toString());
838
+ expect(res.body[0].senderFullname).to.equal("Test Firstname Test lastname");
839
+ expect(res.body[0].recipient).to.equal(request_id);
840
+ expect(res.body[0].text).to.equal("text1");
841
+ expect(res.body[0].id_project).to.equal(savedProject._id.toString());
842
+ expect(res.body[0].createdBy).to.equal(savedUser._id.toString());
843
+ expect(res.body[0].status).to.equal(0);
844
+ expect(res.body[0].channel_type).to.equal("group");
845
+ expect(res.body[0].channel.name).to.equal("chat21");
846
+
847
+
848
+
849
+ expect(res.body[1].sender).to.equal(savedUser._id.toString());
850
+ expect(res.body[0].senderFullname).to.equal("Test Firstname Test lastname");
851
+ expect(res.body[1].recipient).to.equal(request_id);
852
+ expect(res.body[1].text).to.equal("text2");
853
+ expect(res.body[1].id_project).to.equal(savedProject._id.toString());
854
+ expect(res.body[1].createdBy).to.equal(savedUser._id.toString());
855
+ expect(res.body[1].status).to.equal(0);
856
+ expect(res.body[1].channel_type).to.equal("group");
857
+ expect(res.body[1].channel.name).to.equal("chat21");
858
+
859
+ done();
860
+ });
861
+ });
862
+ });
863
+ });
864
+ });
865
+
866
+
867
+
868
+
869
+
870
+ // mocha test/messageRoute.js --grep 'createMultiTextNoSenderNoText'
871
+
872
+ it('createMultiTextNoSenderNoText', function (done) {
873
+
874
+ var email = "test-message-create-" + Date.now() + "@email.com";
875
+ var pwd = "pwd";
876
+
877
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
878
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiText", savedUser._id).then(function(savedProjectAndPU) {
879
+
880
+ var savedProject = savedProjectAndPU.project;
881
+
882
+
883
+ chai.request(server)
884
+ .post('/'+ savedProject._id + '/requests')
885
+ .auth(email, pwd)
886
+ .set('content-type', 'application/json')
887
+ .send({"first_text":"first_text"})
888
+ .end(function(err, res) {
889
+
890
+ console.log("res.body", res.body);
891
+ res.should.have.status(200);
892
+ res.body.should.be.a('object');
893
+ res.body.should.have.property('first_text').eql('first_text');
894
+
895
+ var request_id = res.body.request_id;
896
+ console.log("request_id",request_id);
897
+
898
+ chai.request(server)
899
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
900
+ .auth(email, pwd)
901
+ .set('content-type', 'application/json')
902
+ .send([{}, {"text":"text2"}])
903
+ .end(function(err, res) {
904
+ //console.log("res", res);
905
+ console.log("res.body", res.body);
906
+ res.should.have.status(500);
907
+
908
+ done();
909
+ });
910
+ });
911
+ });
912
+ });
913
+ });
914
+
915
+
916
+
917
+
918
+
919
+ // mocha test/messageRoute.js --grep 'createMultiTextWithSender'
920
+
921
+ it('createMultiTextWithSender', function (done) {
922
+
923
+ var email = "test-message-create-" + Date.now() + "@email.com";
924
+ var pwd = "pwd";
925
+
926
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
927
+
928
+ var email2 = "test-message-createwithsender22-" + Date.now() + "@email.com";
929
+ var pwd2 = "pwd";
930
+
931
+ userService.signup( email2 ,pwd2, "Test Firstname22", "Test lastname22").then(function(savedUser2) {
932
+
933
+
934
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiText", savedUser._id).then(function(savedProjectAndPU) {
935
+
936
+ var savedProject = savedProjectAndPU.project;
937
+
938
+
939
+
940
+ var pu2 = new Project_user({
941
+ // _id: new mongoose.Types.ObjectId(),
942
+ id_project: savedProject._id,
943
+ id_user: savedUser2._id,
944
+ role: roleConstants.USER,
945
+ user_available: true,
946
+ createdBy: savedUser2._id,
947
+ updatedBy: savedUser2._id,
948
+ });
949
+ pu2.save(function (err, savedProject_user2) {
950
+
951
+
952
+ chai.request(server)
953
+ .post('/'+ savedProject._id + '/requests')
954
+ .auth(email, pwd)
955
+ .set('content-type', 'application/json')
956
+ .send({"first_text":"first_text"})
957
+ .end(function(err, res) {
958
+
959
+ console.log("res.body", res.body);
960
+ res.should.have.status(200);
961
+ res.body.should.be.a('object');
962
+
963
+ res.body.should.have.property('first_text').eql('first_text');
964
+
965
+ var request_id = res.body.request_id;
966
+ console.log("request_id",request_id);
967
+
968
+ chai.request(server)
969
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
970
+ .auth(email, pwd)
971
+ .set('content-type', 'application/json')
972
+ .send([{"sender":savedUser2._id,"text":"text1"}, {"sender":savedUser2._id,"text":"text2"}])
973
+ .end(function(err, res) {
974
+ //console.log("res", res);
975
+ console.log("res.body", res.body);
976
+ res.should.have.status(200);
977
+ res.body.should.be.a('array');
978
+
979
+ expect(res.body[0].sender).to.equal(savedUser2._id.toString());
980
+ expect(res.body[0].senderFullname).to.equal("Test Firstname Test lastname");
981
+ expect(res.body[0].recipient).to.equal(request_id);
982
+ expect(res.body[0].text).to.equal("text1");
983
+ expect(res.body[0].id_project).to.equal(savedProject._id.toString());
984
+ expect(res.body[0].createdBy).to.equal(savedUser2._id.toString());
985
+ expect(res.body[0].status).to.equal(0);
986
+ expect(res.body[0].channel_type).to.equal("group");
987
+ expect(res.body[0].channel.name).to.equal("chat21");
988
+
989
+
990
+
991
+ expect(res.body[1].sender).to.equal(savedUser2._id.toString());
992
+ expect(res.body[1].senderFullname).to.equal("Test Firstname Test lastname");
993
+ expect(res.body[1].recipient).to.equal(request_id);
994
+ expect(res.body[1].text).to.equal("text2");
995
+ expect(res.body[1].id_project).to.equal(savedProject._id.toString());
996
+ expect(res.body[1].createdBy).to.equal(savedUser2._id.toString());
997
+ expect(res.body[1].status).to.equal(0);
998
+ expect(res.body[1].channel_type).to.equal("group");
999
+ expect(res.body[1].channel.name).to.equal("chat21");
1000
+
1001
+ done();
1002
+ });
1003
+ });
1004
+ });
1005
+ });
1006
+ });
1007
+ });
1008
+ });
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+ // mocha test/messageRoute.js --grep 'createMultiTextWithHardcodedSender'
1019
+
1020
+ it('createMultiTextWithHardcodedSender', function (done) {
1021
+
1022
+ var email = "test-message-create-" + Date.now() + "@email.com";
1023
+ var pwd = "pwd";
1024
+
1025
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
1026
+
1027
+
1028
+
1029
+
1030
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiTextWithHardcodedSender", savedUser._id).then(function(savedProjectAndPU) {
1031
+
1032
+ var savedProject = savedProjectAndPU.project;
1033
+
1034
+ chai.request(server)
1035
+ .post('/'+ savedProject._id + '/requests')
1036
+ .auth(email, pwd)
1037
+ .set('content-type', 'application/json')
1038
+ .send({"first_text":"first_text"})
1039
+ .end(function(err, res) {
1040
+
1041
+ console.log("res.body", res.body);
1042
+ res.should.have.status(200);
1043
+ res.body.should.be.a('object');
1044
+
1045
+ res.body.should.have.property('first_text').eql('first_text');
1046
+
1047
+ var request_id = res.body.request_id;
1048
+ console.log("request_id",request_id);
1049
+
1050
+ chai.request(server)
1051
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
1052
+ .auth(email, pwd)
1053
+ .set('content-type', 'application/json')
1054
+ .send([{"sender":"andrealeo","text":"text1"}, {"sender":"rocco","text":"text2"}])
1055
+ .end(function(err, res) {
1056
+ //console.log("res", res);
1057
+ console.log("res.body", res.body);
1058
+ res.should.have.status(200);
1059
+ res.body.should.be.a('array');
1060
+
1061
+ expect(res.body[0].sender).to.equal("andrealeo");
1062
+ expect(res.body[0].senderFullname).to.equal("Test Firstname Test lastname");
1063
+ expect(res.body[0].recipient).to.equal(request_id);
1064
+ expect(res.body[0].text).to.equal("text1");
1065
+ expect(res.body[0].id_project).to.equal(savedProject._id.toString());
1066
+ expect(res.body[0].createdBy).to.equal("andrealeo");
1067
+ expect(res.body[0].status).to.equal(0);
1068
+ expect(res.body[0].channel_type).to.equal("group");
1069
+ expect(res.body[0].channel.name).to.equal("chat21");
1070
+
1071
+
1072
+
1073
+ expect(res.body[1].sender).to.equal("rocco");
1074
+ expect(res.body[1].senderFullname).to.equal("Test Firstname Test lastname");
1075
+ expect(res.body[1].recipient).to.equal(request_id);
1076
+ expect(res.body[1].text).to.equal("text2");
1077
+ expect(res.body[1].id_project).to.equal(savedProject._id.toString());
1078
+ expect(res.body[1].createdBy).to.equal("rocco");
1079
+ expect(res.body[1].status).to.equal(0);
1080
+ expect(res.body[1].channel_type).to.equal("group");
1081
+ expect(res.body[1].channel.name).to.equal("chat21");
1082
+
1083
+ done();
1084
+ });
1085
+ });
1086
+ });
1087
+ });
1088
+ });
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+ // mocha test/messageRoute.js --grep 'createMultiTextWithHardcodedSenderAndSenderFullname'
1097
+
1098
+ it('createMultiTextWithHardcodedSenderAndSenderFullname', function (done) {
1099
+
1100
+ var email = "test-message-create-" + Date.now() + "@email.com";
1101
+ var pwd = "pwd";
1102
+
1103
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
1104
+
1105
+
1106
+
1107
+
1108
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiTextWithHardcodedSenderAndSenderFullname", savedUser._id).then(function(savedProjectAndPU) {
1109
+
1110
+ var savedProject = savedProjectAndPU.project;
1111
+
1112
+ chai.request(server)
1113
+ .post('/'+ savedProject._id + '/requests')
1114
+ .auth(email, pwd)
1115
+ .set('content-type', 'application/json')
1116
+ .send({"first_text":"first_text"})
1117
+ .end(function(err, res) {
1118
+
1119
+ console.log("res.body", res.body);
1120
+ res.should.have.status(200);
1121
+ res.body.should.be.a('object');
1122
+
1123
+ res.body.should.have.property('first_text').eql('first_text');
1124
+
1125
+ var request_id = res.body.request_id;
1126
+ console.log("request_id",request_id);
1127
+
1128
+ chai.request(server)
1129
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
1130
+ .auth(email, pwd)
1131
+ .set('content-type', 'application/json')
1132
+ .send([{"sender":"andrealeo", "senderFullname":"Andrea","text":"text1"}, {"sender":"rocco", "senderFullname":"Rocco", "text":"text2"}])
1133
+ .end(function(err, res) {
1134
+ //console.log("res", res);
1135
+ console.log("res.body", res.body);
1136
+ res.should.have.status(200);
1137
+ res.body.should.be.a('array');
1138
+
1139
+ expect(res.body[0].sender).to.equal("andrealeo");
1140
+ expect(res.body[0].senderFullname).to.equal("Andrea");
1141
+ expect(res.body[0].recipient).to.equal(request_id);
1142
+ expect(res.body[0].text).to.equal("text1");
1143
+ expect(res.body[0].id_project).to.equal(savedProject._id.toString());
1144
+ expect(res.body[0].createdBy).to.equal("andrealeo");
1145
+ expect(res.body[0].status).to.equal(0);
1146
+ expect(res.body[0].channel_type).to.equal("group");
1147
+ expect(res.body[0].channel.name).to.equal("chat21");
1148
+
1149
+
1150
+
1151
+ expect(res.body[1].sender).to.equal("rocco");
1152
+ expect(res.body[1].senderFullname).to.equal("Rocco");
1153
+ expect(res.body[1].recipient).to.equal(request_id);
1154
+ expect(res.body[1].text).to.equal("text2");
1155
+ expect(res.body[1].id_project).to.equal(savedProject._id.toString());
1156
+ expect(res.body[1].createdBy).to.equal("rocco");
1157
+ expect(res.body[1].status).to.equal(0);
1158
+ expect(res.body[1].channel_type).to.equal("group");
1159
+ expect(res.body[1].channel.name).to.equal("chat21");
1160
+
1161
+ done();
1162
+ });
1163
+ });
1164
+ });
1165
+ });
1166
+ });
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
792
1174
  it('getall', function (done) {
793
1175
  // this.timeout(10000);
794
1176
 
@@ -0,0 +1,90 @@
1
+
2
+ process.env.NODE_ENV = 'test';
3
+
4
+
5
+ //Require the dev-dependencies
6
+ let chai = require('chai');
7
+ let chaiHttp = require('chai-http');
8
+ let server = require('../app');
9
+ var projectService = require('../services/projectService');
10
+ var userService = require('../services/userService');
11
+ let should = chai.should();
12
+ var Project_user = require("../models/project_user");
13
+
14
+ var expect = chai.expect;
15
+ var assert = chai.assert;
16
+
17
+ //server client
18
+ var express = require('express');
19
+ const bodyParser = require('body-parser');
20
+
21
+ //end server client
22
+
23
+ chai.use(chaiHttp);
24
+
25
+ describe('Cache', () => {
26
+
27
+ if (process.env.CACHE_ENABLED == "true") {
28
+
29
+ }else {
30
+ console.log("Cache disabled");
31
+ expect(true).to.equal(false);
32
+ }
33
+ describe('/project', () => {
34
+
35
+
36
+ // mocha test-int/bot.js --grep 'createSimpleExatMatch'
37
+ it('getProject', (done) => {
38
+
39
+ var email = "test-bot-" + Date.now() + "@email.com";
40
+ var pwd = "pwd";
41
+
42
+
43
+
44
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
45
+ projectService.create("test-getProject", savedUser._id).then(function(savedProject) {
46
+
47
+ chai.request(server)
48
+ .get('/projects/'+ savedProject._id + '/')
49
+ .auth(email, pwd)
50
+ .set('content-type', 'application/json')
51
+ .send()
52
+ .end((err, res) => {
53
+ console.log("res.body", JSON.stringify(res.body));
54
+ // console.dir("res.body 1", res.body);
55
+ console.log("res.headers", res.headers);
56
+ res.should.have.status(200);
57
+ res.body.should.be.a('object');
58
+ expect(res.body.name).to.equal("test-getProject");
59
+ expect(res.body.status).to.equal(100);
60
+ expect(res.body.isActiveSubscription).to.equal(false);
61
+ expect(res.body.trialDaysLeft).to.equal(-30);
62
+ expect(res.body.trialExpired).to.equal(false);
63
+
64
+
65
+ chai.request(server)
66
+ .get('/projects/'+ savedProject._id + '/')
67
+ .auth(email, pwd)
68
+ .set('content-type', 'application/json') //from cache
69
+ .send()
70
+ .end((err, res) => {
71
+ console.log("res.body", JSON.stringify(res.body));
72
+ // console.dir("res.body 1", res.body);
73
+ console.log("res.headers", res.headers);
74
+ res.should.have.status(200);
75
+ res.body.should.be.a('object');
76
+ expect(res.body.name).to.equal("test-getProject");
77
+ expect(res.body.status).to.equal(100);
78
+ expect(res.body.isActiveSubscription).to.equal(false);
79
+ expect(res.body.trialDaysLeft).to.equal(-30);
80
+ expect(res.body.trialExpired).to.equal(false);
81
+ done()
82
+ });
83
+ });
84
+ });
85
+ });
86
+
87
+ });
88
+ });
89
+
90
+ });
@@ -0,0 +1,88 @@
1
+
2
+ process.env.NODE_ENV = 'test';
3
+
4
+
5
+ //Require the dev-dependencies
6
+ let chai = require('chai');
7
+ let chaiHttp = require('chai-http');
8
+ let server = require('../app');
9
+ var projectService = require('../services/projectService');
10
+ var userService = require('../services/userService');
11
+ let should = chai.should();
12
+ var Project_user = require("../models/project_user");
13
+
14
+ var expect = chai.expect;
15
+ var assert = chai.assert;
16
+
17
+ //server client
18
+ var express = require('express');
19
+ const bodyParser = require('body-parser');
20
+
21
+ //end server client
22
+
23
+ chai.use(chaiHttp);
24
+
25
+ describe('Cache', () => {
26
+
27
+ if (process.env.CACHE_ENABLED == "true") {
28
+
29
+ }else {
30
+ console.log("Cache disabled");
31
+ expect(true).to.equal(false);
32
+ }
33
+
34
+ describe('/project_user', () => {
35
+
36
+
37
+ // mocha test-int/bot.js --grep 'createSimpleExatMatch'
38
+ it('getCurrentProjectUser', (done) => {
39
+
40
+ var email = "test-bot-" + Date.now() + "@email.com";
41
+ var pwd = "pwd";
42
+
43
+
44
+
45
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
46
+ projectService.create("test-getCurrentProjectUser", savedUser._id).then(function(savedProject) {
47
+
48
+ chai.request(server)
49
+ .get('/'+ savedProject._id + '/project_users_test/test')
50
+ .auth(email, pwd)
51
+ .set('content-type', 'application/json')
52
+ .send()
53
+ .end((err, res) => {
54
+ console.log("res.body", JSON.stringify(res.body));
55
+ // console.dir("res.body 1", res.body);
56
+ console.log("res.headers", res.headers);
57
+ res.should.have.status(200);
58
+ res.body.should.be.a('object');
59
+ expect(res.body.role).to.equal("owner");
60
+ expect(res.body.isAuthenticated).to.equal(true);
61
+ expect(res.body.id_project).to.equal(savedProject._id.toString());
62
+
63
+
64
+ chai.request(server)
65
+ .get('/'+ savedProject._id + '/project_users_test/test')
66
+ .auth(email, pwd)
67
+ .set('content-type', 'application/json') //from cache
68
+ .send()
69
+ .end((err, res) => {
70
+ console.log("res.body", JSON.stringify(res.body));
71
+ // console.dir("res.body 1", res.body);
72
+ console.log("res.headers", res.headers);
73
+ res.should.have.status(200);
74
+ res.body.should.be.a('object');
75
+ expect(res.body.role).to.equal("owner");
76
+ expect(res.body.isAuthenticated).to.equal(true);
77
+ expect(res.body.id_project).to.equal(savedProject._id.toString());
78
+
79
+ done()
80
+ });
81
+ });
82
+ });
83
+ });
84
+
85
+ });
86
+ });
87
+
88
+ });
@@ -0,0 +1,31 @@
1
+ class PromiseUtil {
2
+
3
+ async doAllSequentually(promises) {
4
+ // return new Promise(async function (resolve, reject) {
5
+ // console.log("promises",promises);
6
+ var values = [];
7
+ for (let i=0; i < promises.length; i++) {
8
+ // console.log("promises[i]",promises[i]);
9
+
10
+ // const val = await
11
+ var value = await promises[i]
12
+ // .then(function(value) {
13
+ // console.log("done promises[i]",value);
14
+ // values.push(value);
15
+ // console.log("values before",values);
16
+ // });
17
+ values.push(value);
18
+ };
19
+
20
+ console.log("values",values);
21
+ // return resolve(values);
22
+
23
+ // });
24
+ return values;
25
+ }
26
+ }
27
+
28
+ var promiseUtil = new PromiseUtil();
29
+
30
+
31
+ module.exports = promiseUtil;
@@ -30,7 +30,7 @@ async send(sender, senderFullname, recipient, text, id_project, createdBy, attri
30
30
  } else {
31
31
  winston.debug("user id: "+sender);
32
32
  var user = await User.findById(sender)
33
- //@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+sender)
33
+ //@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+sender) //user_cache
34
34
  .exec()
35
35
  winston.debug("user", user);
36
36
  senderFullname = user.fullName;