@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/esm/tests/tests.js
CHANGED
|
@@ -124,7 +124,7 @@ var voidResult = function () { return true; };
|
|
|
124
124
|
var passOnVoid = { shouldError: false, onResult: voidResult };
|
|
125
125
|
// const isNull = (d: any) => d === null
|
|
126
126
|
var setup_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
127
|
-
var uInfo, originalAuthToken;
|
|
127
|
+
var badSDK, badEnduserSDK, uInfo, originalAuthToken;
|
|
128
128
|
return __generator(this, function (_a) {
|
|
129
129
|
switch (_a.label) {
|
|
130
130
|
case 0:
|
|
@@ -135,89 +135,142 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
135
135
|
return [4 /*yield*/, async_test('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
136
136
|
case 2:
|
|
137
137
|
_a.sent();
|
|
138
|
-
return [4 /*yield*/, async_test('test_authenticated (with API Key)', (new Session({ host: host, apiKey: '3n5q0SCBT_iUvZz-b9BJtX7o7HQUVJ9v132PgHJNJsg.' /* local test key */ })).test_authenticated, { expectedResult: 'Authenticated!' })
|
|
138
|
+
return [4 /*yield*/, async_test('test_authenticated (with API Key)', (new Session({ host: host, apiKey: '3n5q0SCBT_iUvZz-b9BJtX7o7HQUVJ9v132PgHJNJsg.' /* local test key */ })).test_authenticated, { expectedResult: 'Authenticated!' })
|
|
139
|
+
// login rate limit tests
|
|
140
|
+
];
|
|
139
141
|
case 3:
|
|
140
142
|
_a.sent();
|
|
141
|
-
|
|
143
|
+
badSDK = new Session({ host: host });
|
|
144
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
142
145
|
case 4:
|
|
143
146
|
_a.sent();
|
|
144
|
-
return [4 /*yield*/,
|
|
147
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
145
148
|
case 5:
|
|
146
149
|
_a.sent();
|
|
147
|
-
return [4 /*yield*/,
|
|
150
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
148
151
|
case 6:
|
|
149
152
|
_a.sent();
|
|
150
|
-
return [4 /*yield*/,
|
|
153
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
151
154
|
case 7:
|
|
155
|
+
_a.sent();
|
|
156
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
157
|
+
case 8:
|
|
158
|
+
_a.sent();
|
|
159
|
+
return [4 /*yield*/, 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'; } })];
|
|
160
|
+
case 9:
|
|
161
|
+
_a.sent();
|
|
162
|
+
return [4 /*yield*/, async_test('login not rate limited for other user', function () { return sdk.authenticate(email, password); }, passOnAnyResult)];
|
|
163
|
+
case 10:
|
|
164
|
+
_a.sent();
|
|
165
|
+
badEnduserSDK = new EnduserSession({ host: host, businessId: businessId });
|
|
166
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
167
|
+
case 11:
|
|
168
|
+
_a.sent();
|
|
169
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
170
|
+
case 12:
|
|
171
|
+
_a.sent();
|
|
172
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
173
|
+
case 13:
|
|
174
|
+
_a.sent();
|
|
175
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
176
|
+
case 14:
|
|
177
|
+
_a.sent();
|
|
178
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
179
|
+
case 15:
|
|
180
|
+
_a.sent();
|
|
181
|
+
return [4 /*yield*/, 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'; } })];
|
|
182
|
+
case 16:
|
|
183
|
+
_a.sent();
|
|
184
|
+
return [4 /*yield*/, 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'; } })
|
|
185
|
+
// prevent additional login throttling
|
|
186
|
+
];
|
|
187
|
+
case 17:
|
|
188
|
+
_a.sent();
|
|
189
|
+
// prevent additional login throttling
|
|
190
|
+
return [4 /*yield*/, async_test('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
|
|
191
|
+
case 18:
|
|
192
|
+
// prevent additional login throttling
|
|
193
|
+
_a.sent();
|
|
194
|
+
return [4 /*yield*/, sdk.logout()];
|
|
195
|
+
case 19:
|
|
196
|
+
_a.sent();
|
|
197
|
+
return [4 /*yield*/, async_test('test_authenticated - (logout invalidates jwt)', sdk.test_authenticated, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
198
|
+
case 20:
|
|
199
|
+
_a.sent();
|
|
200
|
+
return [4 /*yield*/, sdk.authenticate(email, password)];
|
|
201
|
+
case 21:
|
|
202
|
+
_a.sent();
|
|
203
|
+
return [4 /*yield*/, async_test('test_authenticated (re-authenticated)', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
204
|
+
case 22:
|
|
152
205
|
_a.sent();
|
|
153
206
|
uInfo = sdk.userInfo;
|
|
154
207
|
originalAuthToken = sdk.authToken;
|
|
155
208
|
return [4 /*yield*/, sdk.refresh_session()];
|
|
156
|
-
case
|
|
209
|
+
case 23:
|
|
157
210
|
_a.sent();
|
|
158
211
|
assert(uInfo.id === sdk.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
|
|
159
212
|
assert(!!originalAuthToken && !!sdk.authToken && sdk.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
|
|
160
213
|
return [4 /*yield*/, async_test('role change by non-admin prevented (admin)', function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Admin'] }, { replaceObjectFields: true }); }, handleAnyError)];
|
|
161
|
-
case
|
|
214
|
+
case 24:
|
|
162
215
|
_a.sent();
|
|
163
216
|
return [4 /*yield*/, 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)
|
|
164
217
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
165
218
|
];
|
|
166
|
-
case
|
|
219
|
+
case 25:
|
|
167
220
|
_a.sent();
|
|
168
221
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
169
222
|
return [4 /*yield*/, async_test('role change by non-admin prevented (empty)', function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: [] }, { replaceObjectFields: true }); }, handleAnyError)
|
|
170
223
|
// ensure that going to "Non-Admin" triggers a role change
|
|
171
224
|
];
|
|
172
|
-
case
|
|
225
|
+
case 26:
|
|
173
226
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
174
227
|
_a.sent();
|
|
175
228
|
// ensure that going to "Non-Admin" triggers a role change
|
|
176
229
|
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Test'] }, { replaceObjectFields: true })];
|
|
177
|
-
case
|
|
230
|
+
case 27:
|
|
178
231
|
// ensure that going to "Non-Admin" triggers a role change
|
|
179
232
|
_a.sent();
|
|
180
233
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
|
|
181
|
-
case
|
|
234
|
+
case 28:
|
|
182
235
|
_a.sent();
|
|
183
236
|
return [4 /*yield*/, async_test('non admin authenticated', sdkNonAdmin.test_authenticated, { expectedResult: 'Authenticated!' })
|
|
184
237
|
// reset nonAdmin role to a default non-admin
|
|
185
238
|
];
|
|
186
|
-
case
|
|
239
|
+
case 29:
|
|
187
240
|
_a.sent();
|
|
188
241
|
// reset nonAdmin role to a default non-admin
|
|
189
242
|
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Non-Admin'] }, { replaceObjectFields: true })];
|
|
190
|
-
case
|
|
243
|
+
case 30:
|
|
191
244
|
// reset nonAdmin role to a default non-admin
|
|
192
245
|
_a.sent();
|
|
193
246
|
// should be unauthenticated due to role change
|
|
194
247
|
return [4 /*yield*/, wait(undefined, 100)];
|
|
195
|
-
case
|
|
248
|
+
case 31:
|
|
196
249
|
// reset nonAdmin role to a default non-admin
|
|
197
250
|
// should be unauthenticated due to role change
|
|
198
251
|
_a.sent();
|
|
199
252
|
return [4 /*yield*/, async_test('role change causes deauthentication', sdkNonAdmin.test_authenticated, handleAnyError)
|
|
200
253
|
// reauthenticate
|
|
201
254
|
];
|
|
202
|
-
case
|
|
255
|
+
case 32:
|
|
203
256
|
_a.sent();
|
|
204
257
|
// reauthenticate
|
|
205
258
|
return [4 /*yield*/, wait(undefined, 1000)];
|
|
206
|
-
case
|
|
259
|
+
case 33:
|
|
207
260
|
// reauthenticate
|
|
208
261
|
_a.sent();
|
|
209
262
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)
|
|
210
263
|
// may do some stuff in background after returning
|
|
211
264
|
];
|
|
212
|
-
case
|
|
265
|
+
case 34:
|
|
213
266
|
_a.sent();
|
|
214
267
|
// may do some stuff in background after returning
|
|
215
268
|
return [4 /*yield*/, async_test('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
|
|
216
|
-
case
|
|
269
|
+
case 35:
|
|
217
270
|
// may do some stuff in background after returning
|
|
218
271
|
_a.sent();
|
|
219
272
|
return [4 /*yield*/, wait(undefined, 250)];
|
|
220
|
-
case
|
|
273
|
+
case 36:
|
|
221
274
|
_a.sent();
|
|
222
275
|
return [2 /*return*/];
|
|
223
276
|
}
|
|
@@ -412,64 +465,73 @@ var sub_organization_enduser_tests = function () { return __awaiter(void 0, void
|
|
|
412
465
|
return [4 /*yield*/, enduserSDK.register({ email: 'root@tellescope.com', password: password })];
|
|
413
466
|
case 1:
|
|
414
467
|
_d.sent();
|
|
415
|
-
return [4 /*yield*/,
|
|
468
|
+
return [4 /*yield*/, wait(undefined, 1000)]; // avoid rate limiting error
|
|
416
469
|
case 2:
|
|
470
|
+
_d.sent(); // avoid rate limiting error
|
|
471
|
+
return [4 /*yield*/, subEnduserSDK.register({ email: 'sub@tellescope.com', password: password })];
|
|
472
|
+
case 3:
|
|
417
473
|
_d.sent();
|
|
474
|
+
return [4 /*yield*/, wait(undefined, 1000)]; // avoid rate limiting error
|
|
475
|
+
case 4:
|
|
476
|
+
_d.sent(); // avoid rate limiting error
|
|
418
477
|
return [4 /*yield*/, enduserSDK.authenticate('root@tellescope.com', password)];
|
|
419
|
-
case
|
|
478
|
+
case 5:
|
|
420
479
|
_d.sent();
|
|
480
|
+
return [4 /*yield*/, wait(undefined, 1000)]; // avoid rate limiting error
|
|
481
|
+
case 6:
|
|
482
|
+
_d.sent(); // avoid rate limiting error
|
|
421
483
|
return [4 /*yield*/, subEnduserSDK.authenticate('sub@tellescope.com', password)];
|
|
422
|
-
case
|
|
484
|
+
case 7:
|
|
423
485
|
_d.sent();
|
|
424
486
|
assert(!((_a = enduserSDK.userInfo.organizationIds) === null || _a === void 0 ? void 0 : _a.length), 'bad root organizationIds', 'root auth org ids');
|
|
425
487
|
assert(((_b = subEnduserSDK.userInfo.organizationIds) === null || _b === void 0 ? void 0 : _b.length) === 1, 'bad sub organizationIds', 'sub auth org ids');
|
|
426
488
|
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root', enduserId: enduserSDK.userInfo.id })];
|
|
427
|
-
case
|
|
489
|
+
case 8:
|
|
428
490
|
rootTicket = _d.sent();
|
|
429
491
|
return [4 /*yield*/, async_test("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
430
|
-
case
|
|
492
|
+
case 9:
|
|
431
493
|
_d.sent();
|
|
432
494
|
return [4 /*yield*/, async_test("sub get root error", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, handleAnyError)];
|
|
433
|
-
case
|
|
495
|
+
case 10:
|
|
434
496
|
_d.sent();
|
|
435
497
|
return [4 /*yield*/, async_test("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
436
|
-
case
|
|
498
|
+
case 11:
|
|
437
499
|
_d.sent();
|
|
438
500
|
return [4 /*yield*/, async_test("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
439
|
-
case
|
|
501
|
+
case 12:
|
|
440
502
|
_d.sent();
|
|
441
503
|
return [4 /*yield*/, async_test("root get root ticket", function () { return sdk.api.tickets.getOne(rootTicket.id); }, passOnAnyResult)];
|
|
442
|
-
case
|
|
504
|
+
case 13:
|
|
443
505
|
_d.sent();
|
|
444
506
|
return [4 /*yield*/, async_test("sub get root ticket error", function () { return sdkSub.api.tickets.getOne(rootTicket.id); }, handleAnyError)];
|
|
445
|
-
case
|
|
507
|
+
case 14:
|
|
446
508
|
_d.sent();
|
|
447
509
|
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserSDK.userInfo.id, { sharedWithOrganizations: [(_c = sdkSub.userInfo.organizationIds) !== null && _c !== void 0 ? _c : []] })];
|
|
448
|
-
case
|
|
510
|
+
case 15:
|
|
449
511
|
_d.sent();
|
|
450
512
|
return [4 /*yield*/, enduserSDK.refresh_session()]; // ensure updated session includes new sharedWithOrganizations
|
|
451
|
-
case
|
|
513
|
+
case 16:
|
|
452
514
|
_d.sent(); // ensure updated session includes new sharedWithOrganizations
|
|
453
515
|
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root with shared', enduserId: enduserSDK.userInfo.id })];
|
|
454
|
-
case
|
|
516
|
+
case 17:
|
|
455
517
|
rootTicketAfterUpdate = _d.sent();
|
|
456
518
|
return [4 /*yield*/, async_test("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
457
|
-
case
|
|
519
|
+
case 18:
|
|
458
520
|
_d.sent();
|
|
459
521
|
return [4 /*yield*/, async_test("sub get root after update", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
460
|
-
case
|
|
522
|
+
case 19:
|
|
461
523
|
_d.sent();
|
|
462
524
|
return [4 /*yield*/, async_test("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
463
|
-
case
|
|
525
|
+
case 20:
|
|
464
526
|
_d.sent();
|
|
465
527
|
return [4 /*yield*/, async_test("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
466
|
-
case
|
|
528
|
+
case 21:
|
|
467
529
|
_d.sent();
|
|
468
530
|
return [4 /*yield*/, async_test("root get root ticket after update", function () { return sdk.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
469
|
-
case
|
|
531
|
+
case 22:
|
|
470
532
|
_d.sent();
|
|
471
533
|
return [4 /*yield*/, async_test("sub get root ticket after update", function () { return sdkSub.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
472
|
-
case
|
|
534
|
+
case 23:
|
|
473
535
|
_d.sent();
|
|
474
536
|
return [4 /*yield*/, Promise.all([
|
|
475
537
|
sdk.api.endusers.deleteOne(enduserSDK.userInfo.id),
|
|
@@ -477,7 +539,7 @@ var sub_organization_enduser_tests = function () { return __awaiter(void 0, void
|
|
|
477
539
|
sdk.api.tickets.deleteOne(rootTicket.id),
|
|
478
540
|
sdk.api.tickets.deleteOne(rootTicketAfterUpdate.id),
|
|
479
541
|
])];
|
|
480
|
-
case
|
|
542
|
+
case 24:
|
|
481
543
|
_d.sent();
|
|
482
544
|
return [2 /*return*/];
|
|
483
545
|
}
|
|
@@ -3998,23 +4060,35 @@ var search_tests = function () { return __awaiter(void 0, void 0, void 0, functi
|
|
|
3998
4060
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'e2_search@tellescope.com', fname: 'sebastian', lname: "coates" })];
|
|
3999
4061
|
case 3:
|
|
4000
4062
|
e2 = _a.sent();
|
|
4001
|
-
return [4 /*yield*/, async_test("Search
|
|
4063
|
+
return [4 /*yield*/, async_test("Search error message", function () { return sdk.api.endusers.getSome({ search: "alert(1)" }); }, {
|
|
4064
|
+
shouldError: true,
|
|
4065
|
+
onError: function (e) { return !e.message.includes('script') && e.message.startsWith("Error parsing field search: Expecting an object but got alert(1)"); }
|
|
4066
|
+
})];
|
|
4002
4067
|
case 4:
|
|
4003
4068
|
_a.sent();
|
|
4004
|
-
return [4 /*yield*/, async_test("Search
|
|
4069
|
+
return [4 /*yield*/, async_test("Search error does not return script tags ", function () { return sdk.api.endusers.getSome({ search: "<script>alert(1)</script>" }); }, {
|
|
4070
|
+
shouldError: true,
|
|
4071
|
+
onError: function (e) { return !e.message.includes('script') && e.message.startsWith("Error parsing field search: Expecting an object but got"); }
|
|
4072
|
+
})];
|
|
4005
4073
|
case 5:
|
|
4006
4074
|
_a.sent();
|
|
4007
|
-
return [4 /*yield*/, async_test("Search
|
|
4075
|
+
return [4 /*yield*/, 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; } })];
|
|
4008
4076
|
case 6:
|
|
4009
4077
|
_a.sent();
|
|
4010
|
-
return [4 /*yield*/, async_test("Search
|
|
4078
|
+
return [4 /*yield*/, 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; } })];
|
|
4011
4079
|
case 7:
|
|
4080
|
+
_a.sent();
|
|
4081
|
+
return [4 /*yield*/, 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; } })];
|
|
4082
|
+
case 8:
|
|
4083
|
+
_a.sent();
|
|
4084
|
+
return [4 /*yield*/, async_test("Search by email", function () { return sdk.api.endusers.getSome({ search: { query: 'search@tellescope' } }); }, { onResult: function (es) { return es.length === 2; } })];
|
|
4085
|
+
case 9:
|
|
4012
4086
|
_a.sent();
|
|
4013
4087
|
return [4 /*yield*/, Promise.all([
|
|
4014
4088
|
sdk.api.endusers.deleteOne(e1.id),
|
|
4015
4089
|
sdk.api.endusers.deleteOne(e2.id),
|
|
4016
4090
|
])];
|
|
4017
|
-
case
|
|
4091
|
+
case 10:
|
|
4018
4092
|
_a.sent();
|
|
4019
4093
|
return [2 /*return*/];
|
|
4020
4094
|
}
|
|
@@ -6994,6 +7068,7 @@ var validate_schema = function () {
|
|
|
6994
7068
|
endpoints.add(path);
|
|
6995
7069
|
}
|
|
6996
7070
|
}
|
|
7071
|
+
console.log("Schema validated");
|
|
6997
7072
|
};
|
|
6998
7073
|
var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
6999
7074
|
var testUsers, userIds, testAssignments, run_assignment_simulation;
|
|
@@ -7613,7 +7688,7 @@ export var ticket_reminder_tests = function () { return __awaiter(void 0, void 0
|
|
|
7613
7688
|
return (((_b = (_a = t.reminders) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.didRemind) === true
|
|
7614
7689
|
&& t.nextReminderInMS !== -1
|
|
7615
7690
|
&& ((_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);
|
|
7616
|
-
},
|
|
7691
|
+
}, 10, 500); }, passOnAnyResult)];
|
|
7617
7692
|
case 13:
|
|
7618
7693
|
_a.sent();
|
|
7619
7694
|
return [4 /*yield*/, async_test("Delayed reminder not processed yet", function () { return sdk.api.tickets.getOne(tToRemind.id); }, {
|
|
@@ -7870,6 +7945,304 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7870
7945
|
}
|
|
7871
7946
|
});
|
|
7872
7947
|
}); };
|
|
7948
|
+
var sync_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7949
|
+
var from, e, t, e2;
|
|
7950
|
+
return __generator(this, function (_a) {
|
|
7951
|
+
switch (_a.label) {
|
|
7952
|
+
case 0:
|
|
7953
|
+
log_header("Data Sync");
|
|
7954
|
+
from = new Date();
|
|
7955
|
+
return [4 /*yield*/, async_test("No new records, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
7956
|
+
var results = _a.results;
|
|
7957
|
+
return results.length === 0;
|
|
7958
|
+
} })];
|
|
7959
|
+
case 1:
|
|
7960
|
+
_a.sent();
|
|
7961
|
+
return [4 /*yield*/, async_test("No new records, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
7962
|
+
var results = _a.results;
|
|
7963
|
+
return results.length === 0;
|
|
7964
|
+
} })];
|
|
7965
|
+
case 2:
|
|
7966
|
+
_a.sent();
|
|
7967
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({})];
|
|
7968
|
+
case 3:
|
|
7969
|
+
e = _a.sent();
|
|
7970
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
7971
|
+
case 4:
|
|
7972
|
+
_a.sent();
|
|
7973
|
+
return [4 /*yield*/, async_test("Enduser create, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
7974
|
+
var results = _a.results;
|
|
7975
|
+
return (results.length === 1
|
|
7976
|
+
&& results[0].modelName === 'endusers'
|
|
7977
|
+
&& results[0].recordId === e.id
|
|
7978
|
+
&& results[0].data.includes(e.id)
|
|
7979
|
+
&& JSON.parse(results[0].data) // tests no error throwing
|
|
7980
|
+
);
|
|
7981
|
+
} })];
|
|
7982
|
+
case 5:
|
|
7983
|
+
_a.sent();
|
|
7984
|
+
return [4 /*yield*/, async_test("Enduser create, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
7985
|
+
var results = _a.results;
|
|
7986
|
+
return results.length === 0;
|
|
7987
|
+
} })];
|
|
7988
|
+
case 6:
|
|
7989
|
+
_a.sent();
|
|
7990
|
+
return [4 /*yield*/, async_test("Enduser create, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
7991
|
+
var results = _a.results;
|
|
7992
|
+
return results.length === 0;
|
|
7993
|
+
} })];
|
|
7994
|
+
case 7:
|
|
7995
|
+
_a.sent();
|
|
7996
|
+
return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
7997
|
+
var results = _a.results;
|
|
7998
|
+
return results.length === 0;
|
|
7999
|
+
} })];
|
|
8000
|
+
case 8:
|
|
8001
|
+
_a.sent();
|
|
8002
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { fname: "UPDATE_TEST" })];
|
|
8003
|
+
case 9:
|
|
8004
|
+
_a.sent();
|
|
8005
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8006
|
+
case 10:
|
|
8007
|
+
_a.sent();
|
|
8008
|
+
return [4 /*yield*/, async_test("Enduser update, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8009
|
+
var results = _a.results;
|
|
8010
|
+
return (results.length === 1
|
|
8011
|
+
&& results[0].modelName === 'endusers'
|
|
8012
|
+
&& results[0].recordId === e.id
|
|
8013
|
+
&& results[0].data.includes("UPDATE_TEST"));
|
|
8014
|
+
} })];
|
|
8015
|
+
case 11:
|
|
8016
|
+
_a.sent();
|
|
8017
|
+
return [4 /*yield*/, async_test("Enduser update, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8018
|
+
var results = _a.results;
|
|
8019
|
+
return results.length === 0;
|
|
8020
|
+
} })];
|
|
8021
|
+
case 12:
|
|
8022
|
+
_a.sent();
|
|
8023
|
+
return [4 /*yield*/, async_test("Enduser update, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8024
|
+
var results = _a.results;
|
|
8025
|
+
return results.length === 0;
|
|
8026
|
+
} })];
|
|
8027
|
+
case 13:
|
|
8028
|
+
_a.sent();
|
|
8029
|
+
return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8030
|
+
var results = _a.results;
|
|
8031
|
+
return results.length === 0;
|
|
8032
|
+
} })];
|
|
8033
|
+
case 14:
|
|
8034
|
+
_a.sent();
|
|
8035
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'access test' })];
|
|
8036
|
+
case 15:
|
|
8037
|
+
t = _a.sent();
|
|
8038
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8039
|
+
case 16:
|
|
8040
|
+
_a.sent();
|
|
8041
|
+
return [4 /*yield*/, async_test("Non-admin can't access ticket", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8042
|
+
var results = _a.results;
|
|
8043
|
+
return results.length === 0;
|
|
8044
|
+
} })
|
|
8045
|
+
// creates a user notification which increments count/index
|
|
8046
|
+
];
|
|
8047
|
+
case 17:
|
|
8048
|
+
_a.sent();
|
|
8049
|
+
// creates a user notification which increments count/index
|
|
8050
|
+
sdk.api.tickets.updateOne(t.id, { owner: sdkNonAdmin.userInfo.id });
|
|
8051
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8052
|
+
case 18:
|
|
8053
|
+
_a.sent();
|
|
8054
|
+
return [4 /*yield*/, async_test("Non-admin can access tickets on assignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8055
|
+
var results = _a.results;
|
|
8056
|
+
return results.length === 2;
|
|
8057
|
+
} })];
|
|
8058
|
+
case 19:
|
|
8059
|
+
_a.sent();
|
|
8060
|
+
sdk.api.tickets.updateOne(t.id, { owner: '' });
|
|
8061
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8062
|
+
case 20:
|
|
8063
|
+
_a.sent();
|
|
8064
|
+
return [4 /*yield*/, async_test("Non-admin can't access tickets on unassignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8065
|
+
var results = _a.results;
|
|
8066
|
+
return results.length === 1;
|
|
8067
|
+
} })];
|
|
8068
|
+
case 21:
|
|
8069
|
+
_a.sent();
|
|
8070
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [sdkNonAdmin.userInfo.id] }, { replaceObjectFields: true })];
|
|
8071
|
+
case 22:
|
|
8072
|
+
_a.sent();
|
|
8073
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8074
|
+
case 23:
|
|
8075
|
+
_a.sent();
|
|
8076
|
+
return [4 /*yield*/, async_test("Enduser update non-admin assignment, can access", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8077
|
+
var results = _a.results;
|
|
8078
|
+
return results.length === 2;
|
|
8079
|
+
} })];
|
|
8080
|
+
case 24:
|
|
8081
|
+
_a.sent();
|
|
8082
|
+
sdk.api.tickets.updateOne(t.id, { owner: '', enduserId: e.id });
|
|
8083
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8084
|
+
case 25:
|
|
8085
|
+
_a.sent();
|
|
8086
|
+
return [4 /*yield*/, async_test("Non-admin can access ticket (and enduser) after enduser assignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8087
|
+
var results = _a.results;
|
|
8088
|
+
return results.length === 3;
|
|
8089
|
+
} })];
|
|
8090
|
+
case 26:
|
|
8091
|
+
_a.sent();
|
|
8092
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [] }, { replaceObjectFields: true })];
|
|
8093
|
+
case 27:
|
|
8094
|
+
_a.sent();
|
|
8095
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8096
|
+
case 28:
|
|
8097
|
+
_a.sent();
|
|
8098
|
+
return [4 /*yield*/, async_test("Enduser update non-admin assignment, revoked access to enduser and ticket", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8099
|
+
var results = _a.results;
|
|
8100
|
+
return results.length === 1;
|
|
8101
|
+
} })
|
|
8102
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8103
|
+
];
|
|
8104
|
+
case 29:
|
|
8105
|
+
_a.sent();
|
|
8106
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8107
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(e.id)];
|
|
8108
|
+
case 30:
|
|
8109
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8110
|
+
_a.sent();
|
|
8111
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8112
|
+
case 31:
|
|
8113
|
+
_a.sent();
|
|
8114
|
+
return [4 /*yield*/, async_test("Enduser delete, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8115
|
+
var results = _a.results;
|
|
8116
|
+
return (results.length === 3
|
|
8117
|
+
&& results[0].modelName === 'endusers'
|
|
8118
|
+
&& results[0].recordId === e.id
|
|
8119
|
+
&& results[0].data === 'deleted');
|
|
8120
|
+
} })];
|
|
8121
|
+
case 32:
|
|
8122
|
+
_a.sent();
|
|
8123
|
+
return [4 /*yield*/, async_test("Enduser delete, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8124
|
+
var results = _a.results;
|
|
8125
|
+
return results.length === 1;
|
|
8126
|
+
} })];
|
|
8127
|
+
case 33:
|
|
8128
|
+
_a.sent();
|
|
8129
|
+
return [4 /*yield*/, async_test("Enduser delete, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8130
|
+
var results = _a.results;
|
|
8131
|
+
return results.length === 0;
|
|
8132
|
+
} })];
|
|
8133
|
+
case 34:
|
|
8134
|
+
_a.sent();
|
|
8135
|
+
return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8136
|
+
var results = _a.results;
|
|
8137
|
+
return results.length === 0;
|
|
8138
|
+
} })
|
|
8139
|
+
// bulk create test coverage
|
|
8140
|
+
];
|
|
8141
|
+
case 35:
|
|
8142
|
+
_a.sent();
|
|
8143
|
+
return [4 /*yield*/, sdk.api.endusers.createSome([{}])];
|
|
8144
|
+
case 36:
|
|
8145
|
+
e2 = (_a.sent()).created[0];
|
|
8146
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8147
|
+
case 37:
|
|
8148
|
+
_a.sent();
|
|
8149
|
+
return [4 /*yield*/, async_test("Bulk Enduser create, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8150
|
+
var results = _a.results;
|
|
8151
|
+
return (results.length === 4
|
|
8152
|
+
&& results[0].modelName === 'endusers'
|
|
8153
|
+
&& results[0].recordId === e2.id
|
|
8154
|
+
&& results[0].data.includes(e2.id)
|
|
8155
|
+
&& JSON.parse(results[0].data) // tests no error throwing
|
|
8156
|
+
);
|
|
8157
|
+
} })];
|
|
8158
|
+
case 38:
|
|
8159
|
+
_a.sent();
|
|
8160
|
+
return [4 /*yield*/, async_test("Bulk Enduser create, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8161
|
+
var results = _a.results;
|
|
8162
|
+
return results.length === 1;
|
|
8163
|
+
} })];
|
|
8164
|
+
case 39:
|
|
8165
|
+
_a.sent();
|
|
8166
|
+
return [4 /*yield*/, async_test("Bulk Enduser create, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8167
|
+
var results = _a.results;
|
|
8168
|
+
return results.length === 0;
|
|
8169
|
+
} })];
|
|
8170
|
+
case 40:
|
|
8171
|
+
_a.sent();
|
|
8172
|
+
return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8173
|
+
var results = _a.results;
|
|
8174
|
+
return results.length === 0;
|
|
8175
|
+
} })];
|
|
8176
|
+
case 41:
|
|
8177
|
+
_a.sent();
|
|
8178
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(e2.id)];
|
|
8179
|
+
case 42:
|
|
8180
|
+
_a.sent();
|
|
8181
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8182
|
+
case 43:
|
|
8183
|
+
_a.sent();
|
|
8184
|
+
return [4 /*yield*/, async_test("Bulk Enduser delete, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8185
|
+
var results = _a.results;
|
|
8186
|
+
return (results.length === 4
|
|
8187
|
+
&& results[0].modelName === 'endusers'
|
|
8188
|
+
&& results[0].recordId === e2.id
|
|
8189
|
+
&& results[0].data === 'deleted');
|
|
8190
|
+
} })];
|
|
8191
|
+
case 44:
|
|
8192
|
+
_a.sent();
|
|
8193
|
+
return [4 /*yield*/, async_test("Bulk Enduser delete, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8194
|
+
var results = _a.results;
|
|
8195
|
+
return results.length === 1;
|
|
8196
|
+
} })];
|
|
8197
|
+
case 45:
|
|
8198
|
+
_a.sent();
|
|
8199
|
+
return [4 /*yield*/, async_test("Bulk Enduser delete, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8200
|
+
var results = _a.results;
|
|
8201
|
+
return results.length === 0;
|
|
8202
|
+
} })];
|
|
8203
|
+
case 46:
|
|
8204
|
+
_a.sent();
|
|
8205
|
+
return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
|
|
8206
|
+
var results = _a.results;
|
|
8207
|
+
return results.length === 0;
|
|
8208
|
+
} })];
|
|
8209
|
+
case 47:
|
|
8210
|
+
_a.sent();
|
|
8211
|
+
return [2 /*return*/];
|
|
8212
|
+
}
|
|
8213
|
+
});
|
|
8214
|
+
}); };
|
|
8215
|
+
// to cover potential vulernabilities with enduser public register endpoint
|
|
8216
|
+
var register_as_enduser_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
8217
|
+
var enduser;
|
|
8218
|
+
return __generator(this, function (_a) {
|
|
8219
|
+
switch (_a.label) {
|
|
8220
|
+
case 0:
|
|
8221
|
+
log_header("Register as Enduser");
|
|
8222
|
+
return [4 /*yield*/, async_test("Enduser register", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, passOnAnyResult)];
|
|
8223
|
+
case 1:
|
|
8224
|
+
_a.sent();
|
|
8225
|
+
return [4 /*yield*/, 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"; } })];
|
|
8226
|
+
case 2:
|
|
8227
|
+
_a.sent();
|
|
8228
|
+
return [4 /*yield*/, wait(undefined, 1000)];
|
|
8229
|
+
case 3:
|
|
8230
|
+
_a.sent();
|
|
8231
|
+
return [4 /*yield*/, async_test("Enduser duplicate register (same response, no ability to enumerate contacts)", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, passOnAnyResult)];
|
|
8232
|
+
case 4:
|
|
8233
|
+
_a.sent();
|
|
8234
|
+
return [4 /*yield*/, sdk.api.endusers.getOne({ email: 'test@tellescope.com' })];
|
|
8235
|
+
case 5:
|
|
8236
|
+
enduser = _a.sent();
|
|
8237
|
+
if (!enduser) return [3 /*break*/, 7];
|
|
8238
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
8239
|
+
case 6:
|
|
8240
|
+
_a.sent();
|
|
8241
|
+
_a.label = 7;
|
|
8242
|
+
case 7: return [2 /*return*/];
|
|
8243
|
+
}
|
|
8244
|
+
});
|
|
8245
|
+
}); };
|
|
7873
8246
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7874
8247
|
var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _f, _g, _h, err_2;
|
|
7875
8248
|
var _j, _k;
|
|
@@ -7882,7 +8255,7 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7882
8255
|
_l.sent();
|
|
7883
8256
|
_l.label = 2;
|
|
7884
8257
|
case 2:
|
|
7885
|
-
_l.trys.push([2,
|
|
8258
|
+
_l.trys.push([2, 49, , 50]);
|
|
7886
8259
|
form_conditional_logic_tests();
|
|
7887
8260
|
return [4 /*yield*/, test_weighted_round_robin()];
|
|
7888
8261
|
case 3:
|
|
@@ -7896,11 +8269,10 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7896
8269
|
sdkOtherSub.authenticate(otherSubUserEmail, password),
|
|
7897
8270
|
sdkSubSub.authenticate(subSubUserEmail, password),
|
|
7898
8271
|
sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
|
|
7899
|
-
])
|
|
7900
|
-
// console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
|
|
7901
|
-
];
|
|
8272
|
+
])];
|
|
7902
8273
|
case 5:
|
|
7903
8274
|
_l.sent();
|
|
8275
|
+
console.log("Authentication done");
|
|
7904
8276
|
// console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
|
|
7905
8277
|
return [4 /*yield*/, async_test("count exists",
|
|
7906
8278
|
// @ts-ignore
|
|
@@ -7920,120 +8292,126 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7920
8292
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
7921
8293
|
case 10:
|
|
7922
8294
|
_l.sent(); // should come right after setup tests
|
|
7923
|
-
return [4 /*yield*/,
|
|
8295
|
+
return [4 /*yield*/, register_as_enduser_tests()];
|
|
7924
8296
|
case 11:
|
|
7925
8297
|
_l.sent();
|
|
7926
|
-
return [4 /*yield*/,
|
|
8298
|
+
return [4 /*yield*/, sync_tests()];
|
|
7927
8299
|
case 12:
|
|
8300
|
+
_l.sent();
|
|
8301
|
+
return [4 /*yield*/, lockout_tests()];
|
|
8302
|
+
case 13:
|
|
8303
|
+
_l.sent();
|
|
8304
|
+
return [4 /*yield*/, self_serve_appointment_booking_tests()];
|
|
8305
|
+
case 14:
|
|
7928
8306
|
_l.sent();
|
|
7929
8307
|
return [4 /*yield*/, delete_user_tests()
|
|
7930
8308
|
// await test_send_with_template()
|
|
7931
8309
|
];
|
|
7932
|
-
case
|
|
8310
|
+
case 15:
|
|
7933
8311
|
_l.sent();
|
|
7934
8312
|
// await test_send_with_template()
|
|
7935
8313
|
return [4 /*yield*/, bulk_read_tests()];
|
|
7936
|
-
case
|
|
8314
|
+
case 16:
|
|
7937
8315
|
// await test_send_with_template()
|
|
7938
8316
|
_l.sent();
|
|
7939
8317
|
return [4 /*yield*/, ticket_reminder_tests()];
|
|
7940
|
-
case
|
|
8318
|
+
case 17:
|
|
7941
8319
|
_l.sent();
|
|
7942
8320
|
return [4 /*yield*/, enduser_access_tags_tests()];
|
|
7943
|
-
case
|
|
8321
|
+
case 18:
|
|
7944
8322
|
_l.sent();
|
|
7945
8323
|
return [4 /*yield*/, marketing_email_unsubscribe_tests()];
|
|
7946
|
-
case
|
|
8324
|
+
case 19:
|
|
7947
8325
|
_l.sent();
|
|
7948
8326
|
return [4 /*yield*/, unique_strings_tests()];
|
|
7949
|
-
case
|
|
8327
|
+
case 20:
|
|
7950
8328
|
_l.sent();
|
|
7951
8329
|
return [4 /*yield*/, alternate_phones_tests()];
|
|
7952
|
-
case
|
|
8330
|
+
case 21:
|
|
7953
8331
|
_l.sent();
|
|
7954
8332
|
return [4 /*yield*/, ticket_queue_tests()];
|
|
7955
|
-
case
|
|
8333
|
+
case 22:
|
|
7956
8334
|
_l.sent();
|
|
7957
8335
|
return [4 /*yield*/, no_chained_triggers_tests()];
|
|
7958
|
-
case
|
|
8336
|
+
case 23:
|
|
7959
8337
|
_l.sent();
|
|
7960
8338
|
return [4 /*yield*/, field_equals_trigger_tests()];
|
|
7961
|
-
case
|
|
8339
|
+
case 24:
|
|
7962
8340
|
_l.sent();
|
|
7963
8341
|
return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
|
|
7964
|
-
case
|
|
8342
|
+
case 25:
|
|
7965
8343
|
_l.sent();
|
|
7966
8344
|
return [4 /*yield*/, role_based_access_tests()];
|
|
7967
|
-
case
|
|
8345
|
+
case 26:
|
|
7968
8346
|
_l.sent();
|
|
7969
8347
|
return [4 /*yield*/, automation_trigger_tests()];
|
|
7970
|
-
case
|
|
8348
|
+
case 27:
|
|
7971
8349
|
_l.sent();
|
|
7972
8350
|
return [4 /*yield*/, enduser_session_tests()];
|
|
7973
|
-
case
|
|
8351
|
+
case 28:
|
|
7974
8352
|
_l.sent();
|
|
7975
8353
|
return [4 /*yield*/, nextReminderInMS_tests()];
|
|
7976
|
-
case
|
|
8354
|
+
case 29:
|
|
7977
8355
|
_l.sent();
|
|
7978
8356
|
return [4 /*yield*/, search_tests()];
|
|
7979
|
-
case
|
|
8357
|
+
case 30:
|
|
7980
8358
|
_l.sent();
|
|
7981
8359
|
return [4 /*yield*/, wait_for_trigger_tests()];
|
|
7982
|
-
case
|
|
8360
|
+
case 31:
|
|
7983
8361
|
_l.sent();
|
|
7984
8362
|
return [4 /*yield*/, pdf_generation()];
|
|
7985
|
-
case
|
|
8363
|
+
case 32:
|
|
7986
8364
|
_l.sent();
|
|
7987
8365
|
return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
|
|
7988
|
-
case
|
|
8366
|
+
case 33:
|
|
7989
8367
|
_l.sent();
|
|
7990
8368
|
return [4 /*yield*/, rate_limit_tests()];
|
|
7991
|
-
case
|
|
8369
|
+
case 34:
|
|
7992
8370
|
_l.sent();
|
|
7993
8371
|
return [4 /*yield*/, merge_enduser_tests()];
|
|
7994
|
-
case
|
|
8372
|
+
case 35:
|
|
7995
8373
|
_l.sent();
|
|
7996
8374
|
return [4 /*yield*/, auto_reply_tests()];
|
|
7997
|
-
case
|
|
8375
|
+
case 36:
|
|
7998
8376
|
_l.sent();
|
|
7999
8377
|
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
8000
|
-
case
|
|
8378
|
+
case 37:
|
|
8001
8379
|
_l.sent();
|
|
8002
8380
|
return [4 /*yield*/, sub_organization_tests()];
|
|
8003
|
-
case
|
|
8381
|
+
case 38:
|
|
8004
8382
|
_l.sent();
|
|
8005
8383
|
return [4 /*yield*/, filter_by_date_tests()];
|
|
8006
|
-
case
|
|
8384
|
+
case 39:
|
|
8007
8385
|
_l.sent();
|
|
8008
8386
|
return [4 /*yield*/, generate_user_auth_tests()];
|
|
8009
|
-
case
|
|
8387
|
+
case 40:
|
|
8010
8388
|
_l.sent();
|
|
8011
8389
|
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
8012
|
-
case
|
|
8390
|
+
case 41:
|
|
8013
8391
|
_l.sent();
|
|
8014
8392
|
return [4 /*yield*/, public_form_tests()];
|
|
8015
|
-
case
|
|
8393
|
+
case 42:
|
|
8016
8394
|
_l.sent();
|
|
8017
8395
|
return [4 /*yield*/, badInputTests()];
|
|
8018
|
-
case
|
|
8396
|
+
case 43:
|
|
8019
8397
|
_l.sent();
|
|
8020
8398
|
return [4 /*yield*/, filterTests()];
|
|
8021
|
-
case
|
|
8399
|
+
case 44:
|
|
8022
8400
|
_l.sent();
|
|
8023
8401
|
return [4 /*yield*/, updatesTests()];
|
|
8024
|
-
case
|
|
8402
|
+
case 45:
|
|
8025
8403
|
_l.sent();
|
|
8026
8404
|
return [4 /*yield*/, threadKeyTests()];
|
|
8027
|
-
case
|
|
8405
|
+
case 46:
|
|
8028
8406
|
_l.sent();
|
|
8029
8407
|
return [4 /*yield*/, enduserAccessTests()];
|
|
8030
|
-
case
|
|
8408
|
+
case 47:
|
|
8031
8409
|
_l.sent();
|
|
8032
8410
|
return [4 /*yield*/, enduser_redaction_tests()];
|
|
8033
|
-
case
|
|
8411
|
+
case 48:
|
|
8034
8412
|
_l.sent();
|
|
8035
|
-
return [3 /*break*/,
|
|
8036
|
-
case
|
|
8413
|
+
return [3 /*break*/, 50];
|
|
8414
|
+
case 49:
|
|
8037
8415
|
err_1 = _l.sent();
|
|
8038
8416
|
console.error("Failed during custom test");
|
|
8039
8417
|
if (err_1.message && err_1.info) {
|
|
@@ -8043,18 +8421,18 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
8043
8421
|
console.error(err_1);
|
|
8044
8422
|
}
|
|
8045
8423
|
process.exit(1);
|
|
8046
|
-
return [3 /*break*/,
|
|
8047
|
-
case
|
|
8424
|
+
return [3 /*break*/, 50];
|
|
8425
|
+
case 50:
|
|
8048
8426
|
_a = schema;
|
|
8049
8427
|
_b = [];
|
|
8050
8428
|
for (_c in _a)
|
|
8051
8429
|
_b.push(_c);
|
|
8052
8430
|
_i = 0;
|
|
8053
|
-
_l.label =
|
|
8054
|
-
case
|
|
8055
|
-
if (!(_i < _b.length)) return [3 /*break*/,
|
|
8431
|
+
_l.label = 51;
|
|
8432
|
+
case 51:
|
|
8433
|
+
if (!(_i < _b.length)) return [3 /*break*/, 54];
|
|
8056
8434
|
_c = _b[_i];
|
|
8057
|
-
if (!(_c in _a)) return [3 /*break*/,
|
|
8435
|
+
if (!(_c in _a)) return [3 /*break*/, 53];
|
|
8058
8436
|
n = _c;
|
|
8059
8437
|
returnValidation = (_k = (_j = schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
|
|
8060
8438
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -8065,41 +8443,41 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
8065
8443
|
create: returnValidation // ModelFields<ClientModel>,
|
|
8066
8444
|
}
|
|
8067
8445
|
})];
|
|
8068
|
-
case
|
|
8446
|
+
case 52:
|
|
8069
8447
|
_l.sent();
|
|
8070
|
-
_l.label =
|
|
8071
|
-
case
|
|
8448
|
+
_l.label = 53;
|
|
8449
|
+
case 53:
|
|
8072
8450
|
_i++;
|
|
8073
|
-
return [3 /*break*/,
|
|
8074
|
-
case
|
|
8451
|
+
return [3 /*break*/, 51];
|
|
8452
|
+
case 54:
|
|
8075
8453
|
_d = tests;
|
|
8076
8454
|
_f = [];
|
|
8077
8455
|
for (_g in _d)
|
|
8078
8456
|
_f.push(_g);
|
|
8079
8457
|
_h = 0;
|
|
8080
|
-
_l.label =
|
|
8081
|
-
case
|
|
8082
|
-
if (!(_h < _f.length)) return [3 /*break*/,
|
|
8458
|
+
_l.label = 55;
|
|
8459
|
+
case 55:
|
|
8460
|
+
if (!(_h < _f.length)) return [3 /*break*/, 60];
|
|
8083
8461
|
_g = _f[_h];
|
|
8084
|
-
if (!(_g in _d)) return [3 /*break*/,
|
|
8462
|
+
if (!(_g in _d)) return [3 /*break*/, 59];
|
|
8085
8463
|
t = _g;
|
|
8086
|
-
_l.label =
|
|
8087
|
-
case
|
|
8088
|
-
_l.trys.push([
|
|
8464
|
+
_l.label = 56;
|
|
8465
|
+
case 56:
|
|
8466
|
+
_l.trys.push([56, 58, , 59]);
|
|
8089
8467
|
return [4 /*yield*/, tests[t]()];
|
|
8090
|
-
case
|
|
8468
|
+
case 57:
|
|
8091
8469
|
_l.sent();
|
|
8092
|
-
return [3 /*break*/,
|
|
8093
|
-
case
|
|
8470
|
+
return [3 /*break*/, 59];
|
|
8471
|
+
case 58:
|
|
8094
8472
|
err_2 = _l.sent();
|
|
8095
8473
|
console.error("Error running test:");
|
|
8096
8474
|
console.error(err_2);
|
|
8097
8475
|
process.exit(1);
|
|
8098
|
-
return [3 /*break*/,
|
|
8099
|
-
case
|
|
8476
|
+
return [3 /*break*/, 59];
|
|
8477
|
+
case 59:
|
|
8100
8478
|
_h++;
|
|
8101
|
-
return [3 /*break*/,
|
|
8102
|
-
case
|
|
8479
|
+
return [3 /*break*/, 55];
|
|
8480
|
+
case 60:
|
|
8103
8481
|
process.exit();
|
|
8104
8482
|
return [2 /*return*/];
|
|
8105
8483
|
}
|