@tellescope/sdk 0.0.90 → 0.0.93
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 +2 -1
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/enduser.js +5 -0
- package/lib/cjs/enduser.js.map +1 -1
- package/lib/cjs/public.d.ts.map +1 -1
- package/lib/cjs/public.js.map +1 -1
- package/lib/cjs/session.d.ts +0 -1
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +246 -45
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +2 -2
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/enduser.js +5 -0
- package/lib/esm/enduser.js.map +1 -1
- package/lib/esm/public.d.ts.map +1 -1
- package/lib/esm/public.js.map +1 -1
- package/lib/esm/sdk.d.ts +0 -1
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/role_based_access_permissions.d.ts +3 -0
- package/lib/esm/tests/api_tests/role_based_access_permissions.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/role_based_access_permissions.js +4 -0
- package/lib/esm/tests/api_tests/role_based_access_permissions.js.map +1 -0
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +246 -45
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/enduser.ts +7 -1
- package/src/public.ts +1 -0
- package/src/tests/tests.ts +173 -2
package/lib/esm/tests/tests.js
CHANGED
|
@@ -471,7 +471,7 @@ var verify_missing_defaults = function (_a) {
|
|
|
471
471
|
o = _b[_i];
|
|
472
472
|
if (Object.keys(model.defaultActions).includes(o) || model.customActions[o])
|
|
473
473
|
return [3 /*break*/, 3]; // action is implemented
|
|
474
|
-
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'; } })];
|
|
474
|
+
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'; } })];
|
|
475
475
|
case 2:
|
|
476
476
|
_d.sent();
|
|
477
477
|
_d.label = 3;
|
|
@@ -597,79 +597,90 @@ var enduser_tests = function (queries) {
|
|
|
597
597
|
var e1, e2, eToDup1, eToDup2;
|
|
598
598
|
return __generator(this, function (_a) {
|
|
599
599
|
switch (_a.label) {
|
|
600
|
-
case 0:
|
|
600
|
+
case 0:
|
|
601
|
+
log_header("Enduser");
|
|
602
|
+
return [4 /*yield*/, queries.createOne({ email: 'test1@gmail.com', phone: '+14155555500' })];
|
|
601
603
|
case 1:
|
|
602
604
|
e1 = _a.sent();
|
|
603
605
|
return [4 /*yield*/, queries.createOne({ email: 'test2@gmail.com', phone: '+14155555501' })];
|
|
604
606
|
case 2:
|
|
605
607
|
e2 = _a.sent();
|
|
606
|
-
return [4 /*yield*/,
|
|
608
|
+
return [4 /*yield*/, enduserSDK.register({ email: 'test3@gmail.com', password: "testenduserpassword" })];
|
|
607
609
|
case 3:
|
|
608
610
|
_a.sent();
|
|
609
|
-
return [4 /*yield*/, async_test("
|
|
611
|
+
return [4 /*yield*/, async_test("get-enduser registered", function () { return queries.getOne({ email: 'test3@gmail.com' }); }, { onResult: function (e) { return !!e; } })];
|
|
610
612
|
case 4:
|
|
611
613
|
_a.sent();
|
|
612
|
-
return [4 /*yield*/, async_test("
|
|
614
|
+
return [4 /*yield*/, async_test("enduser registered can log in", function () { return enduserSDK.authenticate('test3@gmail.com', 'testenduserpassword'); }, { onResult: function (e) { return !!e.authToken && e.enduser.email === 'test3@gmail.com'; } })];
|
|
613
615
|
case 5:
|
|
614
616
|
_a.sent();
|
|
615
|
-
return [4 /*yield*/, async_test("update-enduser
|
|
617
|
+
return [4 /*yield*/, async_test("update-enduser email conflict", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { email: e2.email }); }, { shouldError: true, onError: function () { return true; } })];
|
|
616
618
|
case 6:
|
|
617
619
|
_a.sent();
|
|
618
|
-
return [4 /*yield*/, async_test("update-enduser
|
|
620
|
+
return [4 /*yield*/, async_test("update-enduser phone conflict", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { phone: e2.phone }); }, { shouldError: true, onError: function () { return true; } })];
|
|
619
621
|
case 7:
|
|
620
622
|
_a.sent();
|
|
621
|
-
return [4 /*yield*/, async_test("
|
|
623
|
+
return [4 /*yield*/, async_test("update-enduser email and phone conflict", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { email: e2.email, phone: e2.phone }); }, { shouldError: true, onError: function () { return true; } })];
|
|
622
624
|
case 8:
|
|
623
625
|
_a.sent();
|
|
624
|
-
return [4 /*yield*/, async_test("update-enduser
|
|
626
|
+
return [4 /*yield*/, async_test("update-enduser working", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { email: 'edited' + e1.email }); }, passOnVoid)];
|
|
625
627
|
case 9:
|
|
626
628
|
_a.sent();
|
|
627
|
-
return [4 /*yield*/, async_test("
|
|
629
|
+
return [4 /*yield*/, async_test("update-enduser test replaceObjectFields 1", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { fields: { field1: '1' } }); }, passOnVoid)];
|
|
628
630
|
case 10:
|
|
629
631
|
_a.sent();
|
|
630
|
-
return [4 /*yield*/, async_test("
|
|
632
|
+
return [4 /*yield*/, async_test("get-enduser test replaceObjectFields verify 1", function () { var _a; return queries.getOne((_a = e1.id) !== null && _a !== void 0 ? _a : ''); }, { onResult: function (e) { var _a; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a.field1) === '1'; } })];
|
|
631
633
|
case 11:
|
|
632
634
|
_a.sent();
|
|
633
|
-
return [4 /*yield*/, async_test("
|
|
635
|
+
return [4 /*yield*/, async_test("update-enduser test replaceObjectFields 2", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { fields: { field2: '2' } }); }, passOnVoid)];
|
|
634
636
|
case 12:
|
|
635
637
|
_a.sent();
|
|
636
|
-
return [4 /*yield*/, async_test("
|
|
638
|
+
return [4 /*yield*/, async_test("get-enduser test replaceObjectFields verify 2", function () { var _a; return queries.getOne((_a = e1.id) !== null && _a !== void 0 ? _a : ''); }, { onResult: function (e) { var _a, _b; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a.field1) === '1' && ((_b = e.fields) === null || _b === void 0 ? void 0 : _b.field2) === '2'; } })];
|
|
637
639
|
case 13:
|
|
638
640
|
_a.sent();
|
|
639
|
-
return [4 /*yield*/, async_test("
|
|
641
|
+
return [4 /*yield*/, async_test("update-enduser test replaceObjectFields true 1", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { fields: { field2: '_2' } }, { replaceObjectFields: true }); }, passOnVoid)];
|
|
640
642
|
case 14:
|
|
643
|
+
_a.sent();
|
|
644
|
+
return [4 /*yield*/, async_test("get-enduser test replaceObjectFields verify true 1", function () { var _a; return queries.getOne((_a = e1.id) !== null && _a !== void 0 ? _a : ''); }, { onResult: function (e) { var _a, _b; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a.field1) === undefined && ((_b = e.fields) === null || _b === void 0 ? void 0 : _b.field2) === '_2'; } })];
|
|
645
|
+
case 15:
|
|
646
|
+
_a.sent();
|
|
647
|
+
return [4 /*yield*/, async_test("update-enduser test replaceObjectFields true unset", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { fields: {} }, { replaceObjectFields: true }); }, passOnVoid)];
|
|
648
|
+
case 16:
|
|
649
|
+
_a.sent();
|
|
650
|
+
return [4 /*yield*/, async_test("get-enduser test replaceObjectFields verify true unset", function () { var _a; return queries.getOne((_a = e1.id) !== null && _a !== void 0 ? _a : ''); }, { onResult: function (e) { return objects_equivalent(e.fields, {}); } })];
|
|
651
|
+
case 17:
|
|
641
652
|
_a.sent();
|
|
642
653
|
eToDup1 = { email: 'dup1@tellescope.com' };
|
|
643
654
|
eToDup2 = { email: 'dup2@tellescope.com' };
|
|
644
655
|
return [4 /*yield*/, queries.createOne(eToDup1)];
|
|
645
|
-
case
|
|
656
|
+
case 18:
|
|
646
657
|
_a.sent();
|
|
647
658
|
return [4 /*yield*/, queries.createOne(eToDup2)];
|
|
648
|
-
case
|
|
659
|
+
case 19:
|
|
649
660
|
_a.sent();
|
|
650
661
|
return [4 /*yield*/, async_test("create-many-endusers - all conflict (1)", function () { return queries.createSome([eToDup1]); }, { shouldError: true, onError: function (e) { return e.message === 'Uniqueness Violation'; } })];
|
|
651
|
-
case
|
|
662
|
+
case 20:
|
|
652
663
|
_a.sent();
|
|
653
664
|
return [4 /*yield*/, async_test("create-many-endusers - all conflict (2)", function () { return queries.createSome([eToDup1, eToDup2]); }, { shouldError: true, onError: function (e) { return e.message === 'Uniqueness Violation'; } })];
|
|
654
|
-
case
|
|
665
|
+
case 21:
|
|
655
666
|
_a.sent();
|
|
656
667
|
return [4 /*yield*/, async_test("create-many-endusers - multiple email conflict", function () { return queries.createSome([eToDup1, eToDup2, { email: "unique@tellescope.com" }]); }, { onResult: function (_a) {
|
|
657
668
|
var created = _a.created, errors = _a.errors;
|
|
658
669
|
return created.length === 1 && errors.length === 2;
|
|
659
670
|
} })];
|
|
660
|
-
case
|
|
671
|
+
case 22:
|
|
661
672
|
_a.sent();
|
|
662
673
|
return [4 /*yield*/, async_test("create-many-endusers - create conflict, one unique", function () { return queries.createSome([{ email: 'd1@tellescope.com' }, { email: 'd1@tellescope.com' }, { email: 'd1@tellescope.com' }]); }, { onResult: function (_a) {
|
|
663
674
|
var created = _a.created, errors = _a.errors;
|
|
664
675
|
return created.length === 1 && errors.length === 2;
|
|
665
676
|
} })];
|
|
666
|
-
case
|
|
677
|
+
case 23:
|
|
667
678
|
_a.sent();
|
|
668
679
|
return [4 /*yield*/, async_test("create-many-endusers - create conflict, two unique", function () { return queries.createSome([{ email: 'd2@tellescope.com' }, { email: 'd2@tellescope.com' }, { email: 'createme@tellescope.com' }]); }, { onResult: function (_a) {
|
|
669
680
|
var created = _a.created, errors = _a.errors;
|
|
670
681
|
return created.length === 2 && errors.length === 1;
|
|
671
682
|
} })];
|
|
672
|
-
case
|
|
683
|
+
case 24:
|
|
673
684
|
_a.sent();
|
|
674
685
|
return [2 /*return*/];
|
|
675
686
|
}
|
|
@@ -1871,6 +1882,193 @@ var notifications_tests = function () { return __awaiter(void 0, void 0, void 0,
|
|
|
1871
1882
|
}
|
|
1872
1883
|
});
|
|
1873
1884
|
}); };
|
|
1885
|
+
var handleAnyError = { shouldError: true, onError: function () { return true; } };
|
|
1886
|
+
var passOnAnyResult = { onResult: function () { return true; } };
|
|
1887
|
+
var role_based_access_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1888
|
+
var adminId, nonAdminId, e, adminTicket, nonAdminTicket, nonAdminTicketNoEnduser, ticketCreatedByNonAdmin, email, sms, calendarEvent, chatRoom, chatMessage, chatMessage2;
|
|
1889
|
+
return __generator(this, function (_a) {
|
|
1890
|
+
switch (_a.label) {
|
|
1891
|
+
case 0:
|
|
1892
|
+
log_header("Role Based Access Tests");
|
|
1893
|
+
adminId = sdk.userInfo.id;
|
|
1894
|
+
nonAdminId = sdkNonAdmin.userInfo.id;
|
|
1895
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'roletest@gmail.com' })];
|
|
1896
|
+
case 1:
|
|
1897
|
+
e = _a.sent();
|
|
1898
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'ticket', enduserId: e.id, owner: adminId })];
|
|
1899
|
+
case 2:
|
|
1900
|
+
adminTicket = _a.sent();
|
|
1901
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'ticket', enduserId: e.id, owner: nonAdminId })];
|
|
1902
|
+
case 3:
|
|
1903
|
+
nonAdminTicket = _a.sent();
|
|
1904
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'ticket', owner: nonAdminId })];
|
|
1905
|
+
case 4:
|
|
1906
|
+
nonAdminTicketNoEnduser = _a.sent();
|
|
1907
|
+
return [4 /*yield*/, sdkNonAdmin.api.tickets.createOne({ title: 'ticket' })];
|
|
1908
|
+
case 5:
|
|
1909
|
+
ticketCreatedByNonAdmin = _a.sent();
|
|
1910
|
+
return [4 /*yield*/, sdk.api.emails.createOne({ enduserId: e.id, logOnly: true, subject: 'blah', textContent: 'blah blah' })];
|
|
1911
|
+
case 6:
|
|
1912
|
+
email = _a.sent();
|
|
1913
|
+
return [4 /*yield*/, sdk.api.sms_messages.createOne({ enduserId: e.id, logOnly: true, message: 'blah blah' })];
|
|
1914
|
+
case 7:
|
|
1915
|
+
sms = _a.sent();
|
|
1916
|
+
return [4 /*yield*/, sdk.api.calendar_events.createOne({
|
|
1917
|
+
attendees: [{ id: e.id, type: 'enduser' }],
|
|
1918
|
+
durationInMinutes: 50,
|
|
1919
|
+
startTimeInMS: 2000000,
|
|
1920
|
+
title: 'Access Test'
|
|
1921
|
+
})];
|
|
1922
|
+
case 8:
|
|
1923
|
+
calendarEvent = _a.sent();
|
|
1924
|
+
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ enduserIds: [e.id] })];
|
|
1925
|
+
case 9:
|
|
1926
|
+
chatRoom = _a.sent();
|
|
1927
|
+
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: chatRoom.id, message: 'test chat access' })];
|
|
1928
|
+
case 10:
|
|
1929
|
+
chatMessage = _a.sent();
|
|
1930
|
+
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: chatRoom.id, message: 'test chat access 2' })
|
|
1931
|
+
// unassigned to enduser access tests
|
|
1932
|
+
];
|
|
1933
|
+
case 11:
|
|
1934
|
+
chatMessage2 = _a.sent();
|
|
1935
|
+
// unassigned to enduser access tests
|
|
1936
|
+
return [4 /*yield*/, async_test("Admin / creator can access enduser without being assigned", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) { return !!e; } })];
|
|
1937
|
+
case 12:
|
|
1938
|
+
// unassigned to enduser access tests
|
|
1939
|
+
_a.sent();
|
|
1940
|
+
return [4 /*yield*/, async_test("Unassigned non-admin can't access enduser without being assigned", function () { return sdkNonAdmin.api.endusers.getOne(e.id); }, handleAnyError)];
|
|
1941
|
+
case 13:
|
|
1942
|
+
_a.sent();
|
|
1943
|
+
return [4 /*yield*/, async_test("non-admin for enduser ticket bad", function () { return sdkNonAdmin.api.tickets.getOne(adminTicket.id); }, handleAnyError)];
|
|
1944
|
+
case 14:
|
|
1945
|
+
_a.sent();
|
|
1946
|
+
return [4 /*yield*/, async_test("Non-admin for ticket", function () { return sdkNonAdmin.api.tickets.getOne(nonAdminTicketNoEnduser.id); }, passOnAnyResult)];
|
|
1947
|
+
case 15:
|
|
1948
|
+
_a.sent();
|
|
1949
|
+
return [4 /*yield*/, async_test("Non-admin for enduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(nonAdminTicket.id); }, passOnAnyResult)];
|
|
1950
|
+
case 16:
|
|
1951
|
+
_a.sent();
|
|
1952
|
+
return [4 /*yield*/, async_test("Non-admin for own ticket", function () { return sdkNonAdmin.api.tickets.getOne(ticketCreatedByNonAdmin.id); }, passOnAnyResult)];
|
|
1953
|
+
case 17:
|
|
1954
|
+
_a.sent();
|
|
1955
|
+
return [4 /*yield*/, async_test("Non-admin for tickets", function () { return sdkNonAdmin.api.tickets.getSome(); }, { onResult: function (ts) { return ts.length === 3; } })];
|
|
1956
|
+
case 18:
|
|
1957
|
+
_a.sent();
|
|
1958
|
+
return [4 /*yield*/, async_test("non-admin for email bad", function () { return sdkNonAdmin.api.emails.getOne(email.id); }, handleAnyError)];
|
|
1959
|
+
case 19:
|
|
1960
|
+
_a.sent();
|
|
1961
|
+
return [4 /*yield*/, async_test("non-admin for sms bad", function () { return sdkNonAdmin.api.sms_messages.getOne(sms.id); }, handleAnyError)];
|
|
1962
|
+
case 20:
|
|
1963
|
+
_a.sent();
|
|
1964
|
+
return [4 /*yield*/, async_test("admin for calendar", function () { return sdk.api.calendar_events.getOne(calendarEvent.id); }, passOnAnyResult)];
|
|
1965
|
+
case 21:
|
|
1966
|
+
_a.sent();
|
|
1967
|
+
return [4 /*yield*/, async_test("non-admin for calendar bad", function () { return sdkNonAdmin.api.calendar_events.getOne(calendarEvent.id); }, handleAnyError)];
|
|
1968
|
+
case 22:
|
|
1969
|
+
_a.sent();
|
|
1970
|
+
return [4 /*yield*/, async_test("non-admin for chat room bad", function () { return sdkNonAdmin.api.chat_rooms.getOne(chatRoom.id); }, handleAnyError)];
|
|
1971
|
+
case 23:
|
|
1972
|
+
_a.sent();
|
|
1973
|
+
return [4 /*yield*/, async_test("non-admin for chat message bad", function () { return sdkNonAdmin.api.chats.getOne(chatMessage.id); }, handleAnyError)];
|
|
1974
|
+
case 24:
|
|
1975
|
+
_a.sent();
|
|
1976
|
+
return [4 /*yield*/, async_test("Non-admin for chats", function () { return sdkNonAdmin.api.chats.getSome({ filter: { roomId: chatRoom.id } }); }, handleAnyError)
|
|
1977
|
+
// unassigned update / delete coverage
|
|
1978
|
+
];
|
|
1979
|
+
case 25:
|
|
1980
|
+
_a.sent();
|
|
1981
|
+
// unassigned update / delete coverage
|
|
1982
|
+
return [4 /*yield*/, async_test("non-admin for enduser ticket update bad", function () { return sdkNonAdmin.api.tickets.updateOne(adminTicket.id, { title: 'updated' }); }, handleAnyError)];
|
|
1983
|
+
case 26:
|
|
1984
|
+
// unassigned update / delete coverage
|
|
1985
|
+
_a.sent();
|
|
1986
|
+
return [4 /*yield*/, async_test("non-admin for enduser ticket delete bad", function () { return sdkNonAdmin.api.tickets.deleteOne(adminTicket.id); }, handleAnyError)];
|
|
1987
|
+
case 27:
|
|
1988
|
+
_a.sent();
|
|
1989
|
+
return [4 /*yield*/, async_test("non-admin can't delete tickets by default (even with access)", function () { return sdkNonAdmin.api.tickets.deleteOne(nonAdminTicket.id); }, handleAnyError)
|
|
1990
|
+
// set assignees
|
|
1991
|
+
];
|
|
1992
|
+
case 28:
|
|
1993
|
+
_a.sent();
|
|
1994
|
+
// set assignees
|
|
1995
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [sdk.userInfo.id, sdkNonAdmin.userInfo.id] })
|
|
1996
|
+
// assigned access tests
|
|
1997
|
+
];
|
|
1998
|
+
case 29:
|
|
1999
|
+
// set assignees
|
|
2000
|
+
_a.sent();
|
|
2001
|
+
// assigned access tests
|
|
2002
|
+
return [4 /*yield*/, async_test("Admin / creator can access enduser while assigned", function () { return sdk.api.endusers.getOne(e.id); }, passOnAnyResult)];
|
|
2003
|
+
case 30:
|
|
2004
|
+
// assigned access tests
|
|
2005
|
+
_a.sent();
|
|
2006
|
+
return [4 /*yield*/, async_test("Unassigned non-admin can access enduser while assigned", function () { return sdkNonAdmin.api.endusers.getOne(e.id); }, passOnAnyResult)];
|
|
2007
|
+
case 31:
|
|
2008
|
+
_a.sent();
|
|
2009
|
+
return [4 /*yield*/, async_test("non-admin for enduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(adminTicket.id); }, passOnAnyResult)];
|
|
2010
|
+
case 32:
|
|
2011
|
+
_a.sent();
|
|
2012
|
+
return [4 /*yield*/, async_test("Non-admin for ticket", function () { return sdkNonAdmin.api.tickets.getOne(nonAdminTicketNoEnduser.id); }, passOnAnyResult)];
|
|
2013
|
+
case 33:
|
|
2014
|
+
_a.sent();
|
|
2015
|
+
return [4 /*yield*/, async_test("Non-admin for enduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(nonAdminTicket.id); }, passOnAnyResult)];
|
|
2016
|
+
case 34:
|
|
2017
|
+
_a.sent();
|
|
2018
|
+
return [4 /*yield*/, async_test("Non-admin for tickets", function () { return sdkNonAdmin.api.tickets.getSome(); }, { onResult: function (ts) { return ts.length === 4; } })];
|
|
2019
|
+
case 35:
|
|
2020
|
+
_a.sent();
|
|
2021
|
+
return [4 /*yield*/, async_test("non-admin for email", function () { return sdkNonAdmin.api.emails.getOne(email.id); }, passOnAnyResult)];
|
|
2022
|
+
case 36:
|
|
2023
|
+
_a.sent();
|
|
2024
|
+
return [4 /*yield*/, async_test("non-admin for sms", function () { return sdkNonAdmin.api.sms_messages.getOne(sms.id); }, passOnAnyResult)];
|
|
2025
|
+
case 37:
|
|
2026
|
+
_a.sent();
|
|
2027
|
+
return [4 /*yield*/, async_test("non-admin for calendar", function () { return sdkNonAdmin.api.calendar_events.getOne(calendarEvent.id); }, passOnAnyResult)];
|
|
2028
|
+
case 38:
|
|
2029
|
+
_a.sent();
|
|
2030
|
+
return [4 /*yield*/, async_test("non-admin for chat room", function () { return sdkNonAdmin.api.chat_rooms.getOne(chatRoom.id); }, passOnAnyResult)];
|
|
2031
|
+
case 39:
|
|
2032
|
+
_a.sent();
|
|
2033
|
+
return [4 /*yield*/, async_test("non-admin for chat message", function () { return sdkNonAdmin.api.chats.getOne(chatMessage.id); }, passOnAnyResult)];
|
|
2034
|
+
case 40:
|
|
2035
|
+
_a.sent();
|
|
2036
|
+
return [4 /*yield*/, async_test("Non-admin for chats", function () { return sdkNonAdmin.api.chats.getSome({ filter: { roomId: chatRoom.id } }); }, { onResult: function (cs) { return cs.length === 2; } })
|
|
2037
|
+
// update / delete coverage for assigned tickets
|
|
2038
|
+
];
|
|
2039
|
+
case 41:
|
|
2040
|
+
_a.sent();
|
|
2041
|
+
// update / delete coverage for assigned tickets
|
|
2042
|
+
return [4 /*yield*/, async_test("non-admin assigned enduser ticket update find", function () { return sdkNonAdmin.api.tickets.updateOne(adminTicket.id, { title: 'updated' }); }, passOnAnyResult)];
|
|
2043
|
+
case 42:
|
|
2044
|
+
// update / delete coverage for assigned tickets
|
|
2045
|
+
_a.sent();
|
|
2046
|
+
return [4 /*yield*/, async_test("non-admin for enduser ticket delete still bad", function () { return sdkNonAdmin.api.tickets.deleteOne(adminTicket.id); }, handleAnyError)
|
|
2047
|
+
// cleanup
|
|
2048
|
+
];
|
|
2049
|
+
case 43:
|
|
2050
|
+
_a.sent();
|
|
2051
|
+
// cleanup
|
|
2052
|
+
return [4 /*yield*/, Promise.all([
|
|
2053
|
+
sdk.api.endusers.deleteOne(e.id),
|
|
2054
|
+
sdk.api.tickets.deleteOne(adminTicket.id),
|
|
2055
|
+
sdk.api.tickets.deleteOne(nonAdminTicket.id),
|
|
2056
|
+
sdk.api.tickets.deleteOne(nonAdminTicketNoEnduser.id),
|
|
2057
|
+
sdk.api.tickets.deleteOne(ticketCreatedByNonAdmin.id),
|
|
2058
|
+
sdk.api.emails.deleteOne(email.id),
|
|
2059
|
+
sdk.api.sms_messages.deleteOne(sms.id),
|
|
2060
|
+
sdk.api.calendar_events.deleteOne(calendarEvent.id),
|
|
2061
|
+
sdk.api.chat_rooms.deleteOne(chatRoom.id),
|
|
2062
|
+
sdk.api.chats.deleteOne(chatMessage.id),
|
|
2063
|
+
sdk.api.chats.deleteOne(chatMessage2.id),
|
|
2064
|
+
])];
|
|
2065
|
+
case 44:
|
|
2066
|
+
// cleanup
|
|
2067
|
+
_a.sent();
|
|
2068
|
+
return [2 /*return*/];
|
|
2069
|
+
}
|
|
2070
|
+
});
|
|
2071
|
+
}); };
|
|
1874
2072
|
var NO_TEST = function () { };
|
|
1875
2073
|
var tests = {
|
|
1876
2074
|
chats: chat_tests,
|
|
@@ -1907,7 +2105,7 @@ var tests = {
|
|
|
1907
2105
|
log_header("API");
|
|
1908
2106
|
_h.label = 1;
|
|
1909
2107
|
case 1:
|
|
1910
|
-
_h.trys.push([1,
|
|
2108
|
+
_h.trys.push([1, 14, , 15]);
|
|
1911
2109
|
return [4 /*yield*/, Promise.all([
|
|
1912
2110
|
sdk.authenticate(email, password),
|
|
1913
2111
|
sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
|
|
@@ -1944,21 +2142,24 @@ var tests = {
|
|
|
1944
2142
|
return [4 /*yield*/, enduser_session_tests()];
|
|
1945
2143
|
case 12:
|
|
1946
2144
|
_h.sent();
|
|
1947
|
-
return [
|
|
2145
|
+
return [4 /*yield*/, role_based_access_tests()];
|
|
1948
2146
|
case 13:
|
|
2147
|
+
_h.sent();
|
|
2148
|
+
return [3 /*break*/, 15];
|
|
2149
|
+
case 14:
|
|
1949
2150
|
err_1 = _h.sent();
|
|
1950
2151
|
console.error("Failed during custom test");
|
|
1951
2152
|
console.error(err_1);
|
|
1952
2153
|
process.exit(1);
|
|
1953
|
-
return [3 /*break*/,
|
|
1954
|
-
case
|
|
2154
|
+
return [3 /*break*/, 15];
|
|
2155
|
+
case 15:
|
|
1955
2156
|
_a = [];
|
|
1956
2157
|
for (_b in schema)
|
|
1957
2158
|
_a.push(_b);
|
|
1958
2159
|
_i = 0;
|
|
1959
|
-
_h.label =
|
|
1960
|
-
case
|
|
1961
|
-
if (!(_i < _a.length)) return [3 /*break*/,
|
|
2160
|
+
_h.label = 16;
|
|
2161
|
+
case 16:
|
|
2162
|
+
if (!(_i < _a.length)) return [3 /*break*/, 19];
|
|
1962
2163
|
n = _a[_i];
|
|
1963
2164
|
returnValidation = (_g = (_f = schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
|
|
1964
2165
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -1969,38 +2170,38 @@ var tests = {
|
|
|
1969
2170
|
create: returnValidation // ModelFields<ClientModel>,
|
|
1970
2171
|
}
|
|
1971
2172
|
})];
|
|
1972
|
-
case 16:
|
|
1973
|
-
_h.sent();
|
|
1974
|
-
_h.label = 17;
|
|
1975
2173
|
case 17:
|
|
1976
|
-
|
|
1977
|
-
|
|
2174
|
+
_h.sent();
|
|
2175
|
+
_h.label = 18;
|
|
1978
2176
|
case 18:
|
|
2177
|
+
_i++;
|
|
2178
|
+
return [3 /*break*/, 16];
|
|
2179
|
+
case 19:
|
|
1979
2180
|
_c = [];
|
|
1980
2181
|
for (_d in tests)
|
|
1981
2182
|
_c.push(_d);
|
|
1982
2183
|
_e = 0;
|
|
1983
|
-
_h.label = 19;
|
|
1984
|
-
case 19:
|
|
1985
|
-
if (!(_e < _c.length)) return [3 /*break*/, 24];
|
|
1986
|
-
t = _c[_e];
|
|
1987
2184
|
_h.label = 20;
|
|
1988
2185
|
case 20:
|
|
1989
|
-
|
|
1990
|
-
|
|
2186
|
+
if (!(_e < _c.length)) return [3 /*break*/, 25];
|
|
2187
|
+
t = _c[_e];
|
|
2188
|
+
_h.label = 21;
|
|
1991
2189
|
case 21:
|
|
1992
|
-
_h.
|
|
1993
|
-
return [
|
|
2190
|
+
_h.trys.push([21, 23, , 24]);
|
|
2191
|
+
return [4 /*yield*/, tests[t]()];
|
|
1994
2192
|
case 22:
|
|
2193
|
+
_h.sent();
|
|
2194
|
+
return [3 /*break*/, 24];
|
|
2195
|
+
case 23:
|
|
1995
2196
|
err_2 = _h.sent();
|
|
1996
2197
|
console.error("Error running test:");
|
|
1997
2198
|
console.error(err_2);
|
|
1998
2199
|
process.exit(1);
|
|
1999
|
-
return [3 /*break*/,
|
|
2000
|
-
case 23:
|
|
2001
|
-
_e++;
|
|
2002
|
-
return [3 /*break*/, 19];
|
|
2200
|
+
return [3 /*break*/, 24];
|
|
2003
2201
|
case 24:
|
|
2202
|
+
_e++;
|
|
2203
|
+
return [3 /*break*/, 20];
|
|
2204
|
+
case 25:
|
|
2004
2205
|
process.exit();
|
|
2005
2206
|
return [2 /*return*/];
|
|
2006
2207
|
}
|