@tellescope/sdk 0.0.86 → 0.0.89
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/sdk.d.ts +2 -1
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/tests/tests.d.ts +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +159 -48
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/sdk.d.ts +2 -1
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/session.d.ts +0 -1
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/tests/tests.d.ts +1 -1
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +157 -48
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/sdk.ts +2 -0
- package/src/tests/tests.ts +95 -11
package/lib/esm/tests/tests.js
CHANGED
|
@@ -45,6 +45,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
45
45
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
49
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
50
|
+
if (ar || !(i in from)) {
|
|
51
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
52
|
+
ar[i] = from[i];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
56
|
+
};
|
|
48
57
|
require('source-map-support').install();
|
|
49
58
|
import crypto from "crypto";
|
|
50
59
|
import * as buffer from "buffer"; // only node >=15.7.0
|
|
@@ -1376,31 +1385,36 @@ var files_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
1376
1385
|
case 3:
|
|
1377
1386
|
_b.sent();
|
|
1378
1387
|
buff = buffer.Buffer.from('test file data');
|
|
1388
|
+
return [4 /*yield*/, async_test("non admin can prepare file upload", function () { return sdkNonAdmin.api.files.prepare_file_upload({
|
|
1389
|
+
name: 'Test File', size: buff.byteLength, type: 'text/plain'
|
|
1390
|
+
}); }, { onResult: function (t) { return true; } })];
|
|
1391
|
+
case 4:
|
|
1392
|
+
_b.sent();
|
|
1379
1393
|
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1380
1394
|
name: 'Test File', size: buff.byteLength, type: 'text/plain'
|
|
1381
1395
|
})];
|
|
1382
|
-
case
|
|
1396
|
+
case 5:
|
|
1383
1397
|
_a = _b.sent(), presignedUpload = _a.presignedUpload, file = _a.file;
|
|
1384
1398
|
return [4 /*yield*/, sdk.UPLOAD(presignedUpload, buff)];
|
|
1385
|
-
case
|
|
1399
|
+
case 6:
|
|
1386
1400
|
_b.sent();
|
|
1387
1401
|
return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1388
|
-
case
|
|
1402
|
+
case 7:
|
|
1389
1403
|
downloadURL = (_b.sent()).downloadURL;
|
|
1390
1404
|
return [4 /*yield*/, sdk.DOWNLOAD(downloadURL)];
|
|
1391
|
-
case
|
|
1405
|
+
case 8:
|
|
1392
1406
|
downloaded = _b.sent();
|
|
1393
1407
|
assert(downloaded === buff.toString(), 'downloaded file does not match uploaded file', 'upload, download comparison');
|
|
1394
1408
|
return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1395
|
-
case
|
|
1409
|
+
case 9:
|
|
1396
1410
|
cachedURL = (_b.sent()).downloadURL;
|
|
1397
1411
|
assert(downloadURL === cachedURL, 'cache download url failed', 'download url cache');
|
|
1398
1412
|
return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1399
|
-
case
|
|
1413
|
+
case 10:
|
|
1400
1414
|
urlForEnduser = (_b.sent()).downloadURL;
|
|
1401
1415
|
assert(downloadURL === urlForEnduser, 'failed to get download url for enduser', 'download url for enduser');
|
|
1402
1416
|
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
1403
|
-
case
|
|
1417
|
+
case 11:
|
|
1404
1418
|
_b.sent();
|
|
1405
1419
|
return [2 /*return*/];
|
|
1406
1420
|
}
|
|
@@ -1766,6 +1780,98 @@ var form_response_tests = function () { return __awaiter(void 0, void 0, void 0,
|
|
|
1766
1780
|
}
|
|
1767
1781
|
});
|
|
1768
1782
|
}); };
|
|
1783
|
+
export var meetings_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1784
|
+
return __generator(this, function (_a) {
|
|
1785
|
+
switch (_a.label) {
|
|
1786
|
+
case 0:
|
|
1787
|
+
log_header("Meetings");
|
|
1788
|
+
return [4 /*yield*/, async_test("Admin can get meetings", sdk.api.meetings.getSome, { onResult: function () { return true; } })];
|
|
1789
|
+
case 1:
|
|
1790
|
+
_a.sent();
|
|
1791
|
+
return [4 /*yield*/, async_test("Non-Admin can't get meetings", sdkNonAdmin.api.meetings.getSome, { shouldError: true, onError: function (e) { return e.message === "Admin access only"; } })];
|
|
1792
|
+
case 2:
|
|
1793
|
+
_a.sent();
|
|
1794
|
+
return [2 /*return*/];
|
|
1795
|
+
}
|
|
1796
|
+
});
|
|
1797
|
+
}); };
|
|
1798
|
+
var search_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1799
|
+
var e1, e2;
|
|
1800
|
+
return __generator(this, function (_a) {
|
|
1801
|
+
switch (_a.label) {
|
|
1802
|
+
case 0:
|
|
1803
|
+
log_header("Search");
|
|
1804
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'e1_search@tellescope.com', fname: 'JoHn', lname: "strauss" })];
|
|
1805
|
+
case 1:
|
|
1806
|
+
e1 = _a.sent();
|
|
1807
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'e2_search@tellescope.com', fname: 'sebastian', lname: "coates" })];
|
|
1808
|
+
case 2:
|
|
1809
|
+
e2 = _a.sent();
|
|
1810
|
+
return [4 /*yield*/, async_test("Search full fname case insensitive", function () { return sdk.api.endusers.getSome({ search: { query: 'john' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === e1.id; } })];
|
|
1811
|
+
case 3:
|
|
1812
|
+
_a.sent();
|
|
1813
|
+
return [4 /*yield*/, async_test("Search start fname case insensitive", function () { return sdk.api.endusers.getSome({ search: { query: 'joh' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === e1.id; } })];
|
|
1814
|
+
case 4:
|
|
1815
|
+
_a.sent();
|
|
1816
|
+
return [4 /*yield*/, async_test("Search end fname case insensitive", function () { return sdk.api.endusers.getSome({ search: { query: 'ohn' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === e1.id; } })];
|
|
1817
|
+
case 5:
|
|
1818
|
+
_a.sent();
|
|
1819
|
+
return [4 /*yield*/, async_test("Search by email", function () { return sdk.api.endusers.getSome({ search: { query: 'search@tellescope' } }); }, { onResult: function (es) { return es.length === 2; } })];
|
|
1820
|
+
case 6:
|
|
1821
|
+
_a.sent();
|
|
1822
|
+
return [4 /*yield*/, Promise.all([
|
|
1823
|
+
sdk.api.endusers.deleteOne(e1.id),
|
|
1824
|
+
sdk.api.endusers.deleteOne(e2.id),
|
|
1825
|
+
])];
|
|
1826
|
+
case 7:
|
|
1827
|
+
_a.sent();
|
|
1828
|
+
return [2 /*return*/];
|
|
1829
|
+
}
|
|
1830
|
+
});
|
|
1831
|
+
}); };
|
|
1832
|
+
var notifications_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1833
|
+
var room, chat, ticket, ticketNotification, chatNotifications;
|
|
1834
|
+
var _a;
|
|
1835
|
+
return __generator(this, function (_b) {
|
|
1836
|
+
switch (_b.label) {
|
|
1837
|
+
case 0:
|
|
1838
|
+
log_header("Notifications");
|
|
1839
|
+
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [sdk.userInfo.id, sdkNonAdmin.userInfo.id] })];
|
|
1840
|
+
case 1:
|
|
1841
|
+
room = _b.sent();
|
|
1842
|
+
return [4 /*yield*/, sdk.api.chats.createOne({ message: 'test', roomId: room.id, })];
|
|
1843
|
+
case 2:
|
|
1844
|
+
chat = _b.sent();
|
|
1845
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'Ticket for notification', owner: sdkNonAdmin.userInfo.id })];
|
|
1846
|
+
case 3:
|
|
1847
|
+
ticket = _b.sent();
|
|
1848
|
+
return [4 /*yield*/, wait(undefined, 50)
|
|
1849
|
+
// neither should throw error
|
|
1850
|
+
]; // notifications may be created in background
|
|
1851
|
+
case 4:
|
|
1852
|
+
_b.sent(); // notifications may be created in background
|
|
1853
|
+
return [4 /*yield*/, sdk.api.user_notifications.getOne({ type: 'newTicket' })];
|
|
1854
|
+
case 5:
|
|
1855
|
+
ticketNotification = _b.sent();
|
|
1856
|
+
return [4 /*yield*/, sdk.api.user_notifications.getSome({ filter: { type: 'newChatMessage' } })];
|
|
1857
|
+
case 6:
|
|
1858
|
+
chatNotifications = _b.sent();
|
|
1859
|
+
assert(!!((_a = ticketNotification.relatedRecords) === null || _a === void 0 ? void 0 : _a.find(function (r) { return r.id === ticket.id; })), 'No ticket notification', 'Got notification for new new ticket');
|
|
1860
|
+
assert(!!chatNotifications.find(function (notification) { var _a; return (_a = notification.relatedRecords) === null || _a === void 0 ? void 0 : _a.find(function (r) { return r.id === chat.id; }); }), 'No chat notification', 'Got notification for new chat');
|
|
1861
|
+
return [4 /*yield*/, Promise.all(__spreadArray([
|
|
1862
|
+
sdk.api.chat_rooms.deleteOne(room.id),
|
|
1863
|
+
sdk.api.tickets.deleteOne(ticket.id),
|
|
1864
|
+
sdk.api.user_notifications.deleteOne(ticketNotification.id)
|
|
1865
|
+
], chatNotifications.map(function (n) {
|
|
1866
|
+
return sdk.api.user_notifications.deleteOne(n.id);
|
|
1867
|
+
}), true))];
|
|
1868
|
+
case 7:
|
|
1869
|
+
_b.sent();
|
|
1870
|
+
return [2 /*return*/];
|
|
1871
|
+
}
|
|
1872
|
+
});
|
|
1873
|
+
}); };
|
|
1874
|
+
var NO_TEST = function () { };
|
|
1769
1875
|
var tests = {
|
|
1770
1876
|
chats: chat_tests,
|
|
1771
1877
|
endusers: enduser_tests,
|
|
@@ -1777,20 +1883,20 @@ var tests = {
|
|
|
1777
1883
|
sms_messages: sms_tests,
|
|
1778
1884
|
chat_rooms: chat_room_tests,
|
|
1779
1885
|
users: users_tests,
|
|
1780
|
-
templates:
|
|
1886
|
+
templates: NO_TEST,
|
|
1781
1887
|
files: files_tests,
|
|
1782
|
-
tickets:
|
|
1783
|
-
meetings:
|
|
1784
|
-
notes:
|
|
1785
|
-
forms:
|
|
1888
|
+
tickets: NO_TEST,
|
|
1889
|
+
meetings: meetings_tests,
|
|
1890
|
+
notes: NO_TEST,
|
|
1891
|
+
forms: NO_TEST,
|
|
1786
1892
|
form_responses: form_response_tests,
|
|
1787
1893
|
calendar_events: calendar_events_tests,
|
|
1788
|
-
webhooks:
|
|
1894
|
+
webhooks: NO_TEST,
|
|
1789
1895
|
event_automations: automation_events_tests,
|
|
1790
|
-
sequence_automations:
|
|
1791
|
-
automation_endusers:
|
|
1792
|
-
user_logs:
|
|
1793
|
-
user_notifications:
|
|
1896
|
+
sequence_automations: NO_TEST,
|
|
1897
|
+
automation_endusers: NO_TEST,
|
|
1898
|
+
user_logs: NO_TEST,
|
|
1899
|
+
user_notifications: notifications_tests,
|
|
1794
1900
|
};
|
|
1795
1901
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1796
1902
|
var err_1, n, _a, _b, _i, returnValidation, t, _c, _d, _e, err_2;
|
|
@@ -1801,7 +1907,7 @@ var tests = {
|
|
|
1801
1907
|
log_header("API");
|
|
1802
1908
|
_h.label = 1;
|
|
1803
1909
|
case 1:
|
|
1804
|
-
_h.trys.push([1,
|
|
1910
|
+
_h.trys.push([1, 13, , 14]);
|
|
1805
1911
|
return [4 /*yield*/, Promise.all([
|
|
1806
1912
|
sdk.authenticate(email, password),
|
|
1807
1913
|
sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
|
|
@@ -1814,42 +1920,45 @@ var tests = {
|
|
|
1814
1920
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
1815
1921
|
case 4:
|
|
1816
1922
|
_h.sent(); // should come right after setup tests
|
|
1817
|
-
return [4 /*yield*/,
|
|
1923
|
+
return [4 /*yield*/, search_tests()];
|
|
1818
1924
|
case 5:
|
|
1819
1925
|
_h.sent();
|
|
1820
|
-
return [4 /*yield*/,
|
|
1926
|
+
return [4 /*yield*/, badInputTests()];
|
|
1821
1927
|
case 6:
|
|
1822
1928
|
_h.sent();
|
|
1823
|
-
return [4 /*yield*/,
|
|
1929
|
+
return [4 /*yield*/, filterTests()];
|
|
1824
1930
|
case 7:
|
|
1825
1931
|
_h.sent();
|
|
1826
|
-
return [4 /*yield*/,
|
|
1932
|
+
return [4 /*yield*/, updatesTests()];
|
|
1827
1933
|
case 8:
|
|
1828
1934
|
_h.sent();
|
|
1829
|
-
return [4 /*yield*/,
|
|
1935
|
+
return [4 /*yield*/, threadKeyTests()];
|
|
1830
1936
|
case 9:
|
|
1831
1937
|
_h.sent();
|
|
1832
|
-
return [4 /*yield*/,
|
|
1938
|
+
return [4 /*yield*/, enduserAccessTests()];
|
|
1833
1939
|
case 10:
|
|
1834
1940
|
_h.sent();
|
|
1835
|
-
return [4 /*yield*/,
|
|
1941
|
+
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
1836
1942
|
case 11:
|
|
1837
1943
|
_h.sent();
|
|
1838
|
-
return [
|
|
1944
|
+
return [4 /*yield*/, enduser_session_tests()];
|
|
1839
1945
|
case 12:
|
|
1946
|
+
_h.sent();
|
|
1947
|
+
return [3 /*break*/, 14];
|
|
1948
|
+
case 13:
|
|
1840
1949
|
err_1 = _h.sent();
|
|
1841
1950
|
console.error("Failed during custom test");
|
|
1842
1951
|
console.error(err_1);
|
|
1843
1952
|
process.exit(1);
|
|
1844
|
-
return [3 /*break*/,
|
|
1845
|
-
case
|
|
1953
|
+
return [3 /*break*/, 14];
|
|
1954
|
+
case 14:
|
|
1846
1955
|
_a = [];
|
|
1847
1956
|
for (_b in schema)
|
|
1848
1957
|
_a.push(_b);
|
|
1849
1958
|
_i = 0;
|
|
1850
|
-
_h.label =
|
|
1851
|
-
case
|
|
1852
|
-
if (!(_i < _a.length)) return [3 /*break*/,
|
|
1959
|
+
_h.label = 15;
|
|
1960
|
+
case 15:
|
|
1961
|
+
if (!(_i < _a.length)) return [3 /*break*/, 18];
|
|
1853
1962
|
n = _a[_i];
|
|
1854
1963
|
returnValidation = (_g = (_f = schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
|
|
1855
1964
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -1860,38 +1969,38 @@ var tests = {
|
|
|
1860
1969
|
create: returnValidation // ModelFields<ClientModel>,
|
|
1861
1970
|
}
|
|
1862
1971
|
})];
|
|
1863
|
-
case 15:
|
|
1864
|
-
_h.sent();
|
|
1865
|
-
_h.label = 16;
|
|
1866
1972
|
case 16:
|
|
1867
|
-
|
|
1868
|
-
|
|
1973
|
+
_h.sent();
|
|
1974
|
+
_h.label = 17;
|
|
1869
1975
|
case 17:
|
|
1976
|
+
_i++;
|
|
1977
|
+
return [3 /*break*/, 15];
|
|
1978
|
+
case 18:
|
|
1870
1979
|
_c = [];
|
|
1871
1980
|
for (_d in tests)
|
|
1872
1981
|
_c.push(_d);
|
|
1873
1982
|
_e = 0;
|
|
1874
|
-
_h.label = 18;
|
|
1875
|
-
case 18:
|
|
1876
|
-
if (!(_e < _c.length)) return [3 /*break*/, 23];
|
|
1877
|
-
t = _c[_e];
|
|
1878
1983
|
_h.label = 19;
|
|
1879
1984
|
case 19:
|
|
1880
|
-
|
|
1881
|
-
|
|
1985
|
+
if (!(_e < _c.length)) return [3 /*break*/, 24];
|
|
1986
|
+
t = _c[_e];
|
|
1987
|
+
_h.label = 20;
|
|
1882
1988
|
case 20:
|
|
1883
|
-
_h.
|
|
1884
|
-
return [
|
|
1989
|
+
_h.trys.push([20, 22, , 23]);
|
|
1990
|
+
return [4 /*yield*/, tests[t]()];
|
|
1885
1991
|
case 21:
|
|
1992
|
+
_h.sent();
|
|
1993
|
+
return [3 /*break*/, 23];
|
|
1994
|
+
case 22:
|
|
1886
1995
|
err_2 = _h.sent();
|
|
1887
1996
|
console.error("Error running test:");
|
|
1888
1997
|
console.error(err_2);
|
|
1889
1998
|
process.exit(1);
|
|
1890
|
-
return [3 /*break*/,
|
|
1891
|
-
case 22:
|
|
1892
|
-
_e++;
|
|
1893
|
-
return [3 /*break*/, 18];
|
|
1999
|
+
return [3 /*break*/, 23];
|
|
1894
2000
|
case 23:
|
|
2001
|
+
_e++;
|
|
2002
|
+
return [3 /*break*/, 19];
|
|
2003
|
+
case 24:
|
|
1895
2004
|
process.exit();
|
|
1896
2005
|
return [2 /*return*/];
|
|
1897
2006
|
}
|