@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.
@@ -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 4:
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 5:
1399
+ case 6:
1386
1400
  _b.sent();
1387
1401
  return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
1388
- case 6:
1402
+ case 7:
1389
1403
  downloadURL = (_b.sent()).downloadURL;
1390
1404
  return [4 /*yield*/, sdk.DOWNLOAD(downloadURL)];
1391
- case 7:
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 8:
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 9:
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 10:
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: function () { },
1886
+ templates: NO_TEST,
1781
1887
  files: files_tests,
1782
- tickets: function () { },
1783
- meetings: function () { },
1784
- notes: function () { },
1785
- forms: function () { },
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: function () { },
1894
+ webhooks: NO_TEST,
1789
1895
  event_automations: automation_events_tests,
1790
- sequence_automations: function () { },
1791
- automation_endusers: function () { },
1792
- user_logs: function () { },
1793
- user_notifications: function () { },
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, 12, , 13]);
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*/, badInputTests()];
1923
+ return [4 /*yield*/, search_tests()];
1818
1924
  case 5:
1819
1925
  _h.sent();
1820
- return [4 /*yield*/, filterTests()];
1926
+ return [4 /*yield*/, badInputTests()];
1821
1927
  case 6:
1822
1928
  _h.sent();
1823
- return [4 /*yield*/, updatesTests()];
1929
+ return [4 /*yield*/, filterTests()];
1824
1930
  case 7:
1825
1931
  _h.sent();
1826
- return [4 /*yield*/, threadKeyTests()];
1932
+ return [4 /*yield*/, updatesTests()];
1827
1933
  case 8:
1828
1934
  _h.sent();
1829
- return [4 /*yield*/, enduserAccessTests()];
1935
+ return [4 /*yield*/, threadKeyTests()];
1830
1936
  case 9:
1831
1937
  _h.sent();
1832
- return [4 /*yield*/, generateEnduserAuthTests()];
1938
+ return [4 /*yield*/, enduserAccessTests()];
1833
1939
  case 10:
1834
1940
  _h.sent();
1835
- return [4 /*yield*/, enduser_session_tests()];
1941
+ return [4 /*yield*/, generateEnduserAuthTests()];
1836
1942
  case 11:
1837
1943
  _h.sent();
1838
- return [3 /*break*/, 13];
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*/, 13];
1845
- case 13:
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 = 14;
1851
- case 14:
1852
- if (!(_i < _a.length)) return [3 /*break*/, 17];
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
- _i++;
1868
- return [3 /*break*/, 14];
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
- _h.trys.push([19, 21, , 22]);
1881
- return [4 /*yield*/, tests[t]()];
1985
+ if (!(_e < _c.length)) return [3 /*break*/, 24];
1986
+ t = _c[_e];
1987
+ _h.label = 20;
1882
1988
  case 20:
1883
- _h.sent();
1884
- return [3 /*break*/, 22];
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*/, 22];
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
  }