@tellescope/sdk 1.4.37 → 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 +3 -3
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/enduser.js +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 +5 -4
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/enduser.js +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/sdk.ts +1 -1
- package/src/tests/tests.ts +20 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAq+DA,eAAO,MAAM,qBAAqB,qBA8IjC,CAAA;AA4ID,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AA0eD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAoED,eAAO,MAAM,eAAe,qBA8C3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBAmJhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA"}
|
package/lib/esm/tests/tests.js
CHANGED
|
@@ -24,7 +24,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
24
24
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
25
|
function step(op) {
|
|
26
26
|
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (_) try {
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
28
|
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;
|
|
29
29
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
30
|
switch (op[0]) {
|
|
@@ -335,43 +335,82 @@ var sub_organization_tests = function () { return __awaiter(void 0, void 0, void
|
|
|
335
335
|
});
|
|
336
336
|
}); };
|
|
337
337
|
var sub_organization_enduser_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
338
|
-
var
|
|
339
|
-
|
|
340
|
-
|
|
338
|
+
var rootTicket, rootTicketAfterUpdate;
|
|
339
|
+
var _a, _b, _c;
|
|
340
|
+
return __generator(this, function (_d) {
|
|
341
|
+
switch (_d.label) {
|
|
341
342
|
case 0:
|
|
342
343
|
log_header("Sub Organizations (Enduser-Facing Tests)");
|
|
343
344
|
return [4 /*yield*/, enduserSDK.register({ email: 'root@tellescope.com', password: password })];
|
|
344
345
|
case 1:
|
|
345
|
-
|
|
346
|
+
_d.sent();
|
|
346
347
|
return [4 /*yield*/, subEnduserSDK.register({ email: 'sub@tellescope.com', password: password })];
|
|
347
348
|
case 2:
|
|
348
|
-
|
|
349
|
+
_d.sent();
|
|
349
350
|
return [4 /*yield*/, enduserSDK.authenticate('root@tellescope.com', password)];
|
|
350
351
|
case 3:
|
|
351
|
-
|
|
352
|
+
_d.sent();
|
|
352
353
|
return [4 /*yield*/, subEnduserSDK.authenticate('sub@tellescope.com', password)];
|
|
353
354
|
case 4:
|
|
354
|
-
|
|
355
|
+
_d.sent();
|
|
355
356
|
assert(!((_a = enduserSDK.userInfo.organizationIds) === null || _a === void 0 ? void 0 : _a.length), 'bad root organizationIds', 'root auth org ids');
|
|
356
357
|
assert(((_b = subEnduserSDK.userInfo.organizationIds) === null || _b === void 0 ? void 0 : _b.length) === 1, 'bad sub organizationIds', 'sub auth org ids');
|
|
357
|
-
return [4 /*yield*/,
|
|
358
|
+
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root', enduserId: enduserSDK.userInfo.id })];
|
|
358
359
|
case 5:
|
|
359
|
-
|
|
360
|
-
return [4 /*yield*/, async_test("
|
|
360
|
+
rootTicket = _d.sent();
|
|
361
|
+
return [4 /*yield*/, async_test("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
361
362
|
case 6:
|
|
362
|
-
|
|
363
|
-
return [4 /*yield*/, async_test("
|
|
363
|
+
_d.sent();
|
|
364
|
+
return [4 /*yield*/, async_test("sub get root error", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, handleAnyError)];
|
|
364
365
|
case 7:
|
|
365
|
-
|
|
366
|
-
return [4 /*yield*/, async_test("
|
|
366
|
+
_d.sent();
|
|
367
|
+
return [4 /*yield*/, async_test("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
367
368
|
case 8:
|
|
368
|
-
|
|
369
|
+
_d.sent();
|
|
370
|
+
return [4 /*yield*/, async_test("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
371
|
+
case 9:
|
|
372
|
+
_d.sent();
|
|
373
|
+
return [4 /*yield*/, async_test("root get root ticket", function () { return sdk.api.tickets.getOne(rootTicket.id); }, passOnAnyResult)];
|
|
374
|
+
case 10:
|
|
375
|
+
_d.sent();
|
|
376
|
+
return [4 /*yield*/, async_test("sub get root ticket error", function () { return sdkSub.api.tickets.getOne(rootTicket.id); }, handleAnyError)];
|
|
377
|
+
case 11:
|
|
378
|
+
_d.sent();
|
|
379
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserSDK.userInfo.id, { sharedWithOrganizations: [(_c = sdkSub.userInfo.organizationIds) !== null && _c !== void 0 ? _c : []] })];
|
|
380
|
+
case 12:
|
|
381
|
+
_d.sent();
|
|
382
|
+
return [4 /*yield*/, enduserSDK.refresh_session()]; // ensure updated session includes new sharedWithOrganizations
|
|
383
|
+
case 13:
|
|
384
|
+
_d.sent(); // ensure updated session includes new sharedWithOrganizations
|
|
385
|
+
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root with shared', enduserId: enduserSDK.userInfo.id })];
|
|
386
|
+
case 14:
|
|
387
|
+
rootTicketAfterUpdate = _d.sent();
|
|
388
|
+
return [4 /*yield*/, async_test("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
389
|
+
case 15:
|
|
390
|
+
_d.sent();
|
|
391
|
+
return [4 /*yield*/, async_test("sub get root after update", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
392
|
+
case 16:
|
|
393
|
+
_d.sent();
|
|
394
|
+
return [4 /*yield*/, async_test("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
395
|
+
case 17:
|
|
396
|
+
_d.sent();
|
|
397
|
+
return [4 /*yield*/, async_test("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
398
|
+
case 18:
|
|
399
|
+
_d.sent();
|
|
400
|
+
return [4 /*yield*/, async_test("root get root ticket after update", function () { return sdk.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
401
|
+
case 19:
|
|
402
|
+
_d.sent();
|
|
403
|
+
return [4 /*yield*/, async_test("sub get root ticket after update", function () { return sdkSub.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
404
|
+
case 20:
|
|
405
|
+
_d.sent();
|
|
369
406
|
return [4 /*yield*/, Promise.all([
|
|
370
407
|
sdk.api.endusers.deleteOne(enduserSDK.userInfo.id),
|
|
371
408
|
sdk.api.endusers.deleteOne(subEnduserSDK.userInfo.id),
|
|
409
|
+
sdk.api.tickets.deleteOne(rootTicket.id),
|
|
410
|
+
sdk.api.tickets.deleteOne(rootTicketAfterUpdate.id),
|
|
372
411
|
])];
|
|
373
|
-
case
|
|
374
|
-
|
|
412
|
+
case 21:
|
|
413
|
+
_d.sent();
|
|
375
414
|
return [2 /*return*/];
|
|
376
415
|
}
|
|
377
416
|
});
|
|
@@ -693,9 +732,9 @@ var has_required_field = function (fields) { return Object.values(fields).find(f
|
|
|
693
732
|
var verify_missing_defaults = function (_a) {
|
|
694
733
|
var queries = _a.queries, model = _a.model, name = _a.name;
|
|
695
734
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
696
|
-
var queryForOperation, o, _b, _c, _i;
|
|
697
|
-
return __generator(this, function (
|
|
698
|
-
switch (
|
|
735
|
+
var queryForOperation, o, _b, _c, _d, _i;
|
|
736
|
+
return __generator(this, function (_e) {
|
|
737
|
+
switch (_e.label) {
|
|
699
738
|
case 0:
|
|
700
739
|
queryForOperation = {
|
|
701
740
|
create: function () { return queries.createOne({}); },
|
|
@@ -705,20 +744,23 @@ var verify_missing_defaults = function (_a) {
|
|
|
705
744
|
update: function () { return queries.updateOne('fakeid', {}); },
|
|
706
745
|
delete: function () { return queries.deleteOne('fakeid'); },
|
|
707
746
|
};
|
|
708
|
-
_b =
|
|
709
|
-
|
|
710
|
-
|
|
747
|
+
_b = DEFAULT_OPERATIONS;
|
|
748
|
+
_c = [];
|
|
749
|
+
for (_d in _b)
|
|
750
|
+
_c.push(_d);
|
|
711
751
|
_i = 0;
|
|
712
|
-
|
|
752
|
+
_e.label = 1;
|
|
713
753
|
case 1:
|
|
714
|
-
if (!(_i <
|
|
715
|
-
|
|
754
|
+
if (!(_i < _c.length)) return [3 /*break*/, 4];
|
|
755
|
+
_d = _c[_i];
|
|
756
|
+
if (!(_d in _b)) return [3 /*break*/, 3];
|
|
757
|
+
o = _d;
|
|
716
758
|
if (Object.keys(model.defaultActions).includes(o) || model.customActions[o])
|
|
717
759
|
return [3 /*break*/, 3]; // action is implemented
|
|
718
760
|
return [4 /*yield*/, 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'; } })];
|
|
719
761
|
case 2:
|
|
720
|
-
|
|
721
|
-
|
|
762
|
+
_e.sent();
|
|
763
|
+
_e.label = 3;
|
|
722
764
|
case 3:
|
|
723
765
|
_i++;
|
|
724
766
|
return [3 /*break*/, 1];
|
|
@@ -1636,138 +1678,141 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1636
1678
|
});
|
|
1637
1679
|
}); };
|
|
1638
1680
|
var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1639
|
-
var email, password, enduser, enduser2, uInfo, originalAuthToken, _loop_1, _a, _b, _i, n, ticketAccessible, ticketInaccessible;
|
|
1640
|
-
var
|
|
1641
|
-
return __generator(this, function (
|
|
1642
|
-
switch (
|
|
1681
|
+
var email, password, enduser, enduser2, uInfo, originalAuthToken, _loop_1, _a, _b, _c, _i, n, ticketAccessible, ticketInaccessible;
|
|
1682
|
+
var _d, _e, _f, _g, _h, _j;
|
|
1683
|
+
return __generator(this, function (_k) {
|
|
1684
|
+
switch (_k.label) {
|
|
1643
1685
|
case 0:
|
|
1644
1686
|
log_header("Enduser Access");
|
|
1645
1687
|
email = 'enduser@tellescope.com';
|
|
1646
1688
|
password = 'testpassword';
|
|
1647
1689
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
|
|
1648
1690
|
case 1:
|
|
1649
|
-
enduser =
|
|
1691
|
+
enduser = _k.sent();
|
|
1650
1692
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'hi' + email })];
|
|
1651
1693
|
case 2:
|
|
1652
|
-
enduser2 =
|
|
1694
|
+
enduser2 = _k.sent();
|
|
1653
1695
|
return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
|
|
1654
1696
|
case 3:
|
|
1655
|
-
|
|
1697
|
+
_k.sent();
|
|
1656
1698
|
return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
|
|
1657
1699
|
case 4:
|
|
1658
|
-
|
|
1700
|
+
_k.sent();
|
|
1659
1701
|
return [4 /*yield*/, wait(undefined, 1000)]; // wait so that refresh_session generates a new authToken (different timestamp)
|
|
1660
1702
|
case 5:
|
|
1661
|
-
|
|
1703
|
+
_k.sent(); // wait so that refresh_session generates a new authToken (different timestamp)
|
|
1662
1704
|
uInfo = enduserSDK.userInfo;
|
|
1663
1705
|
originalAuthToken = enduserSDK.authToken;
|
|
1664
1706
|
return [4 /*yield*/, enduserSDK.refresh_session()];
|
|
1665
1707
|
case 6:
|
|
1666
|
-
|
|
1708
|
+
_k.sent();
|
|
1667
1709
|
assert(uInfo.id === enduserSDK.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
|
|
1668
1710
|
assert(!!originalAuthToken && !!enduserSDK.authToken && enduserSDK.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
|
|
1669
1711
|
return [4 /*yield*/, 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"; } })];
|
|
1670
1712
|
case 7:
|
|
1671
|
-
|
|
1713
|
+
_k.sent();
|
|
1672
1714
|
_loop_1 = function (n) {
|
|
1673
1715
|
var endpoint, model;
|
|
1674
|
-
return __generator(this, function (
|
|
1675
|
-
switch (
|
|
1716
|
+
return __generator(this, function (_l) {
|
|
1717
|
+
switch (_l.label) {
|
|
1676
1718
|
case 0:
|
|
1677
1719
|
endpoint = url_safe_path(n);
|
|
1678
1720
|
model = schema[n];
|
|
1679
1721
|
if (n === 'webhooks')
|
|
1680
1722
|
return [2 /*return*/, "continue"]; // no default endpoints implemented
|
|
1681
|
-
if (!(!((
|
|
1723
|
+
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];
|
|
1682
1724
|
return [4 /*yield*/, 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'; } })];
|
|
1683
1725
|
case 1:
|
|
1684
|
-
|
|
1685
|
-
|
|
1726
|
+
_l.sent();
|
|
1727
|
+
_l.label = 2;
|
|
1686
1728
|
case 2:
|
|
1687
|
-
if (!(!((
|
|
1729
|
+
if (!(!((_e = model.enduserActions) === null || _e === void 0 ? void 0 : _e.readMany) && (model.defaultActions.readMany || model.customActions.readMany))) return [3 /*break*/, 4];
|
|
1688
1730
|
return [4 /*yield*/, 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'; } })];
|
|
1689
1731
|
case 3:
|
|
1690
|
-
|
|
1691
|
-
|
|
1732
|
+
_l.sent();
|
|
1733
|
+
_l.label = 4;
|
|
1692
1734
|
case 4:
|
|
1693
|
-
if (!(!((
|
|
1735
|
+
if (!(!((_f = model.enduserActions) === null || _f === void 0 ? void 0 : _f.create) && (model.defaultActions.create || model.customActions.create))) return [3 /*break*/, 6];
|
|
1694
1736
|
return [4 /*yield*/, 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'; } })];
|
|
1695
1737
|
case 5:
|
|
1696
|
-
|
|
1697
|
-
|
|
1738
|
+
_l.sent();
|
|
1739
|
+
_l.label = 6;
|
|
1698
1740
|
case 6:
|
|
1699
|
-
if (!(!((
|
|
1741
|
+
if (!(!((_g = model.enduserActions) === null || _g === void 0 ? void 0 : _g.createMany) && (model.defaultActions.createMany || model.customActions.createMany))) return [3 /*break*/, 8];
|
|
1700
1742
|
return [4 /*yield*/, 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'; } })];
|
|
1701
1743
|
case 7:
|
|
1702
|
-
|
|
1703
|
-
|
|
1744
|
+
_l.sent();
|
|
1745
|
+
_l.label = 8;
|
|
1704
1746
|
case 8:
|
|
1705
|
-
if (!(!((
|
|
1747
|
+
if (!(!((_h = model.enduserActions) === null || _h === void 0 ? void 0 : _h.update) && (model.defaultActions.update || model.customActions.update))) return [3 /*break*/, 10];
|
|
1706
1748
|
return [4 /*yield*/, 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'; } })];
|
|
1707
1749
|
case 9:
|
|
1708
|
-
|
|
1709
|
-
|
|
1750
|
+
_l.sent();
|
|
1751
|
+
_l.label = 10;
|
|
1710
1752
|
case 10:
|
|
1711
|
-
if (!(!((
|
|
1753
|
+
if (!(!((_j = model.enduserActions) === null || _j === void 0 ? void 0 : _j.delete) && (model.defaultActions.delete || model.customActions.delete))) return [3 /*break*/, 12];
|
|
1712
1754
|
return [4 /*yield*/, 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'; } })];
|
|
1713
1755
|
case 11:
|
|
1714
|
-
|
|
1715
|
-
|
|
1756
|
+
_l.sent();
|
|
1757
|
+
_l.label = 12;
|
|
1716
1758
|
case 12: return [2 /*return*/];
|
|
1717
1759
|
}
|
|
1718
1760
|
});
|
|
1719
1761
|
};
|
|
1720
|
-
_a =
|
|
1721
|
-
|
|
1722
|
-
|
|
1762
|
+
_a = schema;
|
|
1763
|
+
_b = [];
|
|
1764
|
+
for (_c in _a)
|
|
1765
|
+
_b.push(_c);
|
|
1723
1766
|
_i = 0;
|
|
1724
|
-
|
|
1767
|
+
_k.label = 8;
|
|
1725
1768
|
case 8:
|
|
1726
|
-
if (!(_i <
|
|
1727
|
-
|
|
1769
|
+
if (!(_i < _b.length)) return [3 /*break*/, 11];
|
|
1770
|
+
_c = _b[_i];
|
|
1771
|
+
if (!(_c in _a)) return [3 /*break*/, 10];
|
|
1772
|
+
n = _c;
|
|
1728
1773
|
return [5 /*yield**/, _loop_1(n)];
|
|
1729
1774
|
case 9:
|
|
1730
|
-
|
|
1731
|
-
|
|
1775
|
+
_k.sent();
|
|
1776
|
+
_k.label = 10;
|
|
1732
1777
|
case 10:
|
|
1733
1778
|
_i++;
|
|
1734
1779
|
return [3 /*break*/, 8];
|
|
1735
1780
|
case 11: return [4 /*yield*/, 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"; } })];
|
|
1736
1781
|
case 12:
|
|
1737
|
-
|
|
1782
|
+
_k.sent();
|
|
1738
1783
|
return [4 /*yield*/, 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"; } })];
|
|
1739
1784
|
case 13:
|
|
1740
|
-
|
|
1785
|
+
_k.sent();
|
|
1741
1786
|
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: enduser.id, title: "Accessible ticket" })];
|
|
1742
1787
|
case 14:
|
|
1743
|
-
ticketAccessible =
|
|
1788
|
+
ticketAccessible = _k.sent();
|
|
1744
1789
|
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: PLACEHOLDER_ID, title: "Inaccessible ticket" })];
|
|
1745
1790
|
case 15:
|
|
1746
|
-
ticketInaccessible =
|
|
1791
|
+
ticketInaccessible = _k.sent();
|
|
1747
1792
|
return [4 /*yield*/, 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; } })];
|
|
1748
1793
|
case 16:
|
|
1749
|
-
|
|
1794
|
+
_k.sent();
|
|
1750
1795
|
return [4 /*yield*/, 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; } })];
|
|
1751
1796
|
case 17:
|
|
1752
|
-
|
|
1797
|
+
_k.sent();
|
|
1753
1798
|
return [4 /*yield*/, 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"); } })];
|
|
1754
1799
|
case 18:
|
|
1755
|
-
|
|
1800
|
+
_k.sent();
|
|
1756
1801
|
return [4 /*yield*/, async_test("no-enduser-access default, no access constraints, get many", function () { return enduserSDK.api.tickets.getSome(); }, { onResult: function (ts) { return ts.length === 1; } })];
|
|
1757
1802
|
case 19:
|
|
1758
|
-
|
|
1803
|
+
_k.sent();
|
|
1759
1804
|
return [4 /*yield*/, sdk.api.tickets.deleteOne(ticketAccessible.id)];
|
|
1760
1805
|
case 20:
|
|
1761
|
-
|
|
1806
|
+
_k.sent();
|
|
1762
1807
|
return [4 /*yield*/, sdk.api.tickets.deleteOne(ticketInaccessible.id)];
|
|
1763
1808
|
case 21:
|
|
1764
|
-
|
|
1809
|
+
_k.sent();
|
|
1765
1810
|
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
1766
1811
|
case 22:
|
|
1767
|
-
|
|
1812
|
+
_k.sent();
|
|
1768
1813
|
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser2.id)];
|
|
1769
1814
|
case 23:
|
|
1770
|
-
|
|
1815
|
+
_k.sent();
|
|
1771
1816
|
return [2 /*return*/];
|
|
1772
1817
|
}
|
|
1773
1818
|
});
|
|
@@ -2233,7 +2278,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2233
2278
|
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserWithTeam.id, { journeys: (_b = {}, _b[nullJourney.id] = 'Added (Null)', _b) })];
|
|
2234
2279
|
case 16:
|
|
2235
2280
|
_c.sent();
|
|
2236
|
-
return [4 /*yield*/, wait(undefined,
|
|
2281
|
+
return [4 /*yield*/, wait(undefined, 2000)]; // wait for tickets to be automatically created
|
|
2237
2282
|
case 17:
|
|
2238
2283
|
_c.sent(); // wait for tickets to be automatically created
|
|
2239
2284
|
return [4 /*yield*/, 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; } })];
|
|
@@ -2697,13 +2742,13 @@ var addToJourneyTests = function () { return __awaiter(void 0, void 0, void 0, f
|
|
|
2697
2742
|
case 5:
|
|
2698
2743
|
// add to journey and re-add
|
|
2699
2744
|
_a.sent();
|
|
2700
|
-
return [4 /*yield*/, wait(undefined,
|
|
2745
|
+
return [4 /*yield*/, wait(undefined, 4000)]; // allow onJourneyStart step to trigger
|
|
2701
2746
|
case 6:
|
|
2702
2747
|
_a.sent(); // allow onJourneyStart step to trigger
|
|
2703
2748
|
return [4 /*yield*/, sdk.api.endusers.add_to_journey({ enduserIds: [enduser.id], journeyId: journey.id })];
|
|
2704
2749
|
case 7:
|
|
2705
2750
|
_a.sent();
|
|
2706
|
-
return [4 /*yield*/, wait(undefined,
|
|
2751
|
+
return [4 /*yield*/, wait(undefined, 4000)]; // allow onJourneyStart step to trigger
|
|
2707
2752
|
case 8:
|
|
2708
2753
|
_a.sent(); // allow onJourneyStart step to trigger
|
|
2709
2754
|
return [4 /*yield*/, async_test("Enduser correctly added and re-added", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (es) { return es.length === 4
|
|
@@ -4038,15 +4083,15 @@ var tests = {
|
|
|
4038
4083
|
integrations: NO_TEST,
|
|
4039
4084
|
};
|
|
4040
4085
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
4041
|
-
var err_1, n, _a, _b, _i, returnValidation, t,
|
|
4042
|
-
var
|
|
4043
|
-
return __generator(this, function (
|
|
4044
|
-
switch (
|
|
4086
|
+
var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
|
|
4087
|
+
var _h, _j;
|
|
4088
|
+
return __generator(this, function (_k) {
|
|
4089
|
+
switch (_k.label) {
|
|
4045
4090
|
case 0:
|
|
4046
4091
|
log_header("API");
|
|
4047
|
-
|
|
4092
|
+
_k.label = 1;
|
|
4048
4093
|
case 1:
|
|
4049
|
-
|
|
4094
|
+
_k.trys.push([1, 21, , 22]);
|
|
4050
4095
|
return [4 /*yield*/, Promise.all([
|
|
4051
4096
|
sdk.authenticate(email, password),
|
|
4052
4097
|
sdkSub.authenticate(subUserEmail, password),
|
|
@@ -4055,64 +4100,64 @@ var tests = {
|
|
|
4055
4100
|
sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
|
|
4056
4101
|
])];
|
|
4057
4102
|
case 2:
|
|
4058
|
-
|
|
4103
|
+
_k.sent();
|
|
4059
4104
|
return [4 /*yield*/, setup_tests()];
|
|
4060
4105
|
case 3:
|
|
4061
|
-
|
|
4106
|
+
_k.sent();
|
|
4062
4107
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
4063
4108
|
case 4:
|
|
4064
|
-
|
|
4109
|
+
_k.sent(); // should come right after setup tests
|
|
4065
4110
|
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
4066
4111
|
case 5:
|
|
4067
|
-
|
|
4112
|
+
_k.sent();
|
|
4068
4113
|
return [4 /*yield*/, sub_organization_tests()];
|
|
4069
4114
|
case 6:
|
|
4070
|
-
|
|
4115
|
+
_k.sent();
|
|
4071
4116
|
return [4 /*yield*/, self_serve_appointment_booking_tests()];
|
|
4072
4117
|
case 7:
|
|
4073
|
-
|
|
4118
|
+
_k.sent();
|
|
4074
4119
|
return [4 /*yield*/, filter_by_date_tests()];
|
|
4075
4120
|
case 8:
|
|
4076
|
-
|
|
4121
|
+
_k.sent();
|
|
4077
4122
|
return [4 /*yield*/, generate_user_auth_tests()];
|
|
4078
4123
|
case 9:
|
|
4079
|
-
|
|
4124
|
+
_k.sent();
|
|
4080
4125
|
return [4 /*yield*/, role_based_access_tests()];
|
|
4081
4126
|
case 10:
|
|
4082
|
-
|
|
4127
|
+
_k.sent();
|
|
4083
4128
|
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
4084
4129
|
case 11:
|
|
4085
|
-
|
|
4130
|
+
_k.sent();
|
|
4086
4131
|
return [4 /*yield*/, public_form_tests()];
|
|
4087
4132
|
case 12:
|
|
4088
|
-
|
|
4133
|
+
_k.sent();
|
|
4089
4134
|
return [4 /*yield*/, search_tests()];
|
|
4090
4135
|
case 13:
|
|
4091
|
-
|
|
4136
|
+
_k.sent();
|
|
4092
4137
|
return [4 /*yield*/, badInputTests()];
|
|
4093
4138
|
case 14:
|
|
4094
|
-
|
|
4139
|
+
_k.sent();
|
|
4095
4140
|
return [4 /*yield*/, filterTests()];
|
|
4096
4141
|
case 15:
|
|
4097
|
-
|
|
4142
|
+
_k.sent();
|
|
4098
4143
|
return [4 /*yield*/, updatesTests()];
|
|
4099
4144
|
case 16:
|
|
4100
|
-
|
|
4145
|
+
_k.sent();
|
|
4101
4146
|
return [4 /*yield*/, threadKeyTests()];
|
|
4102
4147
|
case 17:
|
|
4103
|
-
|
|
4148
|
+
_k.sent();
|
|
4104
4149
|
return [4 /*yield*/, enduserAccessTests()];
|
|
4105
4150
|
case 18:
|
|
4106
|
-
|
|
4151
|
+
_k.sent();
|
|
4107
4152
|
return [4 /*yield*/, enduser_session_tests()];
|
|
4108
4153
|
case 19:
|
|
4109
|
-
|
|
4154
|
+
_k.sent();
|
|
4110
4155
|
return [4 /*yield*/, enduser_redaction_tests()];
|
|
4111
4156
|
case 20:
|
|
4112
|
-
|
|
4157
|
+
_k.sent();
|
|
4113
4158
|
return [3 /*break*/, 22];
|
|
4114
4159
|
case 21:
|
|
4115
|
-
err_1 =
|
|
4160
|
+
err_1 = _k.sent();
|
|
4116
4161
|
console.error("Failed during custom test");
|
|
4117
4162
|
if (err_1.message && err_1.info) {
|
|
4118
4163
|
console.error(err_1.message, JSON.stringify(err_1.info, null, 2));
|
|
@@ -4123,15 +4168,18 @@ var tests = {
|
|
|
4123
4168
|
process.exit(1);
|
|
4124
4169
|
return [3 /*break*/, 22];
|
|
4125
4170
|
case 22:
|
|
4126
|
-
_a =
|
|
4127
|
-
|
|
4128
|
-
|
|
4171
|
+
_a = schema;
|
|
4172
|
+
_b = [];
|
|
4173
|
+
for (_c in _a)
|
|
4174
|
+
_b.push(_c);
|
|
4129
4175
|
_i = 0;
|
|
4130
|
-
|
|
4176
|
+
_k.label = 23;
|
|
4131
4177
|
case 23:
|
|
4132
|
-
if (!(_i <
|
|
4133
|
-
|
|
4134
|
-
|
|
4178
|
+
if (!(_i < _b.length)) return [3 /*break*/, 26];
|
|
4179
|
+
_c = _b[_i];
|
|
4180
|
+
if (!(_c in _a)) return [3 /*break*/, 25];
|
|
4181
|
+
n = _c;
|
|
4182
|
+
returnValidation = (_j = (_h = schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
|
|
4135
4183
|
return [4 /*yield*/, run_generated_tests({
|
|
4136
4184
|
queries: sdk.api[n],
|
|
4137
4185
|
model: schema[n],
|
|
@@ -4141,35 +4189,38 @@ var tests = {
|
|
|
4141
4189
|
}
|
|
4142
4190
|
})];
|
|
4143
4191
|
case 24:
|
|
4144
|
-
|
|
4145
|
-
|
|
4192
|
+
_k.sent();
|
|
4193
|
+
_k.label = 25;
|
|
4146
4194
|
case 25:
|
|
4147
4195
|
_i++;
|
|
4148
4196
|
return [3 /*break*/, 23];
|
|
4149
4197
|
case 26:
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4198
|
+
_d = tests;
|
|
4199
|
+
_e = [];
|
|
4200
|
+
for (_f in _d)
|
|
4201
|
+
_e.push(_f);
|
|
4202
|
+
_g = 0;
|
|
4203
|
+
_k.label = 27;
|
|
4155
4204
|
case 27:
|
|
4156
|
-
if (!(
|
|
4157
|
-
|
|
4158
|
-
|
|
4205
|
+
if (!(_g < _e.length)) return [3 /*break*/, 32];
|
|
4206
|
+
_f = _e[_g];
|
|
4207
|
+
if (!(_f in _d)) return [3 /*break*/, 31];
|
|
4208
|
+
t = _f;
|
|
4209
|
+
_k.label = 28;
|
|
4159
4210
|
case 28:
|
|
4160
|
-
|
|
4211
|
+
_k.trys.push([28, 30, , 31]);
|
|
4161
4212
|
return [4 /*yield*/, tests[t]()];
|
|
4162
4213
|
case 29:
|
|
4163
|
-
|
|
4214
|
+
_k.sent();
|
|
4164
4215
|
return [3 /*break*/, 31];
|
|
4165
4216
|
case 30:
|
|
4166
|
-
err_2 =
|
|
4217
|
+
err_2 = _k.sent();
|
|
4167
4218
|
console.error("Error running test:");
|
|
4168
4219
|
console.error(err_2);
|
|
4169
4220
|
process.exit(1);
|
|
4170
4221
|
return [3 /*break*/, 31];
|
|
4171
4222
|
case 31:
|
|
4172
|
-
|
|
4223
|
+
_g++;
|
|
4173
4224
|
return [3 /*break*/, 27];
|
|
4174
4225
|
case 32:
|
|
4175
4226
|
process.exit();
|