@tellescope/sdk 1.4.28 → 1.4.31
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/.env +3 -0
- package/lib/cjs/enduser.d.ts +6 -3
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/enduser.js +4 -4
- package/lib/cjs/enduser.js.map +1 -1
- package/lib/cjs/sdk.d.ts +16 -7
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +3 -4
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/session.d.ts +3 -0
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/session.js +7 -4
- package/lib/cjs/session.js.map +1 -1
- package/lib/cjs/tests/socket_tests.d.ts.map +1 -1
- package/lib/cjs/tests/socket_tests.js +105 -66
- package/lib/cjs/tests/socket_tests.js.map +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +253 -45
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +6 -2
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/enduser.js +4 -4
- package/lib/esm/enduser.js.map +1 -1
- package/lib/esm/sdk.d.ts +14 -4
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +3 -4
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/session.d.ts +4 -0
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/session.js +7 -4
- package/lib/esm/session.js.map +1 -1
- package/lib/esm/tests/socket_tests.d.ts.map +1 -1
- package/lib/esm/tests/socket_tests.js +105 -66
- package/lib/esm/tests/socket_tests.js.map +1 -1
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +253 -45
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/enduser.ts +12 -9
- package/src/sdk.ts +12 -3
- package/src/session.ts +5 -2
- package/src/tests/socket_tests.ts +47 -11
- package/src/tests/tests.ts +151 -2
package/lib/cjs/tests/tests.js
CHANGED
|
@@ -97,6 +97,9 @@ var host = process.env.TEST_URL || 'http://localhost:8080';
|
|
|
97
97
|
var _a = [process.env.TEST_EMAIL, process.env.TEST_PASSWORD], email = _a[0], password = _a[1];
|
|
98
98
|
var _b = [process.env.TEST_EMAIL_2, process.env.TEST_PASSWORD_2], email2 = _b[0], password2 = _b[1];
|
|
99
99
|
var _c = [process.env.NON_ADMIN_EMAIL, process.env.NON_ADMIN_PASSWORD], nonAdminEmail = _c[0], nonAdminPassword = _c[1];
|
|
100
|
+
var subUserEmail = process.env.SUB_EMAIL;
|
|
101
|
+
var otherSubUserEmail = process.env.OTHER_SUB_EMAIL;
|
|
102
|
+
var subSubUserEmail = process.env.SUB_SUB_EMAIL;
|
|
100
103
|
var userId = '60398b0231a295e64f084fd9';
|
|
101
104
|
var businessId = '60398b1131a295e64f084ff6';
|
|
102
105
|
// const example_SDK_usage = async () => {
|
|
@@ -114,12 +117,16 @@ var businessId = '60398b1131a295e64f084ff6';
|
|
|
114
117
|
// await sdk.api.endusers.deleteOne(enduser.id)
|
|
115
118
|
// }
|
|
116
119
|
var sdk = new sdk_1.Session({ host: host });
|
|
120
|
+
var sdkSub = new sdk_1.Session({ host: host });
|
|
121
|
+
var sdkOtherSub = new sdk_1.Session({ host: host });
|
|
122
|
+
var sdkSubSub = new sdk_1.Session({ host: host });
|
|
117
123
|
var sdkOther = new sdk_1.Session({ host: host, apiKey: "ba745e25162bb95a795c5fa1af70df188d93c4d3aac9c48b34a5c8c9dd7b80f7" });
|
|
118
124
|
var sdkNonAdmin = new sdk_1.Session({ host: host });
|
|
119
125
|
var enduserSDK = new sdk_1.EnduserSession({ host: host, businessId: businessId });
|
|
126
|
+
var subEnduserSDK = new sdk_1.EnduserSession({ host: host, businessId: businessId, "organizationIds": ["636d3c230067fc6b4c92c59c"] });
|
|
120
127
|
var enduserSDKDifferentBusinessId = new sdk_1.EnduserSession({ host: host, businessId: '80398b1131a295e64f084ff6' });
|
|
121
128
|
// const sdkOtherEmail = "sebass@tellescope.com"
|
|
122
|
-
if (!(email && password && email2 && password2 && nonAdminEmail && nonAdminPassword)) {
|
|
129
|
+
if (!(email && subUserEmail && otherSubUserEmail && subSubUserEmail && password && email2 && password2 && nonAdminEmail && nonAdminPassword)) {
|
|
123
130
|
console.error("Set TEST_EMAIL and TEST_PASSWORD");
|
|
124
131
|
process.exit();
|
|
125
132
|
}
|
|
@@ -161,8 +168,14 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
161
168
|
_a.sent();
|
|
162
169
|
(0, testing_1.assert)(uInfo.id === sdk.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
|
|
163
170
|
(0, testing_1.assert)(!!originalAuthToken && !!sdk.authToken && sdk.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
|
|
164
|
-
|
|
171
|
+
// reset nonAdmin role to a default non-admin
|
|
172
|
+
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Non-Admin'] }, { replaceObjectFields: true })];
|
|
165
173
|
case 9:
|
|
174
|
+
// reset nonAdmin role to a default non-admin
|
|
175
|
+
_a.sent();
|
|
176
|
+
return [4 /*yield*/, (0, testing_1.async_test)('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
|
|
177
|
+
case 10:
|
|
178
|
+
// reset nonAdmin role to a default non-admin
|
|
166
179
|
_a.sent();
|
|
167
180
|
return [2 /*return*/];
|
|
168
181
|
}
|
|
@@ -231,6 +244,167 @@ var multi_tenant_tests = function () { return __awaiter(void 0, void 0, void 0,
|
|
|
231
244
|
}
|
|
232
245
|
});
|
|
233
246
|
}); };
|
|
247
|
+
var sub_organization_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
248
|
+
var rootEnduser, subEnduser, subSubEnduser;
|
|
249
|
+
return __generator(this, function (_a) {
|
|
250
|
+
switch (_a.label) {
|
|
251
|
+
case 0:
|
|
252
|
+
(0, testing_1.log_header)("Sub Organizations");
|
|
253
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'root@tellescope.com' })];
|
|
254
|
+
case 1:
|
|
255
|
+
rootEnduser = _a.sent();
|
|
256
|
+
return [4 /*yield*/, sdkSub.api.endusers.createOne({ email: 'sub@tellescope.com' })];
|
|
257
|
+
case 2:
|
|
258
|
+
subEnduser = _a.sent();
|
|
259
|
+
return [4 /*yield*/, sdkSubSub.api.endusers.createOne({ email: 'subsub@tellescope.com' })];
|
|
260
|
+
case 3:
|
|
261
|
+
subSubEnduser = _a.sent();
|
|
262
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(rootEnduser.id); }, passOnAnyResult)];
|
|
263
|
+
case 4:
|
|
264
|
+
_a.sent();
|
|
265
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get root error", function () { return sdkSub.api.endusers.getOne(rootEnduser.id); }, handleAnyError)];
|
|
266
|
+
case 5:
|
|
267
|
+
_a.sent();
|
|
268
|
+
return [4 /*yield*/, (0, testing_1.async_test)("other sub get root error", function () { return sdkOtherSub.api.endusers.getOne(rootEnduser.id); }, handleAnyError)];
|
|
269
|
+
case 6:
|
|
270
|
+
_a.sent();
|
|
271
|
+
return [4 /*yield*/, (0, testing_1.async_test)("subsub get root error", function () { return sdkSubSub.api.endusers.getOne(rootEnduser.id); }, handleAnyError)];
|
|
272
|
+
case 7:
|
|
273
|
+
_a.sent();
|
|
274
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduser.id); }, passOnAnyResult)];
|
|
275
|
+
case 8:
|
|
276
|
+
_a.sent();
|
|
277
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduser.id); }, passOnAnyResult)];
|
|
278
|
+
case 9:
|
|
279
|
+
_a.sent();
|
|
280
|
+
return [4 /*yield*/, (0, testing_1.async_test)("other sub get sub error", function () { return sdkOtherSub.api.endusers.getOne(subEnduser.id); }, handleAnyError)];
|
|
281
|
+
case 10:
|
|
282
|
+
_a.sent();
|
|
283
|
+
return [4 /*yield*/, (0, testing_1.async_test)("subsub get sub error", function () { return sdkSubSub.api.endusers.getOne(subEnduser.id); }, handleAnyError)];
|
|
284
|
+
case 11:
|
|
285
|
+
_a.sent();
|
|
286
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get subsub", function () { return sdk.api.endusers.getOne(subSubEnduser.id); }, passOnAnyResult)];
|
|
287
|
+
case 12:
|
|
288
|
+
_a.sent();
|
|
289
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get subsub", function () { return sdkSub.api.endusers.getOne(subSubEnduser.id); }, passOnAnyResult)];
|
|
290
|
+
case 13:
|
|
291
|
+
_a.sent();
|
|
292
|
+
return [4 /*yield*/, (0, testing_1.async_test)("other sub get sub sub error", function () { return sdkOtherSub.api.endusers.getOne(subSubEnduser.id); }, handleAnyError)];
|
|
293
|
+
case 14:
|
|
294
|
+
_a.sent();
|
|
295
|
+
return [4 /*yield*/, (0, testing_1.async_test)("subsub get subsub", function () { return sdkSubSub.api.endusers.getOne(subSubEnduser.id); }, passOnAnyResult)];
|
|
296
|
+
case 15:
|
|
297
|
+
_a.sent();
|
|
298
|
+
return [4 /*yield*/, sdk.api.endusers.set_password({ id: rootEnduser.id, password: password })];
|
|
299
|
+
case 16:
|
|
300
|
+
_a.sent();
|
|
301
|
+
return [4 /*yield*/, enduserSDK.authenticate(rootEnduser.email, password)];
|
|
302
|
+
case 17:
|
|
303
|
+
_a.sent();
|
|
304
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root enduser create", function () { return enduserSDK.api.engagement_events.createOne({ significance: 1, type: 'test', enduserId: rootEnduser.id }); }, { onResult: function (t) { var _a; return t.businessId === rootEnduser.businessId && !((_a = t.organizationIds) === null || _a === void 0 ? void 0 : _a.length); } })];
|
|
305
|
+
case 18:
|
|
306
|
+
_a.sent();
|
|
307
|
+
return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot update organizationIds", function () { return enduserSDK.api.endusers.updateOne(enduserSDK.userInfo.id, { organizationIds: [] }); }, handleAnyError)];
|
|
308
|
+
case 19:
|
|
309
|
+
_a.sent();
|
|
310
|
+
return [4 /*yield*/, (0, testing_1.async_test)("users cannot update organizationIds", function () { return sdk.api.users.updateOne(sdk.userInfo.id, { organizationIds: [] }); }, handleAnyError)];
|
|
311
|
+
case 20:
|
|
312
|
+
_a.sent();
|
|
313
|
+
return [4 /*yield*/, sdk.api.endusers.set_password({ id: subEnduser.id, password: password })];
|
|
314
|
+
case 21:
|
|
315
|
+
_a.sent();
|
|
316
|
+
return [4 /*yield*/, enduserSDK.authenticate(subEnduser.email, password)];
|
|
317
|
+
case 22:
|
|
318
|
+
_a.sent();
|
|
319
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub enduser create", function () { return enduserSDK.api.engagement_events.createOne({ significance: 1, type: 'test', enduserId: subEnduser.id }); }, { onResult: function (t) { var _a; return t.businessId === rootEnduser.businessId && ((_a = t.organizationIds) === null || _a === void 0 ? void 0 : _a.length) === 1; } })];
|
|
320
|
+
case 23:
|
|
321
|
+
_a.sent();
|
|
322
|
+
return [4 /*yield*/, sdk.api.endusers.set_password({ id: subSubEnduser.id, password: password })];
|
|
323
|
+
case 24:
|
|
324
|
+
_a.sent();
|
|
325
|
+
return [4 /*yield*/, enduserSDK.authenticate(subSubEnduser.email, password)];
|
|
326
|
+
case 25:
|
|
327
|
+
_a.sent();
|
|
328
|
+
return [4 /*yield*/, (0, testing_1.async_test)("subSub enduser create", function () { return enduserSDK.api.engagement_events.createOne({ significance: 1, type: 'test', enduserId: subSubEnduser.id }); }, { onResult: function (t) { var _a; return t.businessId === rootEnduser.businessId && ((_a = t.organizationIds) === null || _a === void 0 ? void 0 : _a.length) === 2; } })];
|
|
329
|
+
case 26:
|
|
330
|
+
_a.sent();
|
|
331
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(rootEnduser.id, { organizationIds: subEnduser.organizationIds })];
|
|
332
|
+
case 27:
|
|
333
|
+
_a.sent();
|
|
334
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get sub adjusted", function () { return sdk.api.endusers.getOne(rootEnduser.id); }, passOnAnyResult)];
|
|
335
|
+
case 28:
|
|
336
|
+
_a.sent();
|
|
337
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get sub adjusted", function () { return sdkSub.api.endusers.getOne(rootEnduser.id); }, passOnAnyResult)];
|
|
338
|
+
case 29:
|
|
339
|
+
_a.sent();
|
|
340
|
+
return [4 /*yield*/, (0, testing_1.async_test)("other sub get sub adjusted error", function () { return sdkOtherSub.api.endusers.getOne(rootEnduser.id); }, handleAnyError)];
|
|
341
|
+
case 30:
|
|
342
|
+
_a.sent();
|
|
343
|
+
return [4 /*yield*/, (0, testing_1.async_test)("subsub get sub adjusted error", function () { return sdkSubSub.api.endusers.getOne(rootEnduser.id); }, handleAnyError)];
|
|
344
|
+
case 31:
|
|
345
|
+
_a.sent();
|
|
346
|
+
return [4 /*yield*/, (0, testing_1.async_test)("push behavior for organization ids (push by default)", function () { return sdk.api.endusers.updateOne(rootEnduser.id, { organizationIds: subEnduser.organizationIds }); },
|
|
347
|
+
// { onResult: e => e.organizationIds?.length === 2 * (subEnduser.organizationIds?.length ?? 0) },
|
|
348
|
+
handleAnyError // this is not going to pass, because pushing must result in organizationIds that match an existing organization
|
|
349
|
+
)];
|
|
350
|
+
case 32:
|
|
351
|
+
_a.sent();
|
|
352
|
+
return [4 /*yield*/, (0, testing_1.async_test)("push behavior for organization ids (replace working)", function () { return sdk.api.endusers.updateOne(rootEnduser.id, { organizationIds: subEnduser.organizationIds }, { replaceObjectFields: true }); }, { onResult: function (e) { var _a, _b; return ((_a = e.organizationIds) === null || _a === void 0 ? void 0 : _a.length) === ((_b = subEnduser.organizationIds) === null || _b === void 0 ? void 0 : _b.length); } })];
|
|
353
|
+
case 33:
|
|
354
|
+
_a.sent();
|
|
355
|
+
return [4 /*yield*/, Promise.all([
|
|
356
|
+
sdk.api.endusers.deleteOne(rootEnduser.id),
|
|
357
|
+
sdk.api.endusers.deleteOne(subEnduser.id),
|
|
358
|
+
sdk.api.endusers.deleteOne(subSubEnduser.id),
|
|
359
|
+
])];
|
|
360
|
+
case 34:
|
|
361
|
+
_a.sent();
|
|
362
|
+
return [2 /*return*/];
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
}); };
|
|
366
|
+
var sub_organization_enduser_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
367
|
+
var _a, _b;
|
|
368
|
+
return __generator(this, function (_c) {
|
|
369
|
+
switch (_c.label) {
|
|
370
|
+
case 0:
|
|
371
|
+
(0, testing_1.log_header)("Sub Organizations (Enduser-Facing Tests)");
|
|
372
|
+
return [4 /*yield*/, enduserSDK.register({ email: 'root@tellescope.com', password: password })];
|
|
373
|
+
case 1:
|
|
374
|
+
_c.sent();
|
|
375
|
+
return [4 /*yield*/, subEnduserSDK.register({ email: 'sub@tellescope.com', password: password })];
|
|
376
|
+
case 2:
|
|
377
|
+
_c.sent();
|
|
378
|
+
return [4 /*yield*/, enduserSDK.authenticate('root@tellescope.com', password)];
|
|
379
|
+
case 3:
|
|
380
|
+
_c.sent();
|
|
381
|
+
return [4 /*yield*/, subEnduserSDK.authenticate('sub@tellescope.com', password)];
|
|
382
|
+
case 4:
|
|
383
|
+
_c.sent();
|
|
384
|
+
(0, testing_1.assert)(!((_a = enduserSDK.userInfo.organizationIds) === null || _a === void 0 ? void 0 : _a.length), 'bad root organizationIds', 'root auth org ids');
|
|
385
|
+
(0, testing_1.assert)(((_b = subEnduserSDK.userInfo.organizationIds) === null || _b === void 0 ? void 0 : _b.length) === 1, 'bad sub organizationIds', 'sub auth org ids');
|
|
386
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
387
|
+
case 5:
|
|
388
|
+
_c.sent();
|
|
389
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get root error", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, handleAnyError)];
|
|
390
|
+
case 6:
|
|
391
|
+
_c.sent();
|
|
392
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
393
|
+
case 7:
|
|
394
|
+
_c.sent();
|
|
395
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
396
|
+
case 8:
|
|
397
|
+
_c.sent();
|
|
398
|
+
return [4 /*yield*/, Promise.all([
|
|
399
|
+
sdk.api.endusers.deleteOne(enduserSDK.userInfo.id),
|
|
400
|
+
sdk.api.endusers.deleteOne(subEnduserSDK.userInfo.id),
|
|
401
|
+
])];
|
|
402
|
+
case 9:
|
|
403
|
+
_c.sent();
|
|
404
|
+
return [2 /*return*/];
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
}); };
|
|
234
408
|
var threadKeyTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
235
409
|
var enduser, _a, e1, e2, e3, _b, e4, e5, e6, es;
|
|
236
410
|
return __generator(this, function (_c) {
|
|
@@ -410,7 +584,7 @@ var generate_user_auth_tests = function () { return __awaiter(void 0, void 0, vo
|
|
|
410
584
|
_a = _e.sent(), authToken = _a.authToken, enduser = _a.enduser;
|
|
411
585
|
if (!enduser)
|
|
412
586
|
throw new Error("Didn't get enduser when generate_auth_token called");
|
|
413
|
-
(0, testing_1.assert)(!!authToken && !!enduser, 'invalid returned values', 'Generate
|
|
587
|
+
(0, testing_1.assert)(!!authToken && !!enduser, 'invalid returned values', 'Generate authTokea and get enduser');
|
|
414
588
|
return [4 /*yield*/, sdk.api.endusers.is_authenticated({ id: enduser.id, authToken: authToken })];
|
|
415
589
|
case 4:
|
|
416
590
|
isAuthenticated = (_e.sent()).isAuthenticated;
|
|
@@ -3808,21 +3982,46 @@ var role_based_access_permissions_tests = function () { return __awaiter(void 0,
|
|
|
3808
3982
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // to use new role, handle logout on role change
|
|
3809
3983
|
case 3:
|
|
3810
3984
|
_a.sent(); // to use new role, handle logout on role change
|
|
3985
|
+
return [4 /*yield*/, (0, testing_1.async_test)('non-root admin can read', function () { return sdkSub.api.role_based_access_permissions.getOne(rbap.id); }, passOnAnyResult)];
|
|
3986
|
+
case 4:
|
|
3987
|
+
_a.sent();
|
|
3988
|
+
return [4 /*yield*/, (0, testing_1.async_test)('non-root admin can read many', function () { return sdkSub.api.role_based_access_permissions.getSome(); }, { onResult: function (rs) { return rs.length > 0; } })];
|
|
3989
|
+
case 5:
|
|
3990
|
+
_a.sent();
|
|
3991
|
+
return [4 /*yield*/, (0, testing_1.async_test)('non-root admin blocked create', function () { return sdkSub.api.role_based_access_permissions.createOne({
|
|
3992
|
+
role: noEnduserAccessRole,
|
|
3993
|
+
permissions: {
|
|
3994
|
+
endusers: {
|
|
3995
|
+
create: null,
|
|
3996
|
+
read: null,
|
|
3997
|
+
delete: null,
|
|
3998
|
+
update: null,
|
|
3999
|
+
}
|
|
4000
|
+
}
|
|
4001
|
+
}); }, handleAnyError)];
|
|
4002
|
+
case 6:
|
|
4003
|
+
_a.sent();
|
|
4004
|
+
return [4 /*yield*/, (0, testing_1.async_test)('non-root admin blocked update', function () { return sdkSub.api.role_based_access_permissions.updateOne(rbap.id, { role: 'updated' }); }, handleAnyError)];
|
|
4005
|
+
case 7:
|
|
4006
|
+
_a.sent();
|
|
4007
|
+
return [4 /*yield*/, (0, testing_1.async_test)('non-root admin blocked delete', function () { return sdkSub.api.role_based_access_permissions.deleteOne(rbap.id); }, handleAnyError)];
|
|
4008
|
+
case 8:
|
|
4009
|
+
_a.sent();
|
|
3811
4010
|
return [4 /*yield*/, (0, testing_1.async_test)('enduser read access restriction working', function () { return sdkNonAdmin.api.endusers.getSome(); }, handleAnyError)
|
|
3812
4011
|
// cleanup
|
|
3813
4012
|
];
|
|
3814
|
-
case
|
|
4013
|
+
case 9:
|
|
3815
4014
|
_a.sent();
|
|
3816
4015
|
// cleanup
|
|
3817
4016
|
return [4 /*yield*/, Promise.all([
|
|
3818
4017
|
sdk.api.role_based_access_permissions.deleteOne(rbap.id),
|
|
3819
4018
|
sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Non-Admin'] }, { replaceObjectFields: true }),
|
|
3820
4019
|
])];
|
|
3821
|
-
case
|
|
4020
|
+
case 10:
|
|
3822
4021
|
// cleanup
|
|
3823
4022
|
_a.sent();
|
|
3824
4023
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // to use new role, handle logout on role change
|
|
3825
|
-
case
|
|
4024
|
+
case 11:
|
|
3826
4025
|
_a.sent(); // to use new role, handle logout on role change
|
|
3827
4026
|
return [2 /*return*/];
|
|
3828
4027
|
}
|
|
@@ -3884,9 +4083,12 @@ var tests = {
|
|
|
3884
4083
|
(0, testing_1.log_header)("API");
|
|
3885
4084
|
_h.label = 1;
|
|
3886
4085
|
case 1:
|
|
3887
|
-
_h.trys.push([1,
|
|
4086
|
+
_h.trys.push([1, 21, , 22]);
|
|
3888
4087
|
return [4 /*yield*/, Promise.all([
|
|
3889
4088
|
sdk.authenticate(email, password),
|
|
4089
|
+
sdkSub.authenticate(subUserEmail, password),
|
|
4090
|
+
sdkOtherSub.authenticate(otherSubUserEmail, password),
|
|
4091
|
+
sdkSubSub.authenticate(subSubUserEmail, password),
|
|
3890
4092
|
sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
|
|
3891
4093
|
])];
|
|
3892
4094
|
case 2:
|
|
@@ -3897,50 +4099,56 @@ var tests = {
|
|
|
3897
4099
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
3898
4100
|
case 4:
|
|
3899
4101
|
_h.sent(); // should come right after setup tests
|
|
3900
|
-
return [4 /*yield*/, (
|
|
4102
|
+
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
3901
4103
|
case 5:
|
|
3902
4104
|
_h.sent();
|
|
3903
|
-
return [4 /*yield*/, (
|
|
4105
|
+
return [4 /*yield*/, sub_organization_tests()];
|
|
3904
4106
|
case 6:
|
|
3905
4107
|
_h.sent();
|
|
3906
|
-
return [4 /*yield*/,
|
|
4108
|
+
return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
|
|
3907
4109
|
case 7:
|
|
3908
4110
|
_h.sent();
|
|
3909
|
-
return [4 /*yield*/,
|
|
4111
|
+
return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
|
|
3910
4112
|
case 8:
|
|
3911
4113
|
_h.sent();
|
|
3912
|
-
return [4 /*yield*/,
|
|
4114
|
+
return [4 /*yield*/, generate_user_auth_tests()];
|
|
3913
4115
|
case 9:
|
|
3914
4116
|
_h.sent();
|
|
3915
|
-
return [4 /*yield*/,
|
|
4117
|
+
return [4 /*yield*/, role_based_access_tests()];
|
|
3916
4118
|
case 10:
|
|
3917
4119
|
_h.sent();
|
|
3918
|
-
return [4 /*yield*/,
|
|
4120
|
+
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
3919
4121
|
case 11:
|
|
3920
4122
|
_h.sent();
|
|
3921
|
-
return [4 /*yield*/,
|
|
4123
|
+
return [4 /*yield*/, public_form_tests()];
|
|
3922
4124
|
case 12:
|
|
3923
4125
|
_h.sent();
|
|
3924
|
-
return [4 /*yield*/,
|
|
4126
|
+
return [4 /*yield*/, search_tests()];
|
|
3925
4127
|
case 13:
|
|
3926
4128
|
_h.sent();
|
|
3927
|
-
return [4 /*yield*/,
|
|
4129
|
+
return [4 /*yield*/, badInputTests()];
|
|
3928
4130
|
case 14:
|
|
3929
4131
|
_h.sent();
|
|
3930
|
-
return [4 /*yield*/,
|
|
4132
|
+
return [4 /*yield*/, filterTests()];
|
|
3931
4133
|
case 15:
|
|
3932
4134
|
_h.sent();
|
|
3933
|
-
return [4 /*yield*/,
|
|
4135
|
+
return [4 /*yield*/, updatesTests()];
|
|
3934
4136
|
case 16:
|
|
3935
4137
|
_h.sent();
|
|
3936
|
-
return [4 /*yield*/,
|
|
4138
|
+
return [4 /*yield*/, threadKeyTests()];
|
|
3937
4139
|
case 17:
|
|
3938
4140
|
_h.sent();
|
|
3939
|
-
return [4 /*yield*/,
|
|
4141
|
+
return [4 /*yield*/, enduserAccessTests()];
|
|
3940
4142
|
case 18:
|
|
3941
4143
|
_h.sent();
|
|
3942
|
-
return [
|
|
4144
|
+
return [4 /*yield*/, enduser_session_tests()];
|
|
3943
4145
|
case 19:
|
|
4146
|
+
_h.sent();
|
|
4147
|
+
return [4 /*yield*/, enduser_redaction_tests()];
|
|
4148
|
+
case 20:
|
|
4149
|
+
_h.sent();
|
|
4150
|
+
return [3 /*break*/, 22];
|
|
4151
|
+
case 21:
|
|
3944
4152
|
err_1 = _h.sent();
|
|
3945
4153
|
console.error("Failed during custom test");
|
|
3946
4154
|
if (err_1.message && err_1.info) {
|
|
@@ -3950,15 +4158,15 @@ var tests = {
|
|
|
3950
4158
|
console.error(err_1);
|
|
3951
4159
|
}
|
|
3952
4160
|
process.exit(1);
|
|
3953
|
-
return [3 /*break*/,
|
|
3954
|
-
case
|
|
4161
|
+
return [3 /*break*/, 22];
|
|
4162
|
+
case 22:
|
|
3955
4163
|
_a = [];
|
|
3956
4164
|
for (_b in schema_1.schema)
|
|
3957
4165
|
_a.push(_b);
|
|
3958
4166
|
_i = 0;
|
|
3959
|
-
_h.label =
|
|
3960
|
-
case
|
|
3961
|
-
if (!(_i < _a.length)) return [3 /*break*/,
|
|
4167
|
+
_h.label = 23;
|
|
4168
|
+
case 23:
|
|
4169
|
+
if (!(_i < _a.length)) return [3 /*break*/, 26];
|
|
3962
4170
|
n = _a[_i];
|
|
3963
4171
|
returnValidation = (_g = (_f = schema_1.schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
|
|
3964
4172
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -3969,38 +4177,38 @@ var tests = {
|
|
|
3969
4177
|
create: returnValidation // ModelFields<ClientModel>,
|
|
3970
4178
|
}
|
|
3971
4179
|
})];
|
|
3972
|
-
case
|
|
4180
|
+
case 24:
|
|
3973
4181
|
_h.sent();
|
|
3974
|
-
_h.label =
|
|
3975
|
-
case
|
|
4182
|
+
_h.label = 25;
|
|
4183
|
+
case 25:
|
|
3976
4184
|
_i++;
|
|
3977
|
-
return [3 /*break*/,
|
|
3978
|
-
case
|
|
4185
|
+
return [3 /*break*/, 23];
|
|
4186
|
+
case 26:
|
|
3979
4187
|
_c = [];
|
|
3980
4188
|
for (_d in tests)
|
|
3981
4189
|
_c.push(_d);
|
|
3982
4190
|
_e = 0;
|
|
3983
|
-
_h.label =
|
|
3984
|
-
case
|
|
3985
|
-
if (!(_e < _c.length)) return [3 /*break*/,
|
|
4191
|
+
_h.label = 27;
|
|
4192
|
+
case 27:
|
|
4193
|
+
if (!(_e < _c.length)) return [3 /*break*/, 32];
|
|
3986
4194
|
t = _c[_e];
|
|
3987
|
-
_h.label =
|
|
3988
|
-
case
|
|
3989
|
-
_h.trys.push([
|
|
4195
|
+
_h.label = 28;
|
|
4196
|
+
case 28:
|
|
4197
|
+
_h.trys.push([28, 30, , 31]);
|
|
3990
4198
|
return [4 /*yield*/, tests[t]()];
|
|
3991
|
-
case
|
|
4199
|
+
case 29:
|
|
3992
4200
|
_h.sent();
|
|
3993
|
-
return [3 /*break*/,
|
|
3994
|
-
case
|
|
4201
|
+
return [3 /*break*/, 31];
|
|
4202
|
+
case 30:
|
|
3995
4203
|
err_2 = _h.sent();
|
|
3996
4204
|
console.error("Error running test:");
|
|
3997
4205
|
console.error(err_2);
|
|
3998
4206
|
process.exit(1);
|
|
3999
|
-
return [3 /*break*/,
|
|
4000
|
-
case
|
|
4207
|
+
return [3 /*break*/, 31];
|
|
4208
|
+
case 31:
|
|
4001
4209
|
_e++;
|
|
4002
|
-
return [3 /*break*/,
|
|
4003
|
-
case
|
|
4210
|
+
return [3 /*break*/, 27];
|
|
4211
|
+
case 32:
|
|
4004
4212
|
process.exit();
|
|
4005
4213
|
return [2 /*return*/];
|
|
4006
4214
|
}
|