@tiledesk/tiledesk-server 2.4.100 → 2.4.101

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.
@@ -57,7 +57,11 @@ class TrainingService {
57
57
  if (webhook_enabled === true) {
58
58
  json.webhook_url = process.env.API_URL || configGlobal.apiUrl + "/" + faq_kb.id_project + "/bots/" + faq_kb._id+"/training"
59
59
  }
60
-
60
+
61
+ let index = faqs.findIndex(f => f.intent_display_name === "start");
62
+ faqs.slice(index);
63
+
64
+
61
65
  faqs.forEach((f) => {
62
66
  if (f.enabled == true) {
63
67
  let intent = {
@@ -74,7 +78,7 @@ class TrainingService {
74
78
  }
75
79
  })
76
80
 
77
- winston.debug("training json: \n", json);
81
+ winston.info("training json: \n", json);
78
82
 
79
83
  await axios({
80
84
  url: training_api_url,
@@ -3,7 +3,12 @@ process.env.NODE_ENV = 'test';
3
3
 
4
4
  var expect = require('chai').expect;
5
5
 
6
- var assert = require('chai').assert;
6
+ var chai = require("chai");
7
+ chai.config.includeStack = true;
8
+
9
+ var expect = chai.expect;
10
+ var assert = chai.assert;
11
+ let should = chai.should();
7
12
  var config = require('../config/database');
8
13
  var mongoose = require('mongoose');
9
14
  var winston = require('../config/winston');
@@ -23,20 +28,77 @@ var projectService = require('../services/projectService');
23
28
 
24
29
  var Request = require("../models/request");
25
30
 
31
+ var { QuoteManager } = require('../services/QuoteManager');
32
+
33
+ // CONNECT REDIS - CHECK IT
34
+ const { TdCache } = require('../utils/TdCache');
35
+ let tdCache = new TdCache({
36
+ host: '127.0.0.1',
37
+ port: '6379'
38
+ });
39
+
40
+ tdCache.connect();
26
41
 
27
42
  describe('messageService', function () {
28
43
 
29
44
  var userid = "5badfe5d553d1844ad654072";
30
45
 
46
+ it('createMessageQuote', function (done) {
47
+ // this.timeout(10000);
48
+ let qm = new QuoteManager({ tdCache: tdCache });
49
+ qm.start();
50
+
51
+ projectService.create("test1", userid).then(function (savedProject) {
52
+ // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language) {
53
+
54
+ messageService.create(userid, "test sender", "testrecipient-createMessage", "hello",
55
+ savedProject._id, userid, undefined, { a1: "a1" }, undefined, undefined, "it").then(function (savedMessage) {
56
+ winston.debug("resolve savedMessage", savedMessage.toObject());
57
+
58
+ expect(savedMessage.text).to.equal("hello");
59
+ expect(savedMessage.sender).to.equal(userid);
60
+ expect(savedMessage.senderFullname).to.equal("test sender");
61
+ expect(savedMessage.recipient).to.equal("testrecipient-createMessage");
62
+ expect(savedMessage.language).to.equal("it");
63
+ expect(savedMessage.attributes.a1).to.equal("a1");
64
+ expect(savedMessage.channel_type).to.equal("group");
65
+ expect(savedMessage.channel.name).to.equal("chat21");
66
+
67
+
68
+ setTimeout(async () => {
69
+ let obj = { createdAt: new Date() }
70
+
71
+ let quotes = await qm.getAllQuotes(savedProject, obj);
72
+ console.log("quotes: ", quotes);
73
+ quotes.messages.quote.should.be.a('string');
74
+ expect(quotes.messages.quote).to.equal('1');
75
+
76
+ done();
77
+
78
+ }, 1000);
79
+
80
+
81
+ }).catch(function (err) {
82
+ assert.isNotOk(err, 'Promise error');
83
+ done();
84
+ });
85
+
86
+ });
87
+ });
88
+
31
89
  it('createMessage', function (done) {
32
90
  // this.timeout(10000);
33
91
 
34
- projectService.create("test1", userid).then(function(savedProject) {
35
- // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language) {
36
- messageService.create(userid, "test sender", "testrecipient-createMessage", "hello",
37
- savedProject._id, userid, undefined, {a1:"a1"}, undefined, undefined, "it" ).then(function(savedMessage){
38
- winston.debug("resolve savedMessage", savedMessage.toObject());
39
-
92
+ projectService.create("test1", userid).then(function (savedProject) {
93
+ // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language) {
94
+
95
+ let quoteManager = new QuoteManager({ project: savedProject, tdCache: tdCache })
96
+ quoteManager.start();
97
+
98
+ messageService.create(userid, "test sender", "testrecipient-createMessage", "hello",
99
+ savedProject._id, userid, undefined, { a1: "a1" }, undefined, undefined, "it").then(function (savedMessage) {
100
+ winston.debug("resolve savedMessage", savedMessage.toObject());
101
+
40
102
  expect(savedMessage.text).to.equal("hello");
41
103
  expect(savedMessage.sender).to.equal(userid);
42
104
  expect(savedMessage.senderFullname).to.equal("test sender");
@@ -47,49 +109,49 @@ describe('messageService', function () {
47
109
  expect(savedMessage.channel.name).to.equal("chat21");
48
110
  done();
49
111
 
50
- }).catch(function(err){
51
- assert.isNotOk(err,'Promise error');
112
+ }).catch(function (err) {
113
+ assert.isNotOk(err, 'Promise error');
52
114
  done();
53
115
  });
54
116
 
55
- });
56
117
  });
57
-
118
+ });
119
+
58
120
 
59
121
 
60
122
 
61
123
  it('createMessageAndUpdateTwoMessagesCount', function (done) {
62
124
  // this.timeout(10000);
63
- // projectService.create("test1", userid).then(function(savedProject) {
64
- projectService.createAndReturnProjectAndProjectUser("test1", userid).then(function(savedProjectAndPU) {
65
- var savedProject = savedProjectAndPU.project;
125
+ // projectService.create("test1", userid).then(function(savedProject) {
126
+ projectService.createAndReturnProjectAndProjectUser("test1", userid).then(function (savedProjectAndPU) {
127
+ var savedProject = savedProjectAndPU.project;
66
128
 
67
- // attento reqid
68
- // requestService.createWithId("request_id-createTwoMessage", "requester_id1", savedProject._id, "first_text").then(function(savedRequest) {
69
- requestService.createWithIdAndRequester("request_id-createTwoMessage", savedProjectAndPU.project_user._id,null, savedProject._id, "first_text").then(function(savedRequest) {
129
+ // attento reqid
130
+ // requestService.createWithId("request_id-createTwoMessage", "requester_id1", savedProject._id, "first_text").then(function(savedRequest) {
131
+ requestService.createWithIdAndRequester("request_id-createTwoMessage", savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function (savedRequest) {
70
132
 
71
- messageService.create(userid, "test sender", savedRequest.request_id, "hello",
72
- savedProject._id, userid).then(function(savedMessage){
133
+ messageService.create(userid, "test sender", savedRequest.request_id, "hello",
134
+ savedProject._id, userid).then(function (savedMessage) {
73
135
 
74
- // Promise.all([requestService.incrementMessagesCountByRequestId(savedRequest.request_id, savedProject._id),
75
- // requestService.incrementMessagesCountByRequestId(savedRequest.request_id, savedProject._id)]).then(function(savedMessage) {
136
+ // Promise.all([requestService.incrementMessagesCountByRequestId(savedRequest.request_id, savedProject._id),
137
+ // requestService.incrementMessagesCountByRequestId(savedRequest.request_id, savedProject._id)]).then(function(savedMessage) {
76
138
 
77
- Request.findOne({"request_id": "request_id-createTwoMessage","id_project": savedProject._id}).exec().then(function(req) {
78
- console.log("test resolve", req);
139
+ Request.findOne({ "request_id": "request_id-createTwoMessage", "id_project": savedProject._id }).exec().then(function (req) {
140
+ console.log("test resolve", req);
79
141
 
80
- // expect(req.messages_count).to.equal(2);
142
+ // expect(req.messages_count).to.equal(2);
81
143
 
82
- done();
83
- }).catch(function(err){
84
- winston.error("test reject", err);
85
- assert.isNotOk(err,'Promise error');
86
- done();
87
- });
88
- // });
144
+ done();
145
+ }).catch(function (err) {
146
+ winston.error("test reject", err);
147
+ assert.isNotOk(err, 'Promise error');
148
+ done();
149
+ });
150
+ // });
89
151
  });
90
- });
152
+ });
91
153
  });
92
-
154
+
93
155
 
94
156
  });
95
157
 
@@ -106,30 +168,30 @@ describe('messageService', function () {
106
168
 
107
169
 
108
170
  var messageTransformerInterceptor = require('../pubmodules/messageTransformer/messageTransformerInterceptor');
109
- console.log("messageTransformerInterceptor",messageTransformerInterceptor);
171
+ console.log("messageTransformerInterceptor", messageTransformerInterceptor);
110
172
  messageTransformerInterceptor.listen();
111
173
 
112
174
 
113
175
 
114
- projectService.create("test1", userid).then(function(savedProject) {
115
- // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata) {
176
+ projectService.create("test1", userid).then(function (savedProject) {
177
+ // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata) {
116
178
  messageService.create(userid, "test sender", "testrecipient-createMessage", "${LABEL_PLACEHOLDER}",
117
- savedProject._id, userid).then(function(savedMessage){
118
- winston.debug("resolve savedMessage", savedMessage.toObject());
119
-
179
+ savedProject._id, userid).then(function (savedMessage) {
180
+ winston.debug("resolve savedMessage", savedMessage.toObject());
181
+
120
182
  expect(savedMessage.text).to.equal("type your message..");
121
183
  expect(savedMessage.sender).to.equal(userid);
122
184
  expect(savedMessage.senderFullname).to.equal("test sender");
123
185
  expect(savedMessage.recipient).to.equal("testrecipient-createMessage");
124
186
  done();
125
187
 
126
- }).catch(function(err){
127
- assert.isNotOk(err,'Promise error');
188
+ }).catch(function (err) {
189
+ assert.isNotOk(err, 'Promise error');
128
190
  done();
129
191
  });
130
192
 
131
- });
132
193
  });
194
+ });
133
195
 
134
196
 
135
197
 
@@ -138,103 +200,103 @@ describe('messageService', function () {
138
200
 
139
201
 
140
202
  var messageTransformerInterceptor = require('../pubmodules/messageTransformer/messageTransformerInterceptor');
141
- console.log("messageTransformerInterceptor",messageTransformerInterceptor);
203
+ console.log("messageTransformerInterceptor", messageTransformerInterceptor);
142
204
  messageTransformerInterceptor.listen();
143
205
 
144
206
 
145
207
 
146
- projectService.create("test1", userid).then(function(savedProject) {
147
- // create(sender, senderFullname, recipient, text, id_project, createdBy) {
208
+ projectService.create("test1", userid).then(function (savedProject) {
209
+ // create(sender, senderFullname, recipient, text, id_project, createdBy) {
148
210
  messageService.create(userid, "test sender", "testrecipient-createMessage", "${NOTFOUND_LABEL}",
149
- savedProject._id, userid).then(function(savedMessage){
150
- winston.debug("resolve savedMessage", savedMessage.toObject());
151
-
211
+ savedProject._id, userid).then(function (savedMessage) {
212
+ winston.debug("resolve savedMessage", savedMessage.toObject());
213
+
152
214
  expect(savedMessage.text).to.equal("${NOTFOUND_LABEL}");
153
215
  expect(savedMessage.sender).to.equal(userid);
154
216
  expect(savedMessage.senderFullname).to.equal("test sender");
155
217
  expect(savedMessage.recipient).to.equal("testrecipient-createMessage");
156
218
  done();
157
219
 
158
- }).catch(function(err){
159
- assert.isNotOk(err,'Promise error');
220
+ }).catch(function (err) {
221
+ assert.isNotOk(err, 'Promise error');
160
222
  done();
161
223
  });
162
224
 
163
- });
164
225
  });
226
+ });
165
227
 
166
228
 
167
229
 
168
230
 
169
231
 
170
- it('createMessageMultiLanguageNOLanguage', function (done) {
171
- // this.timeout(10000);
172
-
173
-
174
- var messageTransformerInterceptor = require('../pubmodules/messageTransformer/messageTransformerInterceptor');
175
- console.log("messageTransformerInterceptor",messageTransformerInterceptor);
176
- messageTransformerInterceptor.listen();
177
-
178
-
179
-
180
- projectService.create("test1", userid).then(function(savedProject) {
181
- // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language) {
182
- messageService.create(userid, "test sender", "testrecipient-createMessage", "${LABEL_PLACEHOLDER}",
183
- savedProject._id, userid, undefined, undefined, undefined, undefined, "XXXX").then(function(savedMessage){
232
+ it('createMessageMultiLanguageNOLanguage', function (done) {
233
+ // this.timeout(10000);
234
+
235
+
236
+ var messageTransformerInterceptor = require('../pubmodules/messageTransformer/messageTransformerInterceptor');
237
+ console.log("messageTransformerInterceptor", messageTransformerInterceptor);
238
+ messageTransformerInterceptor.listen();
239
+
240
+
241
+
242
+ projectService.create("test1", userid).then(function (savedProject) {
243
+ // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language) {
244
+ messageService.create(userid, "test sender", "testrecipient-createMessage", "${LABEL_PLACEHOLDER}",
245
+ savedProject._id, userid, undefined, undefined, undefined, undefined, "XXXX").then(function (savedMessage) {
184
246
  winston.debug("resolve savedMessage", savedMessage.toObject());
185
-
186
- expect(savedMessage.text).to.equal("type your message.."); //EN default
187
- expect(savedMessage.sender).to.equal(userid);
188
- expect(savedMessage.senderFullname).to.equal("test sender");
189
- expect(savedMessage.recipient).to.equal("testrecipient-createMessage");
190
- done();
191
-
192
- }).catch(function(err){
193
- assert.isNotOk(err,'Promise error');
194
- done();
195
- });
196
-
247
+
248
+ expect(savedMessage.text).to.equal("type your message.."); //EN default
249
+ expect(savedMessage.sender).to.equal(userid);
250
+ expect(savedMessage.senderFullname).to.equal("test sender");
251
+ expect(savedMessage.recipient).to.equal("testrecipient-createMessage");
252
+ done();
253
+
254
+ }).catch(function (err) {
255
+ assert.isNotOk(err, 'Promise error');
256
+ done();
197
257
  });
198
- });
199
-
258
+
259
+ });
260
+ });
200
261
 
201
262
 
202
263
 
203
264
 
204
265
 
205
266
 
206
- // mocha test/messageService.js --grep 'createMessageMicroLanguageWithAttribute'
267
+
268
+ // mocha test/messageService.js --grep 'createMessageMicroLanguageWithAttribute'
207
269
 
208
270
  it('createMessageMicroLanguageWithAttribute', function (done) {
209
271
  // this.timeout(10000);
210
272
 
211
273
 
212
274
  var microLanguageTransformerInterceptor = require('../pubmodules/messageTransformer/microLanguageTransformerInterceptor');
213
- console.log("microLanguageTransformerInterceptor",microLanguageTransformerInterceptor);
275
+ console.log("microLanguageTransformerInterceptor", microLanguageTransformerInterceptor);
214
276
  microLanguageTransformerInterceptor.listen();
215
277
 
216
278
 
217
279
 
218
- projectService.create("test1", userid).then(function(savedProject) {
219
- // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata) {
220
- messageService.create("bot_"+userid, "test sender", "testrecipient-createMessageMicroLanguageWithAttribute", "ciao\n* Button1",
221
- savedProject._id, userid, undefined, {microlanguage:true}).then(function(savedMessage){
222
- winston.debug("resolve savedMessage", savedMessage.toObject());
223
-
280
+ projectService.create("test1", userid).then(function (savedProject) {
281
+ // create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata) {
282
+ messageService.create("bot_" + userid, "test sender", "testrecipient-createMessageMicroLanguageWithAttribute", "ciao\n* Button1",
283
+ savedProject._id, userid, undefined, { microlanguage: true }).then(function (savedMessage) {
284
+ winston.debug("resolve savedMessage", savedMessage.toObject());
285
+
224
286
  expect(savedMessage.text).to.equal("ciao");
225
287
  expect(savedMessage.type).to.equal("text");
226
- expect(savedMessage.attributes._raw_message).to.equal("ciao\n* Button1","attachment");
227
- expect(savedMessage.attributes.attachment.type).to.equal("template");
288
+ expect(savedMessage.attributes._raw_message).to.equal("ciao\n* Button1", "attachment");
289
+ expect(savedMessage.attributes.attachment.type).to.equal("template");
228
290
  expect(savedMessage.attributes.attachment.buttons[0].value).to.equal("Button1");
229
- expect(savedMessage.sender).to.equal("bot_"+userid);
291
+ expect(savedMessage.sender).to.equal("bot_" + userid);
230
292
  expect(savedMessage.senderFullname).to.equal("test sender");
231
293
  expect(savedMessage.recipient).to.equal("testrecipient-createMessageMicroLanguageWithAttribute");
232
294
  done();
233
295
 
234
296
  })
235
- });
236
297
  });
298
+ });
299
+
237
300
 
238
-
239
301
 
240
302
  });
@@ -0,0 +1,46 @@
1
+
2
+ class MockTdCache {
3
+
4
+ constructor() {
5
+ this.db = new Map();
6
+ }
7
+
8
+ async set(k, v) {
9
+ return new Promise((resolve, reject) => {
10
+ this.db.set(k, "" + v);
11
+ resolve();
12
+ })
13
+ }
14
+
15
+ async incr(k) {
16
+ let value = await this.get(k);
17
+ if (value == undefined || value == null) {
18
+ value = 0;
19
+ }
20
+
21
+ try {
22
+ value = Number(value);
23
+ } catch(error) {
24
+ value = 0;
25
+ }
26
+
27
+ let v_incr = Number(value) + 1;
28
+ this.db.set(k, "" + v_incr);
29
+ }
30
+
31
+ async get(k) {
32
+ return new Promise((resolve, reject) => {
33
+ const v = this.db.get(k);
34
+ resolve(v);
35
+ })
36
+ }
37
+
38
+ async del(k) {
39
+ return new Promise((resolve, reject) => {
40
+ const v = this.db.delete(k);
41
+ resolve();
42
+ })
43
+ }
44
+ }
45
+
46
+ module.exports = { MockTdCache };
@@ -0,0 +1,9 @@
1
+ const emailMock = {
2
+ from: 'email@from.com',
3
+ to: 'to@from.com',
4
+ subject: 'Email Subject',
5
+ body: 'Email Body',
6
+ createdAt: new Date('2023-10-25T08:45:54.058Z')
7
+ }
8
+
9
+ module.exports = { emailMock }
@@ -0,0 +1,46 @@
1
+ const messageMock = {
2
+ senderFullname: 'Test Sender',
3
+ type: 'text',
4
+ text: 'Hello!',
5
+ conversationWith: "support-group-63d540d370133e00128d6e59-f384a142258c4f2da2341770213cb5e7",
6
+ recipientFullname: "Test Sender ",
7
+ projectid: "63d540d370133e00128d6e59",
8
+ channelType: "group",
9
+ createdBy: '5badfe5d553d1844ad654072',
10
+ attributes: {}
11
+ }
12
+
13
+ // const messageMock = {
14
+ // "senderFullname": "guest#32d1 ",
15
+ // "text": "test 1",
16
+ // "type": "text",
17
+ // "metadata": "",
18
+ // "conversationWith": "support-group-63d540d370133e00128d6e59-f384a142258c4f2da2341770213cb5e7",
19
+ // "recipientFullname": "guest#32d1 ",
20
+ // "attributes": {
21
+ // "departmentId": "649c4644d71dcc0013909e6c",
22
+ // "departmentName": "NEW MESSAGE TEST",
23
+ // "ipAddress": "5.91.158.145",
24
+ // "client": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
25
+ // "sourcePage": "http://localhost:4203/assets/twp/index-dev.html?tiledesk_projectid=63d540d370133e00128d6e59&tiledesk_align=right&project_name=Demo%20email&tiledesk_singleConversation=false&tiledeks_nativeRating=true&tiledesk_mobileMarginY=35px&tiledesk_showLogoutOption=true&tiledesk_isLogEnabled=true&quiz",
26
+ // "sourceTitle": "Widget test page",
27
+ // "projectId": "63d540d370133e00128d6e59",
28
+ // "widgetVer": "v.5.0.71-rc.4",
29
+ // "payload": [],
30
+ // "userFullname": "guest#32d1 ",
31
+ // "requester_id": "32d1a53f-ec47-459a-9956-b52392e99079",
32
+ // "userEmail": "ddd@dd.it",
33
+ // "preChatForm": null,
34
+ // "cookie": "_ga=GA1.1.1543507943.1667828274; _cioid=5fd34e4249610e0034985078; hubspotutk=2edc9ab132fa5d509da1f3b63bbd4363; __stripe_mid=83a31c6b-0f17-4db4-8141-db2b31aa8e00e3feb8; ajs_user_id=638a2d68903f950014304c2a; ajs_anonymous_id=62a9e436-bd3f-4ac3-a1e7-78aad9d3e428; __hssrc=1; _clck=1xdqm39|2|fdt|0|1253; __hstc=181257784.2edc9ab132fa5d509da1f3b63bbd4363.1679477625553.1690960089317.1690977927174.140; _ga_BKHKLWGG6F=GS1.1.1690977924.245.1.1690984596.0.0.0; _clsk=1qgjsgo|1690984597675|2|1|y.clarity.ms/collect",
35
+ // "action": "#d8f15799-4209-46b9-874d-ca5818873146",
36
+ // "subtype": "",
37
+ // "lang": "en",
38
+ // "tempUID": "385c56fa-471a-4ce9-a7d8-7b9d179a85b0"
39
+ // },
40
+ // "projectid": "63d540d370133e00128d6e59",
41
+ // "channelType": "group"
42
+ // }
43
+
44
+
45
+
46
+ module.exports = { messageMock }
@@ -0,0 +1,171 @@
1
+ const mockProjectUser = {
2
+ "_id": "64e36f5dbf72263f7c056666",
3
+ "id_project": "64e36f5dbf72263f7c059999",
4
+ "id_user": "64e36f5dbf72263f7c057777",
5
+ "role": 'owner',
6
+ "user_available": true,
7
+ "createdBy": "64e36f5dbf72263f7c057777",
8
+ "updatedBy": "64e36f5dbf72263f7c057777"
9
+ }
10
+
11
+ const mockProjectFreeTrialPlan = {
12
+ "_id": "64e36f5dbf72263f7c059999",
13
+ "status": 100,
14
+ "ipFilterEnabled": false,
15
+ "ipFilter": [],
16
+ "ipFilterDenyEnabled": false,
17
+ "ipFilterDeny": [],
18
+ "name": "mock-project",
19
+ "activeOperatingHours": false,
20
+ "createdBy": "64e36f5cbf72263f7c05ba36",
21
+ "profile": {
22
+ "name": "free",
23
+ "trialDays": 14,
24
+ "agents": 0,
25
+ "type": "free"
26
+ },
27
+ "versions": 20115,
28
+ "channels": [
29
+ {
30
+ "name": "chat21"
31
+ }
32
+ ],
33
+ "createdAt": new Date('2023-10-16T08:45:54.058Z')
34
+ }
35
+
36
+ const mockProjectSandboxPlan = {
37
+ "_id": "64e36f5dbf72263f7c059999",
38
+ "status": 100,
39
+ "ipFilterEnabled": false,
40
+ "ipFilter": [],
41
+ "ipFilterDenyEnabled": false,
42
+ "ipFilterDeny": [],
43
+ "name": "mock-project",
44
+ "activeOperatingHours": false,
45
+ "createdBy": "64e36f5cbf72263f7c05ba36",
46
+ "profile": {
47
+ "name": "Sandbox",
48
+ "trialDays": 14,
49
+ "agents": 0,
50
+ "type": "payment",
51
+ "subStart": new Date('2023-10-20T08:45:54.058Z')
52
+ },
53
+ "versions": 20115,
54
+ "channels": [
55
+ {
56
+ "name": "chat21"
57
+ }
58
+ ],
59
+ "createdAt": new Date('2023-10-16T08:45:54.058Z')
60
+ }
61
+
62
+ const mockProjectBasicPlan = {
63
+ "_id": "64e36f5dbf72263f7c059999",
64
+ "status": 100,
65
+ "ipFilterEnabled": false,
66
+ "ipFilter": [],
67
+ "ipFilterDenyEnabled": false,
68
+ "ipFilterDeny": [],
69
+ "name": "mock-project",
70
+ "activeOperatingHours": false,
71
+ "createdBy": "64e36f5cbf72263f7c05ba36",
72
+ "profile": {
73
+ "name": "Basic",
74
+ "trialDays": 14,
75
+ "agents": 0,
76
+ "type": "payment",
77
+ "subStart": new Date('2023-10-20T08:45:54.058Z')
78
+ },
79
+ "versions": 20115,
80
+ "channels": [
81
+ {
82
+ "name": "chat21"
83
+ }
84
+ ],
85
+ "createdAt": new Date('2023-10-16T08:45:54.058Z')
86
+ }
87
+
88
+ const mockProjectPremiumPlan = {
89
+ "_id": "64e36f5dbf72263f7c059999",
90
+ "status": 100,
91
+ "ipFilterEnabled": false,
92
+ "ipFilter": [],
93
+ "ipFilterDenyEnabled": false,
94
+ "ipFilterDeny": [],
95
+ "name": "mock-project",
96
+ "activeOperatingHours": false,
97
+ "createdBy": "64e36f5cbf72263f7c05ba36",
98
+ "profile": {
99
+ "name": "Premium",
100
+ "trialDays": 14,
101
+ "agents": 0,
102
+ "type": "payment",
103
+ "subStart": new Date('2023-10-20T08:45:54.058Z')
104
+ },
105
+ "versions": 20115,
106
+ "channels": [
107
+ {
108
+ "name": "chat21"
109
+ }
110
+ ],
111
+ "createdAt": new Date('2023-10-16T08:45:54.058Z')
112
+ }
113
+
114
+ const mockProjectCustomPlan = {
115
+ "_id": "64e36f5dbf72263f7c059999",
116
+ "status": 100,
117
+ "ipFilterEnabled": false,
118
+ "ipFilter": [],
119
+ "ipFilterDenyEnabled": false,
120
+ "ipFilterDeny": [],
121
+ "name": "mock-project",
122
+ "activeOperatingHours": false,
123
+ "createdBy": "64e36f5cbf72263f7c05ba36",
124
+ "profile": {
125
+ "name": "Custom",
126
+ "trialDays": 14,
127
+ "agents": 0,
128
+ "type": "payment",
129
+ "subStart": new Date('2023-10-20T08:45:54.058Z')
130
+ },
131
+ "versions": 20115,
132
+ "channels": [
133
+ {
134
+ "name": "chat21"
135
+ }
136
+ ],
137
+ "createdAt": new Date('2023-10-16T08:45:54.058Z')
138
+ }
139
+
140
+ const mockOldProjecPlusPlan = {
141
+ "_id": "64e36f5dbf72263f7c059999",
142
+ "status": 100,
143
+ "ipFilterEnabled": false,
144
+ "ipFilter": [],
145
+ "name": "mock-project",
146
+ "activeOperatingHours": false,
147
+ "createdBy": "64e36f5cbf72263f7c05ba36",
148
+ "profile": {
149
+ "name": "Plus",
150
+ "trialDays": 30,
151
+ "agents": 40,
152
+ "type": "payment",
153
+ "subStart": new Date('2023-10-20T08:45:54.058Z'),
154
+ "subEnd": new Date('2024-3-29T08:45:54.058Z'),
155
+ "subscriptionId": "sub_1MjKLHG7zhjGozkvDsXITiDf",
156
+ "last_stripe_event": "invoice.payment_succeeded"
157
+ },
158
+ "versions": 20115,
159
+ "channels": [
160
+ {
161
+ "name": "chat21"
162
+ }
163
+ ],
164
+ "createdAt": new Date('2023-10-18T08:45:54.058Z'),
165
+ "updatedAt": new Date('2023-10-20T08:45:54.058Z'),
166
+ "bannedUsers": [],
167
+ "ipFilterDeny": [],
168
+ "ipFilterDenyEnabled": false
169
+ }
170
+
171
+ module.exports = { mockProjectUser, mockProjectFreeTrialPlan, mockProjectSandboxPlan, mockProjectBasicPlan, mockProjectPremiumPlan, mockProjectCustomPlan, mockOldProjecPlusPlan };