@tellescope/sdk 1.76.0 → 1.78.0
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.
- package/lib/cjs/enduser.d.ts +7 -1
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/enduser.js +6 -2
- package/lib/cjs/enduser.js.map +1 -1
- package/lib/cjs/sdk.d.ts +6 -1
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +1 -0
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +491 -113
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +7 -1
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/enduser.js +6 -2
- package/lib/esm/enduser.js.map +1 -1
- package/lib/esm/sdk.d.ts +6 -1
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +1 -0
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +491 -113
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/enduser.ts +16 -2
- package/src/sdk.ts +3 -0
- package/src/tests/tests.ts +300 -2
- package/test_generated.pdf +0 -0
package/lib/cjs/tests/tests.js
CHANGED
|
@@ -153,7 +153,7 @@ var voidResult = function () { return true; };
|
|
|
153
153
|
var passOnVoid = { shouldError: false, onResult: voidResult };
|
|
154
154
|
// const isNull = (d: any) => d === null
|
|
155
155
|
var setup_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
156
|
-
var uInfo, originalAuthToken;
|
|
156
|
+
var badSDK, badEnduserSDK, uInfo, originalAuthToken;
|
|
157
157
|
return __generator(this, function (_a) {
|
|
158
158
|
switch (_a.label) {
|
|
159
159
|
case 0:
|
|
@@ -164,89 +164,142 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
164
164
|
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
165
165
|
case 2:
|
|
166
166
|
_a.sent();
|
|
167
|
-
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (with API Key)', (new sdk_1.Session({ host: host, apiKey: '3n5q0SCBT_iUvZz-b9BJtX7o7HQUVJ9v132PgHJNJsg.' /* local test key */ })).test_authenticated, { expectedResult: 'Authenticated!' })
|
|
167
|
+
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (with API Key)', (new sdk_1.Session({ host: host, apiKey: '3n5q0SCBT_iUvZz-b9BJtX7o7HQUVJ9v132PgHJNJsg.' /* local test key */ })).test_authenticated, { expectedResult: 'Authenticated!' })
|
|
168
|
+
// login rate limit tests
|
|
169
|
+
];
|
|
168
170
|
case 3:
|
|
169
171
|
_a.sent();
|
|
170
|
-
|
|
172
|
+
badSDK = new sdk_1.Session({ host: host });
|
|
173
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
171
174
|
case 4:
|
|
172
175
|
_a.sent();
|
|
173
|
-
return [4 /*yield*/,
|
|
176
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
174
177
|
case 5:
|
|
175
178
|
_a.sent();
|
|
176
|
-
return [4 /*yield*/,
|
|
179
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
177
180
|
case 6:
|
|
178
181
|
_a.sent();
|
|
179
|
-
return [4 /*yield*/,
|
|
182
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
180
183
|
case 7:
|
|
184
|
+
_a.sent();
|
|
185
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
186
|
+
case 8:
|
|
187
|
+
_a.sent();
|
|
188
|
+
return [4 /*yield*/, (0, testing_1.async_test)('login rate limited', function () { return badSDK.authenticate('bademail@tellescope.com', 'badpassword@tellescope.com'); }, { shouldError: true, onError: function (e) { return e.message === 'Too many login attempts'; } })];
|
|
189
|
+
case 9:
|
|
190
|
+
_a.sent();
|
|
191
|
+
return [4 /*yield*/, (0, testing_1.async_test)('login not rate limited for other user', function () { return sdk.authenticate(email, password); }, passOnAnyResult)];
|
|
192
|
+
case 10:
|
|
193
|
+
_a.sent();
|
|
194
|
+
badEnduserSDK = new sdk_1.EnduserSession({ host: host, businessId: businessId });
|
|
195
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
196
|
+
case 11:
|
|
197
|
+
_a.sent();
|
|
198
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
199
|
+
case 12:
|
|
200
|
+
_a.sent();
|
|
201
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
202
|
+
case 13:
|
|
203
|
+
_a.sent();
|
|
204
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
205
|
+
case 14:
|
|
206
|
+
_a.sent();
|
|
207
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
208
|
+
case 15:
|
|
209
|
+
_a.sent();
|
|
210
|
+
return [4 /*yield*/, (0, testing_1.async_test)('login rate limited', function () { return badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword@tellescope.com'); }, { shouldError: true, onError: function (e) { return e.message === 'Too many login attempts'; } })];
|
|
211
|
+
case 16:
|
|
212
|
+
_a.sent();
|
|
213
|
+
return [4 /*yield*/, (0, testing_1.async_test)('login not rate limited for other enduser', function () { return badEnduserSDK.authenticate('otherbademail@tellescope.com', 'badpassword@tellescope.com'); }, { shouldError: true, onError: function (e) { return e.message !== 'Too many login attempts'; } })
|
|
214
|
+
// prevent additional login throttling
|
|
215
|
+
];
|
|
216
|
+
case 17:
|
|
217
|
+
_a.sent();
|
|
218
|
+
// prevent additional login throttling
|
|
219
|
+
return [4 /*yield*/, (0, testing_1.async_test)('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
|
|
220
|
+
case 18:
|
|
221
|
+
// prevent additional login throttling
|
|
222
|
+
_a.sent();
|
|
223
|
+
return [4 /*yield*/, sdk.logout()];
|
|
224
|
+
case 19:
|
|
225
|
+
_a.sent();
|
|
226
|
+
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated - (logout invalidates jwt)', sdk.test_authenticated, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
227
|
+
case 20:
|
|
228
|
+
_a.sent();
|
|
229
|
+
return [4 /*yield*/, sdk.authenticate(email, password)];
|
|
230
|
+
case 21:
|
|
231
|
+
_a.sent();
|
|
232
|
+
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (re-authenticated)', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
233
|
+
case 22:
|
|
181
234
|
_a.sent();
|
|
182
235
|
uInfo = sdk.userInfo;
|
|
183
236
|
originalAuthToken = sdk.authToken;
|
|
184
237
|
return [4 /*yield*/, sdk.refresh_session()];
|
|
185
|
-
case
|
|
238
|
+
case 23:
|
|
186
239
|
_a.sent();
|
|
187
240
|
(0, testing_1.assert)(uInfo.id === sdk.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
|
|
188
241
|
(0, testing_1.assert)(!!originalAuthToken && !!sdk.authToken && sdk.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
|
|
189
242
|
return [4 /*yield*/, (0, testing_1.async_test)('role change by non-admin prevented (admin)', function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Admin'] }, { replaceObjectFields: true }); }, handleAnyError)];
|
|
190
|
-
case
|
|
243
|
+
case 24:
|
|
191
244
|
_a.sent();
|
|
192
245
|
return [4 /*yield*/, (0, testing_1.async_test)('role change by non-admin prevented (non-admin)', function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Not Admin'] }, { replaceObjectFields: true }); }, handleAnyError)
|
|
193
246
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
194
247
|
];
|
|
195
|
-
case
|
|
248
|
+
case 25:
|
|
196
249
|
_a.sent();
|
|
197
250
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
198
251
|
return [4 /*yield*/, (0, testing_1.async_test)('role change by non-admin prevented (empty)', function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: [] }, { replaceObjectFields: true }); }, handleAnyError)
|
|
199
252
|
// ensure that going to "Non-Admin" triggers a role change
|
|
200
253
|
];
|
|
201
|
-
case
|
|
254
|
+
case 26:
|
|
202
255
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
203
256
|
_a.sent();
|
|
204
257
|
// ensure that going to "Non-Admin" triggers a role change
|
|
205
258
|
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Test'] }, { replaceObjectFields: true })];
|
|
206
|
-
case
|
|
259
|
+
case 27:
|
|
207
260
|
// ensure that going to "Non-Admin" triggers a role change
|
|
208
261
|
_a.sent();
|
|
209
262
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
|
|
210
|
-
case
|
|
263
|
+
case 28:
|
|
211
264
|
_a.sent();
|
|
212
265
|
return [4 /*yield*/, (0, testing_1.async_test)('non admin authenticated', sdkNonAdmin.test_authenticated, { expectedResult: 'Authenticated!' })
|
|
213
266
|
// reset nonAdmin role to a default non-admin
|
|
214
267
|
];
|
|
215
|
-
case
|
|
268
|
+
case 29:
|
|
216
269
|
_a.sent();
|
|
217
270
|
// reset nonAdmin role to a default non-admin
|
|
218
271
|
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Non-Admin'] }, { replaceObjectFields: true })];
|
|
219
|
-
case
|
|
272
|
+
case 30:
|
|
220
273
|
// reset nonAdmin role to a default non-admin
|
|
221
274
|
_a.sent();
|
|
222
275
|
// should be unauthenticated due to role change
|
|
223
276
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
224
|
-
case
|
|
277
|
+
case 31:
|
|
225
278
|
// reset nonAdmin role to a default non-admin
|
|
226
279
|
// should be unauthenticated due to role change
|
|
227
280
|
_a.sent();
|
|
228
281
|
return [4 /*yield*/, (0, testing_1.async_test)('role change causes deauthentication', sdkNonAdmin.test_authenticated, handleAnyError)
|
|
229
282
|
// reauthenticate
|
|
230
283
|
];
|
|
231
|
-
case
|
|
284
|
+
case 32:
|
|
232
285
|
_a.sent();
|
|
233
286
|
// reauthenticate
|
|
234
287
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)];
|
|
235
|
-
case
|
|
288
|
+
case 33:
|
|
236
289
|
// reauthenticate
|
|
237
290
|
_a.sent();
|
|
238
291
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)
|
|
239
292
|
// may do some stuff in background after returning
|
|
240
293
|
];
|
|
241
|
-
case
|
|
294
|
+
case 34:
|
|
242
295
|
_a.sent();
|
|
243
296
|
// may do some stuff in background after returning
|
|
244
297
|
return [4 /*yield*/, (0, testing_1.async_test)('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
|
|
245
|
-
case
|
|
298
|
+
case 35:
|
|
246
299
|
// may do some stuff in background after returning
|
|
247
300
|
_a.sent();
|
|
248
301
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)];
|
|
249
|
-
case
|
|
302
|
+
case 36:
|
|
250
303
|
_a.sent();
|
|
251
304
|
return [2 /*return*/];
|
|
252
305
|
}
|
|
@@ -441,64 +494,73 @@ var sub_organization_enduser_tests = function () { return __awaiter(void 0, void
|
|
|
441
494
|
return [4 /*yield*/, enduserSDK.register({ email: 'root@tellescope.com', password: password })];
|
|
442
495
|
case 1:
|
|
443
496
|
_d.sent();
|
|
444
|
-
return [4 /*yield*/,
|
|
497
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)]; // avoid rate limiting error
|
|
445
498
|
case 2:
|
|
499
|
+
_d.sent(); // avoid rate limiting error
|
|
500
|
+
return [4 /*yield*/, subEnduserSDK.register({ email: 'sub@tellescope.com', password: password })];
|
|
501
|
+
case 3:
|
|
446
502
|
_d.sent();
|
|
503
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)]; // avoid rate limiting error
|
|
504
|
+
case 4:
|
|
505
|
+
_d.sent(); // avoid rate limiting error
|
|
447
506
|
return [4 /*yield*/, enduserSDK.authenticate('root@tellescope.com', password)];
|
|
448
|
-
case
|
|
507
|
+
case 5:
|
|
449
508
|
_d.sent();
|
|
509
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)]; // avoid rate limiting error
|
|
510
|
+
case 6:
|
|
511
|
+
_d.sent(); // avoid rate limiting error
|
|
450
512
|
return [4 /*yield*/, subEnduserSDK.authenticate('sub@tellescope.com', password)];
|
|
451
|
-
case
|
|
513
|
+
case 7:
|
|
452
514
|
_d.sent();
|
|
453
515
|
(0, testing_1.assert)(!((_a = enduserSDK.userInfo.organizationIds) === null || _a === void 0 ? void 0 : _a.length), 'bad root organizationIds', 'root auth org ids');
|
|
454
516
|
(0, testing_1.assert)(((_b = subEnduserSDK.userInfo.organizationIds) === null || _b === void 0 ? void 0 : _b.length) === 1, 'bad sub organizationIds', 'sub auth org ids');
|
|
455
517
|
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root', enduserId: enduserSDK.userInfo.id })];
|
|
456
|
-
case
|
|
518
|
+
case 8:
|
|
457
519
|
rootTicket = _d.sent();
|
|
458
520
|
return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
459
|
-
case
|
|
521
|
+
case 9:
|
|
460
522
|
_d.sent();
|
|
461
523
|
return [4 /*yield*/, (0, testing_1.async_test)("sub get root error", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, handleAnyError)];
|
|
462
|
-
case
|
|
524
|
+
case 10:
|
|
463
525
|
_d.sent();
|
|
464
526
|
return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
465
|
-
case
|
|
527
|
+
case 11:
|
|
466
528
|
_d.sent();
|
|
467
529
|
return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
468
|
-
case
|
|
530
|
+
case 12:
|
|
469
531
|
_d.sent();
|
|
470
532
|
return [4 /*yield*/, (0, testing_1.async_test)("root get root ticket", function () { return sdk.api.tickets.getOne(rootTicket.id); }, passOnAnyResult)];
|
|
471
|
-
case
|
|
533
|
+
case 13:
|
|
472
534
|
_d.sent();
|
|
473
535
|
return [4 /*yield*/, (0, testing_1.async_test)("sub get root ticket error", function () { return sdkSub.api.tickets.getOne(rootTicket.id); }, handleAnyError)];
|
|
474
|
-
case
|
|
536
|
+
case 14:
|
|
475
537
|
_d.sent();
|
|
476
538
|
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserSDK.userInfo.id, { sharedWithOrganizations: [(_c = sdkSub.userInfo.organizationIds) !== null && _c !== void 0 ? _c : []] })];
|
|
477
|
-
case
|
|
539
|
+
case 15:
|
|
478
540
|
_d.sent();
|
|
479
541
|
return [4 /*yield*/, enduserSDK.refresh_session()]; // ensure updated session includes new sharedWithOrganizations
|
|
480
|
-
case
|
|
542
|
+
case 16:
|
|
481
543
|
_d.sent(); // ensure updated session includes new sharedWithOrganizations
|
|
482
544
|
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root with shared', enduserId: enduserSDK.userInfo.id })];
|
|
483
|
-
case
|
|
545
|
+
case 17:
|
|
484
546
|
rootTicketAfterUpdate = _d.sent();
|
|
485
547
|
return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
486
|
-
case
|
|
548
|
+
case 18:
|
|
487
549
|
_d.sent();
|
|
488
550
|
return [4 /*yield*/, (0, testing_1.async_test)("sub get root after update", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
489
|
-
case
|
|
551
|
+
case 19:
|
|
490
552
|
_d.sent();
|
|
491
553
|
return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
492
|
-
case
|
|
554
|
+
case 20:
|
|
493
555
|
_d.sent();
|
|
494
556
|
return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
495
|
-
case
|
|
557
|
+
case 21:
|
|
496
558
|
_d.sent();
|
|
497
559
|
return [4 /*yield*/, (0, testing_1.async_test)("root get root ticket after update", function () { return sdk.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
498
|
-
case
|
|
560
|
+
case 22:
|
|
499
561
|
_d.sent();
|
|
500
562
|
return [4 /*yield*/, (0, testing_1.async_test)("sub get root ticket after update", function () { return sdkSub.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
501
|
-
case
|
|
563
|
+
case 23:
|
|
502
564
|
_d.sent();
|
|
503
565
|
return [4 /*yield*/, Promise.all([
|
|
504
566
|
sdk.api.endusers.deleteOne(enduserSDK.userInfo.id),
|
|
@@ -506,7 +568,7 @@ var sub_organization_enduser_tests = function () { return __awaiter(void 0, void
|
|
|
506
568
|
sdk.api.tickets.deleteOne(rootTicket.id),
|
|
507
569
|
sdk.api.tickets.deleteOne(rootTicketAfterUpdate.id),
|
|
508
570
|
])];
|
|
509
|
-
case
|
|
571
|
+
case 24:
|
|
510
572
|
_d.sent();
|
|
511
573
|
return [2 /*return*/];
|
|
512
574
|
}
|
|
@@ -4033,23 +4095,35 @@ var search_tests = function () { return __awaiter(void 0, void 0, void 0, functi
|
|
|
4033
4095
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'e2_search@tellescope.com', fname: 'sebastian', lname: "coates" })];
|
|
4034
4096
|
case 3:
|
|
4035
4097
|
e2 = _a.sent();
|
|
4036
|
-
return [4 /*yield*/, (0, testing_1.async_test)("Search
|
|
4098
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Search error message", function () { return sdk.api.endusers.getSome({ search: "alert(1)" }); }, {
|
|
4099
|
+
shouldError: true,
|
|
4100
|
+
onError: function (e) { return !e.message.includes('script') && e.message.startsWith("Error parsing field search: Expecting an object but got alert(1)"); }
|
|
4101
|
+
})];
|
|
4037
4102
|
case 4:
|
|
4038
4103
|
_a.sent();
|
|
4039
|
-
return [4 /*yield*/, (0, testing_1.async_test)("Search
|
|
4104
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Search error does not return script tags ", function () { return sdk.api.endusers.getSome({ search: "<script>alert(1)</script>" }); }, {
|
|
4105
|
+
shouldError: true,
|
|
4106
|
+
onError: function (e) { return !e.message.includes('script') && e.message.startsWith("Error parsing field search: Expecting an object but got"); }
|
|
4107
|
+
})];
|
|
4040
4108
|
case 5:
|
|
4041
4109
|
_a.sent();
|
|
4042
|
-
return [4 /*yield*/, (0, testing_1.async_test)("Search
|
|
4110
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Search full fname case insensitive", function () { return sdk.api.endusers.getSome({ search: { query: 'john' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === e1.id; } })];
|
|
4043
4111
|
case 6:
|
|
4044
4112
|
_a.sent();
|
|
4045
|
-
return [4 /*yield*/, (0, testing_1.async_test)("Search
|
|
4113
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Search start fname case insensitive", function () { return sdk.api.endusers.getSome({ search: { query: 'joh' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === e1.id; } })];
|
|
4046
4114
|
case 7:
|
|
4115
|
+
_a.sent();
|
|
4116
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Search end fname case insensitive", function () { return sdk.api.endusers.getSome({ search: { query: 'ohn' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === e1.id; } })];
|
|
4117
|
+
case 8:
|
|
4118
|
+
_a.sent();
|
|
4119
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Search by email", function () { return sdk.api.endusers.getSome({ search: { query: 'search@tellescope' } }); }, { onResult: function (es) { return es.length === 2; } })];
|
|
4120
|
+
case 9:
|
|
4047
4121
|
_a.sent();
|
|
4048
4122
|
return [4 /*yield*/, Promise.all([
|
|
4049
4123
|
sdk.api.endusers.deleteOne(e1.id),
|
|
4050
4124
|
sdk.api.endusers.deleteOne(e2.id),
|
|
4051
4125
|
])];
|
|
4052
|
-
case
|
|
4126
|
+
case 10:
|
|
4053
4127
|
_a.sent();
|
|
4054
4128
|
return [2 /*return*/];
|
|
4055
4129
|
}
|
|
@@ -7038,6 +7112,7 @@ var validate_schema = function () {
|
|
|
7038
7112
|
endpoints.add(path);
|
|
7039
7113
|
}
|
|
7040
7114
|
}
|
|
7115
|
+
console.log("Schema validated");
|
|
7041
7116
|
};
|
|
7042
7117
|
var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7043
7118
|
var testUsers, userIds, testAssignments, run_assignment_simulation;
|
|
@@ -7658,7 +7733,7 @@ var ticket_reminder_tests = function () { return __awaiter(void 0, void 0, void
|
|
|
7658
7733
|
return (((_b = (_a = t.reminders) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.didRemind) === true
|
|
7659
7734
|
&& t.nextReminderInMS !== -1
|
|
7660
7735
|
&& ((_d = (_c = t.reminders) === null || _c === void 0 ? void 0 : _c.filter(function (r) { return r.didRemind; })) === null || _d === void 0 ? void 0 : _d.length) === 1);
|
|
7661
|
-
},
|
|
7736
|
+
}, 10, 500); }, passOnAnyResult)];
|
|
7662
7737
|
case 13:
|
|
7663
7738
|
_a.sent();
|
|
7664
7739
|
return [4 /*yield*/, (0, testing_1.async_test)("Delayed reminder not processed yet", function () { return sdk.api.tickets.getOne(tToRemind.id); }, {
|
|
@@ -7916,6 +7991,304 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7916
7991
|
}
|
|
7917
7992
|
});
|
|
7918
7993
|
}); };
|
|
7994
|
+
var sync_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7995
|
+
var from, e, t, e2;
|
|
7996
|
+
return __generator(this, function (_a) {
|
|
7997
|
+
switch (_a.label) {
|
|
7998
|
+
case 0:
|
|
7999
|
+
(0, testing_1.log_header)("Data Sync");
|
|
8000
|
+
from = new Date();
|
|
8001
|
+
return [4 /*yield*/, (0, testing_1.async_test)("No new records, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8002
|
+
var results = _a.results;
|
|
8003
|
+
return results.length === 0;
|
|
8004
|
+
} })];
|
|
8005
|
+
case 1:
|
|
8006
|
+
_a.sent();
|
|
8007
|
+
return [4 /*yield*/, (0, testing_1.async_test)("No new records, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8008
|
+
var results = _a.results;
|
|
8009
|
+
return results.length === 0;
|
|
8010
|
+
} })];
|
|
8011
|
+
case 2:
|
|
8012
|
+
_a.sent();
|
|
8013
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({})];
|
|
8014
|
+
case 3:
|
|
8015
|
+
e = _a.sent();
|
|
8016
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8017
|
+
case 4:
|
|
8018
|
+
_a.sent();
|
|
8019
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser create, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8020
|
+
var results = _a.results;
|
|
8021
|
+
return (results.length === 1
|
|
8022
|
+
&& results[0].modelName === 'endusers'
|
|
8023
|
+
&& results[0].recordId === e.id
|
|
8024
|
+
&& results[0].data.includes(e.id)
|
|
8025
|
+
&& JSON.parse(results[0].data) // tests no error throwing
|
|
8026
|
+
);
|
|
8027
|
+
} })];
|
|
8028
|
+
case 5:
|
|
8029
|
+
_a.sent();
|
|
8030
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser create, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8031
|
+
var results = _a.results;
|
|
8032
|
+
return results.length === 0;
|
|
8033
|
+
} })];
|
|
8034
|
+
case 6:
|
|
8035
|
+
_a.sent();
|
|
8036
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser create, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8037
|
+
var results = _a.results;
|
|
8038
|
+
return results.length === 0;
|
|
8039
|
+
} })];
|
|
8040
|
+
case 7:
|
|
8041
|
+
_a.sent();
|
|
8042
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8043
|
+
var results = _a.results;
|
|
8044
|
+
return results.length === 0;
|
|
8045
|
+
} })];
|
|
8046
|
+
case 8:
|
|
8047
|
+
_a.sent();
|
|
8048
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { fname: "UPDATE_TEST" })];
|
|
8049
|
+
case 9:
|
|
8050
|
+
_a.sent();
|
|
8051
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8052
|
+
case 10:
|
|
8053
|
+
_a.sent();
|
|
8054
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser update, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8055
|
+
var results = _a.results;
|
|
8056
|
+
return (results.length === 1
|
|
8057
|
+
&& results[0].modelName === 'endusers'
|
|
8058
|
+
&& results[0].recordId === e.id
|
|
8059
|
+
&& results[0].data.includes("UPDATE_TEST"));
|
|
8060
|
+
} })];
|
|
8061
|
+
case 11:
|
|
8062
|
+
_a.sent();
|
|
8063
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser update, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8064
|
+
var results = _a.results;
|
|
8065
|
+
return results.length === 0;
|
|
8066
|
+
} })];
|
|
8067
|
+
case 12:
|
|
8068
|
+
_a.sent();
|
|
8069
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser update, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8070
|
+
var results = _a.results;
|
|
8071
|
+
return results.length === 0;
|
|
8072
|
+
} })];
|
|
8073
|
+
case 13:
|
|
8074
|
+
_a.sent();
|
|
8075
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8076
|
+
var results = _a.results;
|
|
8077
|
+
return results.length === 0;
|
|
8078
|
+
} })];
|
|
8079
|
+
case 14:
|
|
8080
|
+
_a.sent();
|
|
8081
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'access test' })];
|
|
8082
|
+
case 15:
|
|
8083
|
+
t = _a.sent();
|
|
8084
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8085
|
+
case 16:
|
|
8086
|
+
_a.sent();
|
|
8087
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can't access ticket", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8088
|
+
var results = _a.results;
|
|
8089
|
+
return results.length === 0;
|
|
8090
|
+
} })
|
|
8091
|
+
// creates a user notification which increments count/index
|
|
8092
|
+
];
|
|
8093
|
+
case 17:
|
|
8094
|
+
_a.sent();
|
|
8095
|
+
// creates a user notification which increments count/index
|
|
8096
|
+
sdk.api.tickets.updateOne(t.id, { owner: sdkNonAdmin.userInfo.id });
|
|
8097
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8098
|
+
case 18:
|
|
8099
|
+
_a.sent();
|
|
8100
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can access tickets on assignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8101
|
+
var results = _a.results;
|
|
8102
|
+
return results.length === 2;
|
|
8103
|
+
} })];
|
|
8104
|
+
case 19:
|
|
8105
|
+
_a.sent();
|
|
8106
|
+
sdk.api.tickets.updateOne(t.id, { owner: '' });
|
|
8107
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8108
|
+
case 20:
|
|
8109
|
+
_a.sent();
|
|
8110
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can't access tickets on unassignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8111
|
+
var results = _a.results;
|
|
8112
|
+
return results.length === 1;
|
|
8113
|
+
} })];
|
|
8114
|
+
case 21:
|
|
8115
|
+
_a.sent();
|
|
8116
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [sdkNonAdmin.userInfo.id] }, { replaceObjectFields: true })];
|
|
8117
|
+
case 22:
|
|
8118
|
+
_a.sent();
|
|
8119
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8120
|
+
case 23:
|
|
8121
|
+
_a.sent();
|
|
8122
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser update non-admin assignment, can access", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8123
|
+
var results = _a.results;
|
|
8124
|
+
return results.length === 2;
|
|
8125
|
+
} })];
|
|
8126
|
+
case 24:
|
|
8127
|
+
_a.sent();
|
|
8128
|
+
sdk.api.tickets.updateOne(t.id, { owner: '', enduserId: e.id });
|
|
8129
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8130
|
+
case 25:
|
|
8131
|
+
_a.sent();
|
|
8132
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can access ticket (and enduser) after enduser assignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8133
|
+
var results = _a.results;
|
|
8134
|
+
return results.length === 3;
|
|
8135
|
+
} })];
|
|
8136
|
+
case 26:
|
|
8137
|
+
_a.sent();
|
|
8138
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [] }, { replaceObjectFields: true })];
|
|
8139
|
+
case 27:
|
|
8140
|
+
_a.sent();
|
|
8141
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8142
|
+
case 28:
|
|
8143
|
+
_a.sent();
|
|
8144
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser update non-admin assignment, revoked access to enduser and ticket", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8145
|
+
var results = _a.results;
|
|
8146
|
+
return results.length === 1;
|
|
8147
|
+
} })
|
|
8148
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8149
|
+
];
|
|
8150
|
+
case 29:
|
|
8151
|
+
_a.sent();
|
|
8152
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8153
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(e.id)];
|
|
8154
|
+
case 30:
|
|
8155
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8156
|
+
_a.sent();
|
|
8157
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8158
|
+
case 31:
|
|
8159
|
+
_a.sent();
|
|
8160
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser delete, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8161
|
+
var results = _a.results;
|
|
8162
|
+
return (results.length === 3
|
|
8163
|
+
&& results[0].modelName === 'endusers'
|
|
8164
|
+
&& results[0].recordId === e.id
|
|
8165
|
+
&& results[0].data === 'deleted');
|
|
8166
|
+
} })];
|
|
8167
|
+
case 32:
|
|
8168
|
+
_a.sent();
|
|
8169
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser delete, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8170
|
+
var results = _a.results;
|
|
8171
|
+
return results.length === 1;
|
|
8172
|
+
} })];
|
|
8173
|
+
case 33:
|
|
8174
|
+
_a.sent();
|
|
8175
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser delete, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8176
|
+
var results = _a.results;
|
|
8177
|
+
return results.length === 0;
|
|
8178
|
+
} })];
|
|
8179
|
+
case 34:
|
|
8180
|
+
_a.sent();
|
|
8181
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8182
|
+
var results = _a.results;
|
|
8183
|
+
return results.length === 0;
|
|
8184
|
+
} })
|
|
8185
|
+
// bulk create test coverage
|
|
8186
|
+
];
|
|
8187
|
+
case 35:
|
|
8188
|
+
_a.sent();
|
|
8189
|
+
return [4 /*yield*/, sdk.api.endusers.createSome([{}])];
|
|
8190
|
+
case 36:
|
|
8191
|
+
e2 = (_a.sent()).created[0];
|
|
8192
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8193
|
+
case 37:
|
|
8194
|
+
_a.sent();
|
|
8195
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Bulk Enduser create, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8196
|
+
var results = _a.results;
|
|
8197
|
+
return (results.length === 4
|
|
8198
|
+
&& results[0].modelName === 'endusers'
|
|
8199
|
+
&& results[0].recordId === e2.id
|
|
8200
|
+
&& results[0].data.includes(e2.id)
|
|
8201
|
+
&& JSON.parse(results[0].data) // tests no error throwing
|
|
8202
|
+
);
|
|
8203
|
+
} })];
|
|
8204
|
+
case 38:
|
|
8205
|
+
_a.sent();
|
|
8206
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Bulk Enduser create, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8207
|
+
var results = _a.results;
|
|
8208
|
+
return results.length === 1;
|
|
8209
|
+
} })];
|
|
8210
|
+
case 39:
|
|
8211
|
+
_a.sent();
|
|
8212
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Bulk Enduser create, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8213
|
+
var results = _a.results;
|
|
8214
|
+
return results.length === 0;
|
|
8215
|
+
} })];
|
|
8216
|
+
case 40:
|
|
8217
|
+
_a.sent();
|
|
8218
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8219
|
+
var results = _a.results;
|
|
8220
|
+
return results.length === 0;
|
|
8221
|
+
} })];
|
|
8222
|
+
case 41:
|
|
8223
|
+
_a.sent();
|
|
8224
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(e2.id)];
|
|
8225
|
+
case 42:
|
|
8226
|
+
_a.sent();
|
|
8227
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
8228
|
+
case 43:
|
|
8229
|
+
_a.sent();
|
|
8230
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Bulk Enduser delete, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8231
|
+
var results = _a.results;
|
|
8232
|
+
return (results.length === 4
|
|
8233
|
+
&& results[0].modelName === 'endusers'
|
|
8234
|
+
&& results[0].recordId === e2.id
|
|
8235
|
+
&& results[0].data === 'deleted');
|
|
8236
|
+
} })];
|
|
8237
|
+
case 44:
|
|
8238
|
+
_a.sent();
|
|
8239
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Bulk Enduser delete, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8240
|
+
var results = _a.results;
|
|
8241
|
+
return results.length === 1;
|
|
8242
|
+
} })];
|
|
8243
|
+
case 45:
|
|
8244
|
+
_a.sent();
|
|
8245
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Bulk Enduser delete, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8246
|
+
var results = _a.results;
|
|
8247
|
+
return results.length === 0;
|
|
8248
|
+
} })];
|
|
8249
|
+
case 46:
|
|
8250
|
+
_a.sent();
|
|
8251
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8252
|
+
var results = _a.results;
|
|
8253
|
+
return results.length === 0;
|
|
8254
|
+
} })];
|
|
8255
|
+
case 47:
|
|
8256
|
+
_a.sent();
|
|
8257
|
+
return [2 /*return*/];
|
|
8258
|
+
}
|
|
8259
|
+
});
|
|
8260
|
+
}); };
|
|
8261
|
+
// to cover potential vulernabilities with enduser public register endpoint
|
|
8262
|
+
var register_as_enduser_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
8263
|
+
var enduser;
|
|
8264
|
+
return __generator(this, function (_a) {
|
|
8265
|
+
switch (_a.label) {
|
|
8266
|
+
case 0:
|
|
8267
|
+
(0, testing_1.log_header)("Register as Enduser");
|
|
8268
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser register", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, passOnAnyResult)];
|
|
8269
|
+
case 1:
|
|
8270
|
+
_a.sent();
|
|
8271
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser register (rate limited)", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, { shouldError: true, onError: function (e) { return e.message === "Too many requests"; } })];
|
|
8272
|
+
case 2:
|
|
8273
|
+
_a.sent();
|
|
8274
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)];
|
|
8275
|
+
case 3:
|
|
8276
|
+
_a.sent();
|
|
8277
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser duplicate register (same response, no ability to enumerate contacts)", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, passOnAnyResult)];
|
|
8278
|
+
case 4:
|
|
8279
|
+
_a.sent();
|
|
8280
|
+
return [4 /*yield*/, sdk.api.endusers.getOne({ email: 'test@tellescope.com' })];
|
|
8281
|
+
case 5:
|
|
8282
|
+
enduser = _a.sent();
|
|
8283
|
+
if (!enduser) return [3 /*break*/, 7];
|
|
8284
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
8285
|
+
case 6:
|
|
8286
|
+
_a.sent();
|
|
8287
|
+
_a.label = 7;
|
|
8288
|
+
case 7: return [2 /*return*/];
|
|
8289
|
+
}
|
|
8290
|
+
});
|
|
8291
|
+
}); };
|
|
7919
8292
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7920
8293
|
var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _f, _g, _h, err_2;
|
|
7921
8294
|
var _j, _k;
|
|
@@ -7928,7 +8301,7 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7928
8301
|
_l.sent();
|
|
7929
8302
|
_l.label = 2;
|
|
7930
8303
|
case 2:
|
|
7931
|
-
_l.trys.push([2,
|
|
8304
|
+
_l.trys.push([2, 49, , 50]);
|
|
7932
8305
|
(0, exports.form_conditional_logic_tests)();
|
|
7933
8306
|
return [4 /*yield*/, test_weighted_round_robin()];
|
|
7934
8307
|
case 3:
|
|
@@ -7942,11 +8315,10 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7942
8315
|
sdkOtherSub.authenticate(otherSubUserEmail, password),
|
|
7943
8316
|
sdkSubSub.authenticate(subSubUserEmail, password),
|
|
7944
8317
|
sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
|
|
7945
|
-
])
|
|
7946
|
-
// console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
|
|
7947
|
-
];
|
|
8318
|
+
])];
|
|
7948
8319
|
case 5:
|
|
7949
8320
|
_l.sent();
|
|
8321
|
+
console.log("Authentication done");
|
|
7950
8322
|
// console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
|
|
7951
8323
|
return [4 /*yield*/, (0, testing_1.async_test)("count exists",
|
|
7952
8324
|
// @ts-ignore
|
|
@@ -7966,120 +8338,126 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7966
8338
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
7967
8339
|
case 10:
|
|
7968
8340
|
_l.sent(); // should come right after setup tests
|
|
7969
|
-
return [4 /*yield*/,
|
|
8341
|
+
return [4 /*yield*/, register_as_enduser_tests()];
|
|
7970
8342
|
case 11:
|
|
7971
8343
|
_l.sent();
|
|
7972
|
-
return [4 /*yield*/, (
|
|
8344
|
+
return [4 /*yield*/, sync_tests()];
|
|
7973
8345
|
case 12:
|
|
8346
|
+
_l.sent();
|
|
8347
|
+
return [4 /*yield*/, lockout_tests()];
|
|
8348
|
+
case 13:
|
|
8349
|
+
_l.sent();
|
|
8350
|
+
return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
|
|
8351
|
+
case 14:
|
|
7974
8352
|
_l.sent();
|
|
7975
8353
|
return [4 /*yield*/, delete_user_tests()
|
|
7976
8354
|
// await test_send_with_template()
|
|
7977
8355
|
];
|
|
7978
|
-
case
|
|
8356
|
+
case 15:
|
|
7979
8357
|
_l.sent();
|
|
7980
8358
|
// await test_send_with_template()
|
|
7981
8359
|
return [4 /*yield*/, bulk_read_tests()];
|
|
7982
|
-
case
|
|
8360
|
+
case 16:
|
|
7983
8361
|
// await test_send_with_template()
|
|
7984
8362
|
_l.sent();
|
|
7985
8363
|
return [4 /*yield*/, (0, exports.ticket_reminder_tests)()];
|
|
7986
|
-
case
|
|
8364
|
+
case 17:
|
|
7987
8365
|
_l.sent();
|
|
7988
8366
|
return [4 /*yield*/, enduser_access_tags_tests()];
|
|
7989
|
-
case
|
|
8367
|
+
case 18:
|
|
7990
8368
|
_l.sent();
|
|
7991
8369
|
return [4 /*yield*/, marketing_email_unsubscribe_tests()];
|
|
7992
|
-
case
|
|
8370
|
+
case 19:
|
|
7993
8371
|
_l.sent();
|
|
7994
8372
|
return [4 /*yield*/, unique_strings_tests()];
|
|
7995
|
-
case
|
|
8373
|
+
case 20:
|
|
7996
8374
|
_l.sent();
|
|
7997
8375
|
return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
|
|
7998
|
-
case
|
|
8376
|
+
case 21:
|
|
7999
8377
|
_l.sent();
|
|
8000
8378
|
return [4 /*yield*/, (0, exports.ticket_queue_tests)()];
|
|
8001
|
-
case
|
|
8379
|
+
case 22:
|
|
8002
8380
|
_l.sent();
|
|
8003
8381
|
return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
|
|
8004
|
-
case
|
|
8382
|
+
case 23:
|
|
8005
8383
|
_l.sent();
|
|
8006
8384
|
return [4 /*yield*/, field_equals_trigger_tests()];
|
|
8007
|
-
case
|
|
8385
|
+
case 24:
|
|
8008
8386
|
_l.sent();
|
|
8009
8387
|
return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
|
|
8010
|
-
case
|
|
8388
|
+
case 25:
|
|
8011
8389
|
_l.sent();
|
|
8012
8390
|
return [4 /*yield*/, role_based_access_tests()];
|
|
8013
|
-
case
|
|
8391
|
+
case 26:
|
|
8014
8392
|
_l.sent();
|
|
8015
8393
|
return [4 /*yield*/, automation_trigger_tests()];
|
|
8016
|
-
case
|
|
8394
|
+
case 27:
|
|
8017
8395
|
_l.sent();
|
|
8018
8396
|
return [4 /*yield*/, enduser_session_tests()];
|
|
8019
|
-
case
|
|
8397
|
+
case 28:
|
|
8020
8398
|
_l.sent();
|
|
8021
8399
|
return [4 /*yield*/, nextReminderInMS_tests()];
|
|
8022
|
-
case
|
|
8400
|
+
case 29:
|
|
8023
8401
|
_l.sent();
|
|
8024
8402
|
return [4 /*yield*/, search_tests()];
|
|
8025
|
-
case
|
|
8403
|
+
case 30:
|
|
8026
8404
|
_l.sent();
|
|
8027
8405
|
return [4 /*yield*/, wait_for_trigger_tests()];
|
|
8028
|
-
case
|
|
8406
|
+
case 31:
|
|
8029
8407
|
_l.sent();
|
|
8030
8408
|
return [4 /*yield*/, pdf_generation()];
|
|
8031
|
-
case
|
|
8409
|
+
case 32:
|
|
8032
8410
|
_l.sent();
|
|
8033
8411
|
return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
|
|
8034
|
-
case
|
|
8412
|
+
case 33:
|
|
8035
8413
|
_l.sent();
|
|
8036
8414
|
return [4 /*yield*/, rate_limit_tests()];
|
|
8037
|
-
case
|
|
8415
|
+
case 34:
|
|
8038
8416
|
_l.sent();
|
|
8039
8417
|
return [4 /*yield*/, merge_enduser_tests()];
|
|
8040
|
-
case
|
|
8418
|
+
case 35:
|
|
8041
8419
|
_l.sent();
|
|
8042
8420
|
return [4 /*yield*/, auto_reply_tests()];
|
|
8043
|
-
case
|
|
8421
|
+
case 36:
|
|
8044
8422
|
_l.sent();
|
|
8045
8423
|
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
8046
|
-
case
|
|
8424
|
+
case 37:
|
|
8047
8425
|
_l.sent();
|
|
8048
8426
|
return [4 /*yield*/, sub_organization_tests()];
|
|
8049
|
-
case
|
|
8427
|
+
case 38:
|
|
8050
8428
|
_l.sent();
|
|
8051
8429
|
return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
|
|
8052
|
-
case
|
|
8430
|
+
case 39:
|
|
8053
8431
|
_l.sent();
|
|
8054
8432
|
return [4 /*yield*/, generate_user_auth_tests()];
|
|
8055
|
-
case
|
|
8433
|
+
case 40:
|
|
8056
8434
|
_l.sent();
|
|
8057
8435
|
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
8058
|
-
case
|
|
8436
|
+
case 41:
|
|
8059
8437
|
_l.sent();
|
|
8060
8438
|
return [4 /*yield*/, public_form_tests()];
|
|
8061
|
-
case
|
|
8439
|
+
case 42:
|
|
8062
8440
|
_l.sent();
|
|
8063
8441
|
return [4 /*yield*/, badInputTests()];
|
|
8064
|
-
case
|
|
8442
|
+
case 43:
|
|
8065
8443
|
_l.sent();
|
|
8066
8444
|
return [4 /*yield*/, filterTests()];
|
|
8067
|
-
case
|
|
8445
|
+
case 44:
|
|
8068
8446
|
_l.sent();
|
|
8069
8447
|
return [4 /*yield*/, updatesTests()];
|
|
8070
|
-
case
|
|
8448
|
+
case 45:
|
|
8071
8449
|
_l.sent();
|
|
8072
8450
|
return [4 /*yield*/, threadKeyTests()];
|
|
8073
|
-
case
|
|
8451
|
+
case 46:
|
|
8074
8452
|
_l.sent();
|
|
8075
8453
|
return [4 /*yield*/, enduserAccessTests()];
|
|
8076
|
-
case
|
|
8454
|
+
case 47:
|
|
8077
8455
|
_l.sent();
|
|
8078
8456
|
return [4 /*yield*/, enduser_redaction_tests()];
|
|
8079
|
-
case
|
|
8457
|
+
case 48:
|
|
8080
8458
|
_l.sent();
|
|
8081
|
-
return [3 /*break*/,
|
|
8082
|
-
case
|
|
8459
|
+
return [3 /*break*/, 50];
|
|
8460
|
+
case 49:
|
|
8083
8461
|
err_1 = _l.sent();
|
|
8084
8462
|
console.error("Failed during custom test");
|
|
8085
8463
|
if (err_1.message && err_1.info) {
|
|
@@ -8089,18 +8467,18 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
8089
8467
|
console.error(err_1);
|
|
8090
8468
|
}
|
|
8091
8469
|
process.exit(1);
|
|
8092
|
-
return [3 /*break*/,
|
|
8093
|
-
case
|
|
8470
|
+
return [3 /*break*/, 50];
|
|
8471
|
+
case 50:
|
|
8094
8472
|
_a = schema_1.schema;
|
|
8095
8473
|
_b = [];
|
|
8096
8474
|
for (_c in _a)
|
|
8097
8475
|
_b.push(_c);
|
|
8098
8476
|
_i = 0;
|
|
8099
|
-
_l.label =
|
|
8100
|
-
case
|
|
8101
|
-
if (!(_i < _b.length)) return [3 /*break*/,
|
|
8477
|
+
_l.label = 51;
|
|
8478
|
+
case 51:
|
|
8479
|
+
if (!(_i < _b.length)) return [3 /*break*/, 54];
|
|
8102
8480
|
_c = _b[_i];
|
|
8103
|
-
if (!(_c in _a)) return [3 /*break*/,
|
|
8481
|
+
if (!(_c in _a)) return [3 /*break*/, 53];
|
|
8104
8482
|
n = _c;
|
|
8105
8483
|
returnValidation = (_k = (_j = schema_1.schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
|
|
8106
8484
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -8111,41 +8489,41 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
8111
8489
|
create: returnValidation // ModelFields<ClientModel>,
|
|
8112
8490
|
}
|
|
8113
8491
|
})];
|
|
8114
|
-
case
|
|
8492
|
+
case 52:
|
|
8115
8493
|
_l.sent();
|
|
8116
|
-
_l.label =
|
|
8117
|
-
case
|
|
8494
|
+
_l.label = 53;
|
|
8495
|
+
case 53:
|
|
8118
8496
|
_i++;
|
|
8119
|
-
return [3 /*break*/,
|
|
8120
|
-
case
|
|
8497
|
+
return [3 /*break*/, 51];
|
|
8498
|
+
case 54:
|
|
8121
8499
|
_d = tests;
|
|
8122
8500
|
_f = [];
|
|
8123
8501
|
for (_g in _d)
|
|
8124
8502
|
_f.push(_g);
|
|
8125
8503
|
_h = 0;
|
|
8126
|
-
_l.label =
|
|
8127
|
-
case
|
|
8128
|
-
if (!(_h < _f.length)) return [3 /*break*/,
|
|
8504
|
+
_l.label = 55;
|
|
8505
|
+
case 55:
|
|
8506
|
+
if (!(_h < _f.length)) return [3 /*break*/, 60];
|
|
8129
8507
|
_g = _f[_h];
|
|
8130
|
-
if (!(_g in _d)) return [3 /*break*/,
|
|
8508
|
+
if (!(_g in _d)) return [3 /*break*/, 59];
|
|
8131
8509
|
t = _g;
|
|
8132
|
-
_l.label =
|
|
8133
|
-
case
|
|
8134
|
-
_l.trys.push([
|
|
8510
|
+
_l.label = 56;
|
|
8511
|
+
case 56:
|
|
8512
|
+
_l.trys.push([56, 58, , 59]);
|
|
8135
8513
|
return [4 /*yield*/, tests[t]()];
|
|
8136
|
-
case
|
|
8514
|
+
case 57:
|
|
8137
8515
|
_l.sent();
|
|
8138
|
-
return [3 /*break*/,
|
|
8139
|
-
case
|
|
8516
|
+
return [3 /*break*/, 59];
|
|
8517
|
+
case 58:
|
|
8140
8518
|
err_2 = _l.sent();
|
|
8141
8519
|
console.error("Error running test:");
|
|
8142
8520
|
console.error(err_2);
|
|
8143
8521
|
process.exit(1);
|
|
8144
|
-
return [3 /*break*/,
|
|
8145
|
-
case
|
|
8522
|
+
return [3 /*break*/, 59];
|
|
8523
|
+
case 59:
|
|
8146
8524
|
_h++;
|
|
8147
|
-
return [3 /*break*/,
|
|
8148
|
-
case
|
|
8525
|
+
return [3 /*break*/, 55];
|
|
8526
|
+
case 60:
|
|
8149
8527
|
process.exit();
|
|
8150
8528
|
return [2 /*return*/];
|
|
8151
8529
|
}
|