@tellescope/sdk 1.4.36 → 1.4.38
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 +11 -4
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/enduser.js +10 -1
- package/lib/cjs/enduser.js.map +1 -1
- package/lib/cjs/sdk.d.ts +6 -3
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +1 -1
- package/lib/cjs/session.d.ts +0 -1
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/session.js +1 -1
- package/lib/cjs/tests/public_endpoint_tests.js +1 -1
- package/lib/cjs/tests/socket_tests.js +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +181 -130
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/cjs/tests/webhooks_tests.js +47 -41
- package/lib/cjs/tests/webhooks_tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +13 -5
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/enduser.js +10 -1
- package/lib/esm/enduser.js.map +1 -1
- package/lib/esm/public.d.ts +2 -2
- package/lib/esm/public.d.ts.map +1 -1
- package/lib/esm/sdk.d.ts +10 -6
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +1 -1
- package/lib/esm/session.d.ts +2 -3
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/session.js +2 -2
- package/lib/esm/session.js.map +1 -1
- package/lib/esm/tests/public_endpoint_tests.js +1 -1
- package/lib/esm/tests/socket_tests.js +1 -1
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +181 -130
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/esm/tests/webhooks_tests.js +47 -41
- package/lib/esm/tests/webhooks_tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/enduser.ts +16 -1
- package/src/sdk.ts +1 -1
- package/src/tests/tests.ts +20 -3
package/lib/cjs/tests/tests.js
CHANGED
|
@@ -48,7 +48,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
48
48
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
49
49
|
function step(op) {
|
|
50
50
|
if (f) throw new TypeError("Generator is already executing.");
|
|
51
|
-
while (_) try {
|
|
51
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
52
52
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
53
53
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
54
54
|
switch (op[0]) {
|
|
@@ -364,43 +364,82 @@ var sub_organization_tests = function () { return __awaiter(void 0, void 0, void
|
|
|
364
364
|
});
|
|
365
365
|
}); };
|
|
366
366
|
var sub_organization_enduser_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
367
|
-
var
|
|
368
|
-
|
|
369
|
-
|
|
367
|
+
var rootTicket, rootTicketAfterUpdate;
|
|
368
|
+
var _a, _b, _c;
|
|
369
|
+
return __generator(this, function (_d) {
|
|
370
|
+
switch (_d.label) {
|
|
370
371
|
case 0:
|
|
371
372
|
(0, testing_1.log_header)("Sub Organizations (Enduser-Facing Tests)");
|
|
372
373
|
return [4 /*yield*/, enduserSDK.register({ email: 'root@tellescope.com', password: password })];
|
|
373
374
|
case 1:
|
|
374
|
-
|
|
375
|
+
_d.sent();
|
|
375
376
|
return [4 /*yield*/, subEnduserSDK.register({ email: 'sub@tellescope.com', password: password })];
|
|
376
377
|
case 2:
|
|
377
|
-
|
|
378
|
+
_d.sent();
|
|
378
379
|
return [4 /*yield*/, enduserSDK.authenticate('root@tellescope.com', password)];
|
|
379
380
|
case 3:
|
|
380
|
-
|
|
381
|
+
_d.sent();
|
|
381
382
|
return [4 /*yield*/, subEnduserSDK.authenticate('sub@tellescope.com', password)];
|
|
382
383
|
case 4:
|
|
383
|
-
|
|
384
|
+
_d.sent();
|
|
384
385
|
(0, testing_1.assert)(!((_a = enduserSDK.userInfo.organizationIds) === null || _a === void 0 ? void 0 : _a.length), 'bad root organizationIds', 'root auth org ids');
|
|
385
386
|
(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*/,
|
|
387
|
+
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root', enduserId: enduserSDK.userInfo.id })];
|
|
387
388
|
case 5:
|
|
388
|
-
|
|
389
|
-
return [4 /*yield*/, (0, testing_1.async_test)("
|
|
389
|
+
rootTicket = _d.sent();
|
|
390
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
390
391
|
case 6:
|
|
391
|
-
|
|
392
|
-
return [4 /*yield*/, (0, testing_1.async_test)("
|
|
392
|
+
_d.sent();
|
|
393
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get root error", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, handleAnyError)];
|
|
393
394
|
case 7:
|
|
394
|
-
|
|
395
|
-
return [4 /*yield*/, (0, testing_1.async_test)("
|
|
395
|
+
_d.sent();
|
|
396
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
396
397
|
case 8:
|
|
397
|
-
|
|
398
|
+
_d.sent();
|
|
399
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
400
|
+
case 9:
|
|
401
|
+
_d.sent();
|
|
402
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get root ticket", function () { return sdk.api.tickets.getOne(rootTicket.id); }, passOnAnyResult)];
|
|
403
|
+
case 10:
|
|
404
|
+
_d.sent();
|
|
405
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get root ticket error", function () { return sdkSub.api.tickets.getOne(rootTicket.id); }, handleAnyError)];
|
|
406
|
+
case 11:
|
|
407
|
+
_d.sent();
|
|
408
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserSDK.userInfo.id, { sharedWithOrganizations: [(_c = sdkSub.userInfo.organizationIds) !== null && _c !== void 0 ? _c : []] })];
|
|
409
|
+
case 12:
|
|
410
|
+
_d.sent();
|
|
411
|
+
return [4 /*yield*/, enduserSDK.refresh_session()]; // ensure updated session includes new sharedWithOrganizations
|
|
412
|
+
case 13:
|
|
413
|
+
_d.sent(); // ensure updated session includes new sharedWithOrganizations
|
|
414
|
+
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root with shared', enduserId: enduserSDK.userInfo.id })];
|
|
415
|
+
case 14:
|
|
416
|
+
rootTicketAfterUpdate = _d.sent();
|
|
417
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
418
|
+
case 15:
|
|
419
|
+
_d.sent();
|
|
420
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get root after update", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
421
|
+
case 16:
|
|
422
|
+
_d.sent();
|
|
423
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
424
|
+
case 17:
|
|
425
|
+
_d.sent();
|
|
426
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
427
|
+
case 18:
|
|
428
|
+
_d.sent();
|
|
429
|
+
return [4 /*yield*/, (0, testing_1.async_test)("root get root ticket after update", function () { return sdk.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
430
|
+
case 19:
|
|
431
|
+
_d.sent();
|
|
432
|
+
return [4 /*yield*/, (0, testing_1.async_test)("sub get root ticket after update", function () { return sdkSub.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
433
|
+
case 20:
|
|
434
|
+
_d.sent();
|
|
398
435
|
return [4 /*yield*/, Promise.all([
|
|
399
436
|
sdk.api.endusers.deleteOne(enduserSDK.userInfo.id),
|
|
400
437
|
sdk.api.endusers.deleteOne(subEnduserSDK.userInfo.id),
|
|
438
|
+
sdk.api.tickets.deleteOne(rootTicket.id),
|
|
439
|
+
sdk.api.tickets.deleteOne(rootTicketAfterUpdate.id),
|
|
401
440
|
])];
|
|
402
|
-
case
|
|
403
|
-
|
|
441
|
+
case 21:
|
|
442
|
+
_d.sent();
|
|
404
443
|
return [2 /*return*/];
|
|
405
444
|
}
|
|
406
445
|
});
|
|
@@ -722,9 +761,9 @@ var has_required_field = function (fields) { return Object.values(fields).find(f
|
|
|
722
761
|
var verify_missing_defaults = function (_a) {
|
|
723
762
|
var queries = _a.queries, model = _a.model, name = _a.name;
|
|
724
763
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
725
|
-
var queryForOperation, o, _b, _c, _i;
|
|
726
|
-
return __generator(this, function (
|
|
727
|
-
switch (
|
|
764
|
+
var queryForOperation, o, _b, _c, _d, _i;
|
|
765
|
+
return __generator(this, function (_e) {
|
|
766
|
+
switch (_e.label) {
|
|
728
767
|
case 0:
|
|
729
768
|
queryForOperation = {
|
|
730
769
|
create: function () { return queries.createOne({}); },
|
|
@@ -734,20 +773,23 @@ var verify_missing_defaults = function (_a) {
|
|
|
734
773
|
update: function () { return queries.updateOne('fakeid', {}); },
|
|
735
774
|
delete: function () { return queries.deleteOne('fakeid'); },
|
|
736
775
|
};
|
|
737
|
-
_b =
|
|
738
|
-
|
|
739
|
-
|
|
776
|
+
_b = constants_1.DEFAULT_OPERATIONS;
|
|
777
|
+
_c = [];
|
|
778
|
+
for (_d in _b)
|
|
779
|
+
_c.push(_d);
|
|
740
780
|
_i = 0;
|
|
741
|
-
|
|
781
|
+
_e.label = 1;
|
|
742
782
|
case 1:
|
|
743
|
-
if (!(_i <
|
|
744
|
-
|
|
783
|
+
if (!(_i < _c.length)) return [3 /*break*/, 4];
|
|
784
|
+
_d = _c[_i];
|
|
785
|
+
if (!(_d in _b)) return [3 /*break*/, 3];
|
|
786
|
+
o = _d;
|
|
745
787
|
if (Object.keys(model.defaultActions).includes(o) || model.customActions[o])
|
|
746
788
|
return [3 /*break*/, 3]; // action is implemented
|
|
747
789
|
return [4 /*yield*/, (0, testing_1.async_test)("".concat(o, " unavailable for ").concat(name), function () { return queryForOperation[o](); }, { shouldError: true, onError: function (e) { return e.message === 'This action is not allowed' || e.message === 'Inaccessible'; } })];
|
|
748
790
|
case 2:
|
|
749
|
-
|
|
750
|
-
|
|
791
|
+
_e.sent();
|
|
792
|
+
_e.label = 3;
|
|
751
793
|
case 3:
|
|
752
794
|
_i++;
|
|
753
795
|
return [3 /*break*/, 1];
|
|
@@ -1665,138 +1707,141 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1665
1707
|
});
|
|
1666
1708
|
}); };
|
|
1667
1709
|
var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1668
|
-
var email, password, enduser, enduser2, uInfo, originalAuthToken, _loop_1, _a, _b, _i, n, ticketAccessible, ticketInaccessible;
|
|
1669
|
-
var
|
|
1670
|
-
return __generator(this, function (
|
|
1671
|
-
switch (
|
|
1710
|
+
var email, password, enduser, enduser2, uInfo, originalAuthToken, _loop_1, _a, _b, _c, _i, n, ticketAccessible, ticketInaccessible;
|
|
1711
|
+
var _d, _e, _f, _g, _h, _j;
|
|
1712
|
+
return __generator(this, function (_k) {
|
|
1713
|
+
switch (_k.label) {
|
|
1672
1714
|
case 0:
|
|
1673
1715
|
(0, testing_1.log_header)("Enduser Access");
|
|
1674
1716
|
email = 'enduser@tellescope.com';
|
|
1675
1717
|
password = 'testpassword';
|
|
1676
1718
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
|
|
1677
1719
|
case 1:
|
|
1678
|
-
enduser =
|
|
1720
|
+
enduser = _k.sent();
|
|
1679
1721
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'hi' + email })];
|
|
1680
1722
|
case 2:
|
|
1681
|
-
enduser2 =
|
|
1723
|
+
enduser2 = _k.sent();
|
|
1682
1724
|
return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
|
|
1683
1725
|
case 3:
|
|
1684
|
-
|
|
1726
|
+
_k.sent();
|
|
1685
1727
|
return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
|
|
1686
1728
|
case 4:
|
|
1687
|
-
|
|
1729
|
+
_k.sent();
|
|
1688
1730
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)]; // wait so that refresh_session generates a new authToken (different timestamp)
|
|
1689
1731
|
case 5:
|
|
1690
|
-
|
|
1732
|
+
_k.sent(); // wait so that refresh_session generates a new authToken (different timestamp)
|
|
1691
1733
|
uInfo = enduserSDK.userInfo;
|
|
1692
1734
|
originalAuthToken = enduserSDK.authToken;
|
|
1693
1735
|
return [4 /*yield*/, enduserSDK.refresh_session()];
|
|
1694
1736
|
case 6:
|
|
1695
|
-
|
|
1737
|
+
_k.sent();
|
|
1696
1738
|
(0, testing_1.assert)(uInfo.id === enduserSDK.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
|
|
1697
1739
|
(0, testing_1.assert)(!!originalAuthToken && !!enduserSDK.authToken && enduserSDK.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
|
|
1698
1740
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access for different businessId", function () { return enduserSDKDifferentBusinessId.authenticate(email, password); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.message) === "Could not find a corresponding account"; } })];
|
|
1699
1741
|
case 7:
|
|
1700
|
-
|
|
1742
|
+
_k.sent();
|
|
1701
1743
|
_loop_1 = function (n) {
|
|
1702
1744
|
var endpoint, model;
|
|
1703
|
-
return __generator(this, function (
|
|
1704
|
-
switch (
|
|
1745
|
+
return __generator(this, function (_l) {
|
|
1746
|
+
switch (_l.label) {
|
|
1705
1747
|
case 0:
|
|
1706
1748
|
endpoint = (0, utilities_1.url_safe_path)(n);
|
|
1707
1749
|
model = schema_1.schema[n];
|
|
1708
1750
|
if (n === 'webhooks')
|
|
1709
1751
|
return [2 /*return*/, "continue"]; // no default endpoints implemented
|
|
1710
|
-
if (!(!((
|
|
1752
|
+
if (!(!((_d = model === null || model === void 0 ? void 0 : model.enduserActions) === null || _d === void 0 ? void 0 : _d.read) && (model.defaultActions.read || model.customActions.read))) return [3 /*break*/, 2];
|
|
1711
1753
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access getOne (".concat(endpoint, ")"), function () { return enduserSDK.GET("/v1/".concat(endpoint.substring(0, endpoint.length - 1), "/:id")); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
|
|
1712
1754
|
case 1:
|
|
1713
|
-
|
|
1714
|
-
|
|
1755
|
+
_l.sent();
|
|
1756
|
+
_l.label = 2;
|
|
1715
1757
|
case 2:
|
|
1716
|
-
if (!(!((
|
|
1758
|
+
if (!(!((_e = model.enduserActions) === null || _e === void 0 ? void 0 : _e.readMany) && (model.defaultActions.readMany || model.customActions.readMany))) return [3 /*break*/, 4];
|
|
1717
1759
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access getSome (".concat(endpoint, ")"), function () { return enduserSDK.GET("/v1/".concat(endpoint)); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
|
|
1718
1760
|
case 3:
|
|
1719
|
-
|
|
1720
|
-
|
|
1761
|
+
_l.sent();
|
|
1762
|
+
_l.label = 4;
|
|
1721
1763
|
case 4:
|
|
1722
|
-
if (!(!((
|
|
1764
|
+
if (!(!((_f = model.enduserActions) === null || _f === void 0 ? void 0 : _f.create) && (model.defaultActions.create || model.customActions.create))) return [3 /*break*/, 6];
|
|
1723
1765
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access createOne (".concat(endpoint, ")"), function () { return enduserSDK.POST("/v1/".concat(endpoint.substring(0, endpoint.length - 1))); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
|
|
1724
1766
|
case 5:
|
|
1725
|
-
|
|
1726
|
-
|
|
1767
|
+
_l.sent();
|
|
1768
|
+
_l.label = 6;
|
|
1727
1769
|
case 6:
|
|
1728
|
-
if (!(!((
|
|
1770
|
+
if (!(!((_g = model.enduserActions) === null || _g === void 0 ? void 0 : _g.createMany) && (model.defaultActions.createMany || model.customActions.createMany))) return [3 /*break*/, 8];
|
|
1729
1771
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access createMany (".concat(endpoint, ")"), function () { return enduserSDK.POST("/v1/".concat(endpoint)); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
|
|
1730
1772
|
case 7:
|
|
1731
|
-
|
|
1732
|
-
|
|
1773
|
+
_l.sent();
|
|
1774
|
+
_l.label = 8;
|
|
1733
1775
|
case 8:
|
|
1734
|
-
if (!(!((
|
|
1776
|
+
if (!(!((_h = model.enduserActions) === null || _h === void 0 ? void 0 : _h.update) && (model.defaultActions.update || model.customActions.update))) return [3 /*break*/, 10];
|
|
1735
1777
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access update (".concat(endpoint, ")"), function () { return enduserSDK.PATCH("/v1/".concat(endpoint.substring(0, endpoint.length - 1), "/:id")); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
|
|
1736
1778
|
case 9:
|
|
1737
|
-
|
|
1738
|
-
|
|
1779
|
+
_l.sent();
|
|
1780
|
+
_l.label = 10;
|
|
1739
1781
|
case 10:
|
|
1740
|
-
if (!(!((
|
|
1782
|
+
if (!(!((_j = model.enduserActions) === null || _j === void 0 ? void 0 : _j.delete) && (model.defaultActions.delete || model.customActions.delete))) return [3 /*break*/, 12];
|
|
1741
1783
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access delete (".concat(endpoint, ")"), function () { return enduserSDK.DELETE("/v1/".concat(endpoint.substring(0, endpoint.length - 1), "/:id")); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
|
|
1742
1784
|
case 11:
|
|
1743
|
-
|
|
1744
|
-
|
|
1785
|
+
_l.sent();
|
|
1786
|
+
_l.label = 12;
|
|
1745
1787
|
case 12: return [2 /*return*/];
|
|
1746
1788
|
}
|
|
1747
1789
|
});
|
|
1748
1790
|
};
|
|
1749
|
-
_a =
|
|
1750
|
-
|
|
1751
|
-
|
|
1791
|
+
_a = schema_1.schema;
|
|
1792
|
+
_b = [];
|
|
1793
|
+
for (_c in _a)
|
|
1794
|
+
_b.push(_c);
|
|
1752
1795
|
_i = 0;
|
|
1753
|
-
|
|
1796
|
+
_k.label = 8;
|
|
1754
1797
|
case 8:
|
|
1755
|
-
if (!(_i <
|
|
1756
|
-
|
|
1798
|
+
if (!(_i < _b.length)) return [3 /*break*/, 11];
|
|
1799
|
+
_c = _b[_i];
|
|
1800
|
+
if (!(_c in _a)) return [3 /*break*/, 10];
|
|
1801
|
+
n = _c;
|
|
1757
1802
|
return [5 /*yield**/, _loop_1(n)];
|
|
1758
1803
|
case 9:
|
|
1759
|
-
|
|
1760
|
-
|
|
1804
|
+
_k.sent();
|
|
1805
|
+
_k.label = 10;
|
|
1761
1806
|
case 10:
|
|
1762
1807
|
_i++;
|
|
1763
1808
|
return [3 /*break*/, 8];
|
|
1764
1809
|
case 11: return [4 /*yield*/, (0, testing_1.async_test)("enduser can update self", function () { return enduserSDK.api.endusers.updateOne(enduser.id, { fname: "Sebastian", lname: "Coates" }); }, { onResult: function (e) { return e.id === enduser.id && e.fname === 'Sebastian' && e.lname === "Coates"; } })];
|
|
1765
1810
|
case 12:
|
|
1766
|
-
|
|
1811
|
+
_k.sent();
|
|
1767
1812
|
return [4 /*yield*/, (0, testing_1.async_test)("enduser can't update other enduser", function () { return enduserSDK.api.endusers.updateOne(enduser2.id, { fname: "Shouldn't Work" }); }, { shouldError: true, onError: function (e) { return e.message === "Endusers may only update their own profile"; } })];
|
|
1768
1813
|
case 13:
|
|
1769
|
-
|
|
1814
|
+
_k.sent();
|
|
1770
1815
|
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: enduser.id, title: "Accessible ticket" })];
|
|
1771
1816
|
case 14:
|
|
1772
|
-
ticketAccessible =
|
|
1817
|
+
ticketAccessible = _k.sent();
|
|
1773
1818
|
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: constants_1.PLACEHOLDER_ID, title: "Inaccessible ticket" })];
|
|
1774
1819
|
case 15:
|
|
1775
|
-
ticketInaccessible =
|
|
1820
|
+
ticketInaccessible = _k.sent();
|
|
1776
1821
|
return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create ticket for another enduser", function () { return enduserSDK.api.tickets.createOne({ enduserId: sdk.userInfo.id, title: "Error on Creation" }); }, { shouldError: true, onError: function (e) { return !!e.message; } })];
|
|
1777
1822
|
case 16:
|
|
1778
|
-
|
|
1823
|
+
_k.sent();
|
|
1779
1824
|
return [4 /*yield*/, (0, testing_1.async_test)("enduser-access default, no access constraints, matching enduserId", function () { return enduserSDK.api.tickets.getOne(ticketAccessible.id); }, { onResult: function (t) { return t.id === ticketAccessible.id; } })];
|
|
1780
1825
|
case 17:
|
|
1781
|
-
|
|
1826
|
+
_k.sent();
|
|
1782
1827
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access default, no access constraints, non-matching enduserId", function () { return enduserSDK.api.tickets.getOne(ticketInaccessible.id); }, { shouldError: true, onError: function (e) { return e.message.startsWith("Could not find"); } })];
|
|
1783
1828
|
case 18:
|
|
1784
|
-
|
|
1829
|
+
_k.sent();
|
|
1785
1830
|
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access default, no access constraints, get many", function () { return enduserSDK.api.tickets.getSome(); }, { onResult: function (ts) { return ts.length === 1; } })];
|
|
1786
1831
|
case 19:
|
|
1787
|
-
|
|
1832
|
+
_k.sent();
|
|
1788
1833
|
return [4 /*yield*/, sdk.api.tickets.deleteOne(ticketAccessible.id)];
|
|
1789
1834
|
case 20:
|
|
1790
|
-
|
|
1835
|
+
_k.sent();
|
|
1791
1836
|
return [4 /*yield*/, sdk.api.tickets.deleteOne(ticketInaccessible.id)];
|
|
1792
1837
|
case 21:
|
|
1793
|
-
|
|
1838
|
+
_k.sent();
|
|
1794
1839
|
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
1795
1840
|
case 22:
|
|
1796
|
-
|
|
1841
|
+
_k.sent();
|
|
1797
1842
|
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser2.id)];
|
|
1798
1843
|
case 23:
|
|
1799
|
-
|
|
1844
|
+
_k.sent();
|
|
1800
1845
|
return [2 /*return*/];
|
|
1801
1846
|
}
|
|
1802
1847
|
});
|
|
@@ -2262,7 +2307,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2262
2307
|
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserWithTeam.id, { journeys: (_b = {}, _b[nullJourney.id] = 'Added (Null)', _b) })];
|
|
2263
2308
|
case 16:
|
|
2264
2309
|
_c.sent();
|
|
2265
|
-
return [4 /*yield*/, (0, testing_1.wait)(undefined,
|
|
2310
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 2000)]; // wait for tickets to be automatically created
|
|
2266
2311
|
case 17:
|
|
2267
2312
|
_c.sent(); // wait for tickets to be automatically created
|
|
2268
2313
|
return [4 /*yield*/, (0, testing_1.async_test)("Tickets automatically created", function () { return sdk.api.tickets.getSome(); }, { onResult: function (tickets) { return (tickets === null || tickets === void 0 ? void 0 : tickets.length) === 2; } })];
|
|
@@ -2727,13 +2772,13 @@ var addToJourneyTests = function () { return __awaiter(void 0, void 0, void 0, f
|
|
|
2727
2772
|
case 5:
|
|
2728
2773
|
// add to journey and re-add
|
|
2729
2774
|
_a.sent();
|
|
2730
|
-
return [4 /*yield*/, (0, testing_1.wait)(undefined,
|
|
2775
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 4000)]; // allow onJourneyStart step to trigger
|
|
2731
2776
|
case 6:
|
|
2732
2777
|
_a.sent(); // allow onJourneyStart step to trigger
|
|
2733
2778
|
return [4 /*yield*/, sdk.api.endusers.add_to_journey({ enduserIds: [enduser.id], journeyId: journey.id })];
|
|
2734
2779
|
case 7:
|
|
2735
2780
|
_a.sent();
|
|
2736
|
-
return [4 /*yield*/, (0, testing_1.wait)(undefined,
|
|
2781
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 4000)]; // allow onJourneyStart step to trigger
|
|
2737
2782
|
case 8:
|
|
2738
2783
|
_a.sent(); // allow onJourneyStart step to trigger
|
|
2739
2784
|
return [4 /*yield*/, (0, testing_1.async_test)("Enduser correctly added and re-added", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (es) { return es.length === 4
|
|
@@ -4075,15 +4120,15 @@ var tests = {
|
|
|
4075
4120
|
integrations: NO_TEST,
|
|
4076
4121
|
};
|
|
4077
4122
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
4078
|
-
var err_1, n, _a, _b, _i, returnValidation, t,
|
|
4079
|
-
var
|
|
4080
|
-
return __generator(this, function (
|
|
4081
|
-
switch (
|
|
4123
|
+
var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
|
|
4124
|
+
var _h, _j;
|
|
4125
|
+
return __generator(this, function (_k) {
|
|
4126
|
+
switch (_k.label) {
|
|
4082
4127
|
case 0:
|
|
4083
4128
|
(0, testing_1.log_header)("API");
|
|
4084
|
-
|
|
4129
|
+
_k.label = 1;
|
|
4085
4130
|
case 1:
|
|
4086
|
-
|
|
4131
|
+
_k.trys.push([1, 21, , 22]);
|
|
4087
4132
|
return [4 /*yield*/, Promise.all([
|
|
4088
4133
|
sdk.authenticate(email, password),
|
|
4089
4134
|
sdkSub.authenticate(subUserEmail, password),
|
|
@@ -4092,64 +4137,64 @@ var tests = {
|
|
|
4092
4137
|
sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
|
|
4093
4138
|
])];
|
|
4094
4139
|
case 2:
|
|
4095
|
-
|
|
4140
|
+
_k.sent();
|
|
4096
4141
|
return [4 /*yield*/, setup_tests()];
|
|
4097
4142
|
case 3:
|
|
4098
|
-
|
|
4143
|
+
_k.sent();
|
|
4099
4144
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
4100
4145
|
case 4:
|
|
4101
|
-
|
|
4146
|
+
_k.sent(); // should come right after setup tests
|
|
4102
4147
|
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
4103
4148
|
case 5:
|
|
4104
|
-
|
|
4149
|
+
_k.sent();
|
|
4105
4150
|
return [4 /*yield*/, sub_organization_tests()];
|
|
4106
4151
|
case 6:
|
|
4107
|
-
|
|
4152
|
+
_k.sent();
|
|
4108
4153
|
return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
|
|
4109
4154
|
case 7:
|
|
4110
|
-
|
|
4155
|
+
_k.sent();
|
|
4111
4156
|
return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
|
|
4112
4157
|
case 8:
|
|
4113
|
-
|
|
4158
|
+
_k.sent();
|
|
4114
4159
|
return [4 /*yield*/, generate_user_auth_tests()];
|
|
4115
4160
|
case 9:
|
|
4116
|
-
|
|
4161
|
+
_k.sent();
|
|
4117
4162
|
return [4 /*yield*/, role_based_access_tests()];
|
|
4118
4163
|
case 10:
|
|
4119
|
-
|
|
4164
|
+
_k.sent();
|
|
4120
4165
|
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
4121
4166
|
case 11:
|
|
4122
|
-
|
|
4167
|
+
_k.sent();
|
|
4123
4168
|
return [4 /*yield*/, public_form_tests()];
|
|
4124
4169
|
case 12:
|
|
4125
|
-
|
|
4170
|
+
_k.sent();
|
|
4126
4171
|
return [4 /*yield*/, search_tests()];
|
|
4127
4172
|
case 13:
|
|
4128
|
-
|
|
4173
|
+
_k.sent();
|
|
4129
4174
|
return [4 /*yield*/, badInputTests()];
|
|
4130
4175
|
case 14:
|
|
4131
|
-
|
|
4176
|
+
_k.sent();
|
|
4132
4177
|
return [4 /*yield*/, filterTests()];
|
|
4133
4178
|
case 15:
|
|
4134
|
-
|
|
4179
|
+
_k.sent();
|
|
4135
4180
|
return [4 /*yield*/, updatesTests()];
|
|
4136
4181
|
case 16:
|
|
4137
|
-
|
|
4182
|
+
_k.sent();
|
|
4138
4183
|
return [4 /*yield*/, threadKeyTests()];
|
|
4139
4184
|
case 17:
|
|
4140
|
-
|
|
4185
|
+
_k.sent();
|
|
4141
4186
|
return [4 /*yield*/, enduserAccessTests()];
|
|
4142
4187
|
case 18:
|
|
4143
|
-
|
|
4188
|
+
_k.sent();
|
|
4144
4189
|
return [4 /*yield*/, enduser_session_tests()];
|
|
4145
4190
|
case 19:
|
|
4146
|
-
|
|
4191
|
+
_k.sent();
|
|
4147
4192
|
return [4 /*yield*/, enduser_redaction_tests()];
|
|
4148
4193
|
case 20:
|
|
4149
|
-
|
|
4194
|
+
_k.sent();
|
|
4150
4195
|
return [3 /*break*/, 22];
|
|
4151
4196
|
case 21:
|
|
4152
|
-
err_1 =
|
|
4197
|
+
err_1 = _k.sent();
|
|
4153
4198
|
console.error("Failed during custom test");
|
|
4154
4199
|
if (err_1.message && err_1.info) {
|
|
4155
4200
|
console.error(err_1.message, JSON.stringify(err_1.info, null, 2));
|
|
@@ -4160,15 +4205,18 @@ var tests = {
|
|
|
4160
4205
|
process.exit(1);
|
|
4161
4206
|
return [3 /*break*/, 22];
|
|
4162
4207
|
case 22:
|
|
4163
|
-
_a =
|
|
4164
|
-
|
|
4165
|
-
|
|
4208
|
+
_a = schema_1.schema;
|
|
4209
|
+
_b = [];
|
|
4210
|
+
for (_c in _a)
|
|
4211
|
+
_b.push(_c);
|
|
4166
4212
|
_i = 0;
|
|
4167
|
-
|
|
4213
|
+
_k.label = 23;
|
|
4168
4214
|
case 23:
|
|
4169
|
-
if (!(_i <
|
|
4170
|
-
|
|
4171
|
-
|
|
4215
|
+
if (!(_i < _b.length)) return [3 /*break*/, 26];
|
|
4216
|
+
_c = _b[_i];
|
|
4217
|
+
if (!(_c in _a)) return [3 /*break*/, 25];
|
|
4218
|
+
n = _c;
|
|
4219
|
+
returnValidation = (_j = (_h = schema_1.schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
|
|
4172
4220
|
return [4 /*yield*/, run_generated_tests({
|
|
4173
4221
|
queries: sdk.api[n],
|
|
4174
4222
|
model: schema_1.schema[n],
|
|
@@ -4178,35 +4226,38 @@ var tests = {
|
|
|
4178
4226
|
}
|
|
4179
4227
|
})];
|
|
4180
4228
|
case 24:
|
|
4181
|
-
|
|
4182
|
-
|
|
4229
|
+
_k.sent();
|
|
4230
|
+
_k.label = 25;
|
|
4183
4231
|
case 25:
|
|
4184
4232
|
_i++;
|
|
4185
4233
|
return [3 /*break*/, 23];
|
|
4186
4234
|
case 26:
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4235
|
+
_d = tests;
|
|
4236
|
+
_e = [];
|
|
4237
|
+
for (_f in _d)
|
|
4238
|
+
_e.push(_f);
|
|
4239
|
+
_g = 0;
|
|
4240
|
+
_k.label = 27;
|
|
4192
4241
|
case 27:
|
|
4193
|
-
if (!(
|
|
4194
|
-
|
|
4195
|
-
|
|
4242
|
+
if (!(_g < _e.length)) return [3 /*break*/, 32];
|
|
4243
|
+
_f = _e[_g];
|
|
4244
|
+
if (!(_f in _d)) return [3 /*break*/, 31];
|
|
4245
|
+
t = _f;
|
|
4246
|
+
_k.label = 28;
|
|
4196
4247
|
case 28:
|
|
4197
|
-
|
|
4248
|
+
_k.trys.push([28, 30, , 31]);
|
|
4198
4249
|
return [4 /*yield*/, tests[t]()];
|
|
4199
4250
|
case 29:
|
|
4200
|
-
|
|
4251
|
+
_k.sent();
|
|
4201
4252
|
return [3 /*break*/, 31];
|
|
4202
4253
|
case 30:
|
|
4203
|
-
err_2 =
|
|
4254
|
+
err_2 = _k.sent();
|
|
4204
4255
|
console.error("Error running test:");
|
|
4205
4256
|
console.error(err_2);
|
|
4206
4257
|
process.exit(1);
|
|
4207
4258
|
return [3 /*break*/, 31];
|
|
4208
4259
|
case 31:
|
|
4209
|
-
|
|
4260
|
+
_g++;
|
|
4210
4261
|
return [3 /*break*/, 27];
|
|
4211
4262
|
case 32:
|
|
4212
4263
|
process.exit();
|