@tellescope/sdk 0.0.92 → 0.0.95

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.
@@ -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;
@@ -1587,7 +1587,7 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1587
1587
  })];
1588
1588
  case 2:
1589
1589
  journey = _j.sent();
1590
- return [4 /*yield*/, async_test("enterState cannot match updateStateForJourney", function () { return sdk.api.event_automations.createOne({
1590
+ return [4 /*yield*/, async_test("enterState cannot match updateStateForJourney", function () { return sdk.api.automation_steps.createOne({
1591
1591
  journeyId: journey.id,
1592
1592
  event: {
1593
1593
  type: "enterState",
@@ -1600,7 +1600,7 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1600
1600
  }); }, { shouldError: true, onError: function (e) { return e.message === 'updateStateForJourney cannot have the same journey and state as the enterState event'; } })];
1601
1601
  case 3:
1602
1602
  _j.sent();
1603
- return [4 /*yield*/, async_test("leaveState cannot match updateStateForJourney", function () { return sdk.api.event_automations.createOne({
1603
+ return [4 /*yield*/, async_test("leaveState cannot match updateStateForJourney", function () { return sdk.api.automation_steps.createOne({
1604
1604
  journeyId: journey.id,
1605
1605
  event: {
1606
1606
  type: "leaveState",
@@ -1617,7 +1617,7 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1617
1617
  type: 'sendWebhook',
1618
1618
  info: { message: 'test' }
1619
1619
  };
1620
- return [4 /*yield*/, sdk.api.event_automations.createOne({
1620
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
1621
1621
  journeyId: journey.id,
1622
1622
  event: {
1623
1623
  type: "enterState",
@@ -1627,7 +1627,7 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1627
1627
  })];
1628
1628
  case 5:
1629
1629
  _j.sent();
1630
- return [4 /*yield*/, sdk.api.event_automations.createOne({
1630
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
1631
1631
  journeyId: journey.id,
1632
1632
  event: {
1633
1633
  type: "leaveState",
@@ -1637,7 +1637,7 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1637
1637
  })];
1638
1638
  case 6:
1639
1639
  _j.sent();
1640
- return [4 /*yield*/, sdk.api.event_automations.createOne({
1640
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
1641
1641
  journeyId: journey.id,
1642
1642
  event: {
1643
1643
  type: "enterState",
@@ -1647,7 +1647,7 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1647
1647
  })];
1648
1648
  case 7:
1649
1649
  _j.sent();
1650
- return [4 /*yield*/, sdk.api.event_automations.createOne({
1650
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
1651
1651
  journeyId: journey.id,
1652
1652
  event: {
1653
1653
  type: "formResponse",
@@ -1663,7 +1663,7 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1663
1663
  })];
1664
1664
  case 8:
1665
1665
  _j.sent();
1666
- return [4 /*yield*/, async_test("Cannot insert duplicate event/action pair", function () { return sdk.api.event_automations.createOne({
1666
+ return [4 /*yield*/, async_test("Cannot insert duplicate event/action pair", function () { return sdk.api.automation_steps.createOne({
1667
1667
  journeyId: journey.id,
1668
1668
  event: {
1669
1669
  type: "enterState",
@@ -1714,7 +1714,7 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1714
1714
  case 15:
1715
1715
  // SHOULD trigger now that user is in state 2
1716
1716
  _j.sent();
1717
- return [4 /*yield*/, async_test("Automation events triggered correctly", function () { return sdk.api.automation_endusers.getSome({ filter: { enduserId: enduser.id } }); }, { onResult: function (es) { return es && es.length === 4 && es.filter(function (a) { return a.automationId === "ONE_TIME"; }).length === 4; } })
1717
+ return [4 /*yield*/, async_test("Automation events triggered correctly", function () { return sdk.api.automated_actions.getSome({ filter: { enduserId: enduser.id } }); }, { onResult: function (es) { return es && es.length === 4 && es.filter(function (a) { return a.automationStepId === "ONE_TIME"; }).length === 4; } })
1718
1718
  // cleanup
1719
1719
  ];
1720
1720
  case 16:
@@ -1757,7 +1757,7 @@ var form_response_tests = function () { return __awaiter(void 0, void 0, void 0,
1757
1757
  })];
1758
1758
  case 2:
1759
1759
  form = _e.sent();
1760
- return [4 /*yield*/, sdk.api.event_automations.createOne({
1760
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
1761
1761
  event: { type: "formResponse", info: { formId: form.id } },
1762
1762
  action: { type: 'sendWebhook', info: { message: 'test' } },
1763
1763
  })];
@@ -1769,7 +1769,7 @@ var form_response_tests = function () { return __awaiter(void 0, void 0, void 0,
1769
1769
  return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: accessCode, responses: [stringResponse] })];
1770
1770
  case 5:
1771
1771
  _e.sent();
1772
- return [4 /*yield*/, sdk.api.automation_endusers.getSome()];
1772
+ return [4 /*yield*/, sdk.api.automated_actions.getSome()];
1773
1773
  case 6:
1774
1774
  triggeredAutomation = (_e.sent())[0];
1775
1775
  return [4 /*yield*/, sdk.api.endusers.getOne(enduser.id)];
@@ -1882,6 +1882,230 @@ var notifications_tests = function () { return __awaiter(void 0, void 0, void 0,
1882
1882
  }
1883
1883
  });
1884
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
+ }); };
2072
+ var status_update_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
2073
+ var journey, enduser, status;
2074
+ return __generator(this, function (_a) {
2075
+ switch (_a.label) {
2076
+ case 0:
2077
+ log_header("Enduser Status Updates");
2078
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test' })];
2079
+ case 1:
2080
+ journey = _a.sent();
2081
+ return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'delete@tellescope.com' })];
2082
+ case 2:
2083
+ enduser = _a.sent();
2084
+ return [4 /*yield*/, sdk.api.enduser_status_updates.createOne({ enduserId: enduser.id, journeyId: journey.id, status: "Working" })
2085
+ // status update on enduser is a side effect
2086
+ ];
2087
+ case 3:
2088
+ status = _a.sent();
2089
+ // status update on enduser is a side effect
2090
+ return [4 /*yield*/, wait(undefined, 100)];
2091
+ case 4:
2092
+ // status update on enduser is a side effect
2093
+ _a.sent();
2094
+ return [4 /*yield*/, async_test("status update", function () { return sdk.api.endusers.getOne(enduser.id); }, {
2095
+ onResult: function (e) { var _a; return ((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) === status.status; }
2096
+ })];
2097
+ case 5:
2098
+ _a.sent();
2099
+ return [4 /*yield*/, Promise.all([
2100
+ sdk.api.journeys.deleteOne(journey.id),
2101
+ sdk.api.endusers.deleteOne(enduser.id), // status deleted as side effect
2102
+ ])];
2103
+ case 6:
2104
+ _a.sent();
2105
+ return [2 /*return*/];
2106
+ }
2107
+ });
2108
+ }); };
1885
2109
  var NO_TEST = function () { };
1886
2110
  var tests = {
1887
2111
  chats: chat_tests,
@@ -1903,9 +2127,10 @@ var tests = {
1903
2127
  form_responses: form_response_tests,
1904
2128
  calendar_events: calendar_events_tests,
1905
2129
  webhooks: NO_TEST,
1906
- event_automations: automation_events_tests,
2130
+ automation_steps: automation_events_tests,
1907
2131
  sequence_automations: NO_TEST,
1908
- automation_endusers: NO_TEST,
2132
+ automated_actions: NO_TEST,
2133
+ enduser_status_updates: status_update_tests,
1909
2134
  user_logs: NO_TEST,
1910
2135
  user_notifications: notifications_tests,
1911
2136
  };
@@ -1918,7 +2143,7 @@ var tests = {
1918
2143
  log_header("API");
1919
2144
  _h.label = 1;
1920
2145
  case 1:
1921
- _h.trys.push([1, 13, , 14]);
2146
+ _h.trys.push([1, 14, , 15]);
1922
2147
  return [4 /*yield*/, Promise.all([
1923
2148
  sdk.authenticate(email, password),
1924
2149
  sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
@@ -1955,21 +2180,24 @@ var tests = {
1955
2180
  return [4 /*yield*/, enduser_session_tests()];
1956
2181
  case 12:
1957
2182
  _h.sent();
1958
- return [3 /*break*/, 14];
2183
+ return [4 /*yield*/, role_based_access_tests()];
1959
2184
  case 13:
2185
+ _h.sent();
2186
+ return [3 /*break*/, 15];
2187
+ case 14:
1960
2188
  err_1 = _h.sent();
1961
2189
  console.error("Failed during custom test");
1962
2190
  console.error(err_1);
1963
2191
  process.exit(1);
1964
- return [3 /*break*/, 14];
1965
- case 14:
2192
+ return [3 /*break*/, 15];
2193
+ case 15:
1966
2194
  _a = [];
1967
2195
  for (_b in schema)
1968
2196
  _a.push(_b);
1969
2197
  _i = 0;
1970
- _h.label = 15;
1971
- case 15:
1972
- if (!(_i < _a.length)) return [3 /*break*/, 18];
2198
+ _h.label = 16;
2199
+ case 16:
2200
+ if (!(_i < _a.length)) return [3 /*break*/, 19];
1973
2201
  n = _a[_i];
1974
2202
  returnValidation = (_g = (_f = schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
1975
2203
  return [4 /*yield*/, run_generated_tests({
@@ -1980,38 +2208,38 @@ var tests = {
1980
2208
  create: returnValidation // ModelFields<ClientModel>,
1981
2209
  }
1982
2210
  })];
1983
- case 16:
1984
- _h.sent();
1985
- _h.label = 17;
1986
2211
  case 17:
1987
- _i++;
1988
- return [3 /*break*/, 15];
2212
+ _h.sent();
2213
+ _h.label = 18;
1989
2214
  case 18:
2215
+ _i++;
2216
+ return [3 /*break*/, 16];
2217
+ case 19:
1990
2218
  _c = [];
1991
2219
  for (_d in tests)
1992
2220
  _c.push(_d);
1993
2221
  _e = 0;
1994
- _h.label = 19;
1995
- case 19:
1996
- if (!(_e < _c.length)) return [3 /*break*/, 24];
1997
- t = _c[_e];
1998
2222
  _h.label = 20;
1999
2223
  case 20:
2000
- _h.trys.push([20, 22, , 23]);
2001
- return [4 /*yield*/, tests[t]()];
2224
+ if (!(_e < _c.length)) return [3 /*break*/, 25];
2225
+ t = _c[_e];
2226
+ _h.label = 21;
2002
2227
  case 21:
2003
- _h.sent();
2004
- return [3 /*break*/, 23];
2228
+ _h.trys.push([21, 23, , 24]);
2229
+ return [4 /*yield*/, tests[t]()];
2005
2230
  case 22:
2231
+ _h.sent();
2232
+ return [3 /*break*/, 24];
2233
+ case 23:
2006
2234
  err_2 = _h.sent();
2007
2235
  console.error("Error running test:");
2008
2236
  console.error(err_2);
2009
2237
  process.exit(1);
2010
- return [3 /*break*/, 23];
2011
- case 23:
2012
- _e++;
2013
- return [3 /*break*/, 19];
2238
+ return [3 /*break*/, 24];
2014
2239
  case 24:
2240
+ _e++;
2241
+ return [3 /*break*/, 20];
2242
+ case 25:
2015
2243
  process.exit();
2016
2244
  return [2 /*return*/];
2017
2245
  }