@tellescope/sdk 0.0.65 → 0.0.68

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.
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { Socket } from 'socket.io-client';
2
3
  import { ReactNativeFile, S3PresignedPost } from "@tellescope/types-utilities";
3
4
  import { ClientModelForName } from "@tellescope/types-client";
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAM,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EACL,eAAe,EACf,eAAe,EAChB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,kBAAkB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,eAAO,MAAM,YAAY,+BAA+B,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,IAAI,+DAEf,CAAA;AAEF,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAmBD,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,qBAAa,OAAO;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAA;IAC/D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,YAAY,SAAc;IAC1B,eAAe,SAAU;IAEzB,MAAM,EAAE;QAAE,OAAO,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAA;KAAC,CAAC;gBAElC,CAAC;cAAiD,MAAM;KAAE;IAuBtE,aAAa,2EAAuE;IAEpF,YAAY,MAAO,MAAM,UAIxB;IAED,WAAW,MAAO;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,UAGvC;IAED,UAAU,aAGT;IAED,UAAU,aAKT;IAED,WAAW;;;;MAA0F;IAErG,YAAY,SAAgB,GAAG,kBAQ9B;IACD,IAAI,0BAA8B,MAAM,+DAQvC;IAED,GAAG,0BAA8B,MAAM,iEAQtC;IAED,KAAK,0BAA8B,MAAM,iEAQxC;IAED,MAAM,0BAA8B,MAAM,+DAQzC;IAED,MAAM,cAAqB,eAAe,QAAQ,IAAI,GAAG,MAAM,GAAG,eAAe,mBAWhF;IAED,QAAQ,gBAAuB,MAAM,kBAGpC;IAED,IAAI,UAAiB,MAAM,QAAQ,MAAM,sEAUxC;IAED,EAAE,cAAa,MAAM,sBAAsB,IAAI,0IAAiC;IAEhF,SAAS;;;6BAA4F,GAAG,KAAK,IAAI;2BAoBhH;IAED,aAAa;6BAAsC,GAAG,KAAK,IAAI;eAE9D;IAED,WAAW,YAAa,MAAM,EAAE,mBAA0C;IAC1E,wBAAwB,MAAO,MAAM,0IAAuC;IAE5E,UAAU,YAAa,MAAM,UAE5B;IACD,iBAAiB,aAQhB;IACD,mBAAmB,aAiBlB;IAED,aAAa,sBAiBZ;CACF"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAM,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EACL,eAAe,EACf,eAAe,EAChB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,kBAAkB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,eAAO,MAAM,YAAY,+BAA+B,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,IAAI,+DAEf,CAAA;AAEF,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAmBD,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,qBAAa,OAAO;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAA;IAC/D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,YAAY,SAAc;IAC1B,eAAe,SAAU;IAEzB,MAAM,EAAE;QAAE,OAAO,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAA;KAAC,CAAC;gBAElC,CAAC;cAAiD,MAAM;KAAE;IAuBtE,aAAa,2EAAuE;IAEpF,YAAY,MAAO,MAAM,UAIxB;IAED,WAAW,MAAO;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,UAGvC;IAED,UAAU,aAGT;IAED,UAAU,aAKT;IAED,WAAW;;;;MAA0F;IAErG,YAAY,SAAgB,GAAG,kBAQ9B;IACD,IAAI,0BAA8B,MAAM,+DAQvC;IAED,GAAG,0BAA8B,MAAM,iEAQtC;IAED,KAAK,0BAA8B,MAAM,iEAQxC;IAED,MAAM,0BAA8B,MAAM,+DAQzC;IAED,MAAM,cAAqB,eAAe,QAAQ,IAAI,GAAG,MAAM,GAAG,eAAe,mBAWhF;IAED,QAAQ,gBAAuB,MAAM,kBAGpC;IAED,IAAI,UAAiB,MAAM,QAAQ,MAAM,sEAUxC;IAED,EAAE,cAAa,MAAM,sBAAsB,IAAI,0IAAiC;IAEhF,SAAS;;;6BAA4F,GAAG,KAAK,IAAI;2BAoBhH;IAED,aAAa;6BAAsC,GAAG,KAAK,IAAI;eAE9D;IAED,WAAW,YAAa,MAAM,EAAE,mBAA0C;IAC1E,wBAAwB,MAAO,MAAM,0IAAuC;IAE5E,UAAU,YAAa,MAAM,UAE5B;IACD,iBAAiB,aAQhB;IACD,mBAAmB,aAiBlB;IAED,aAAa,sBAiBZ;CACF"}
@@ -976,9 +976,9 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
976
976
  case 0:
977
977
  (0, testing_1.log_header)("Chat Room Tests");
978
978
  sdk2 = new sdk_1.Session({ host: host });
979
- return [4 /*yield*/, sdk2.authenticate(email2, password2)];
979
+ return [4 /*yield*/, sdk2.authenticate(nonAdminEmail, nonAdminPassword)]; // non-admin has access restrictions we want to test
980
980
  case 1:
981
- _a.sent();
981
+ _a.sent(); // non-admin has access restrictions we want to test
982
982
  email = 'enduser@tellescope.com', password = 'enduserPassword!';
983
983
  return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
984
984
  case 2:
@@ -1090,9 +1090,9 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1090
1090
  switch (_a.label) {
1091
1091
  case 0:
1092
1092
  sdk2 = new sdk_1.Session({ host: host });
1093
- return [4 /*yield*/, sdk2.authenticate(email2, password2)];
1093
+ return [4 /*yield*/, sdk2.authenticate(nonAdminEmail, nonAdminPassword)]; // non-admin has access restrictions we want to test
1094
1094
  case 1:
1095
- _a.sent();
1095
+ _a.sent(); // non-admin has access restrictions we want to test
1096
1096
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
1097
1097
  case 2:
1098
1098
  room = _a.sent();
@@ -1124,7 +1124,10 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1124
1124
  return [4 /*yield*/, (0, testing_1.async_test)("get-chats (with filter)", function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function (c) { return (c === null || c === void 0 ? void 0 : c.length) === 2; } })];
1125
1125
  case 6:
1126
1126
  _a.sent();
1127
- return [4 /*yield*/, (0, testing_1.async_test)("get-chats not allowed", function () { return sdk2.api.chats.getSome({ filter: { roomId: room.id } }); }, { shouldError: true, onError: function (e) { return e.message === 'You do not have permission to access this resource'; } })
1127
+ return [4 /*yield*/, (0, testing_1.async_test)("get-chats not allowed", function () { return sdk2.api.chats.getSome({ filter: { roomId: room.id } }); }, { shouldError: true, onError: function (e) { return e.message === 'You do not have permission to access this resource'; } })];
1128
+ case 7:
1129
+ _a.sent();
1130
+ return [4 /*yield*/, (0, testing_1.async_test)("get-chats admin", function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function () { return true; } })
1128
1131
  // currently disabled endpoint altogether
1129
1132
  // await async_test(
1130
1133
  // `update-chat not allowed`,
@@ -1132,7 +1135,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1132
1135
  // { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
1133
1136
  // )
1134
1137
  ];
1135
- case 7:
1138
+ case 8:
1136
1139
  _a.sent();
1137
1140
  // currently disabled endpoint altogether
1138
1141
  // await async_test(
@@ -1140,7 +1143,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1140
1143
  // () => sdk2.api.chats.updateOne(chat.id, { message: 'Hi' }),
1141
1144
  // { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
1142
1145
  // )
1143
- return [4 /*yield*/, (0, testing_1.async_test)("delete-chat not allowed", function () { return sdk2.api.chats.deleteOne(chat.id); }, { shouldError: true, onError: function (e) { return e.message === 'You do not have permission to access this resource'; } })
1146
+ return [4 /*yield*/, (0, testing_1.async_test)("delete-chat not allowed", function () { return sdk2.api.chats.deleteOne(chat.id); }, { shouldError: true, onError: function (e) { return e.message === 'Inaccessible'; } })
1144
1147
  // currently disabled endpoint altogether
1145
1148
  // await async_test(
1146
1149
  // `update-chat can't update roomId`,
@@ -1148,7 +1151,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1148
1151
  // { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
1149
1152
  // )
1150
1153
  ];
1151
- case 8:
1154
+ case 9:
1152
1155
  // currently disabled endpoint altogether
1153
1156
  // await async_test(
1154
1157
  // `update-chat not allowed`,
@@ -1163,7 +1166,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1163
1166
  // { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
1164
1167
  // )
1165
1168
  return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
1166
- case 9:
1169
+ case 10:
1167
1170
  // currently disabled endpoint altogether
1168
1171
  // await async_test(
1169
1172
  // `update-chat can't update roomId`,
@@ -1172,54 +1175,54 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1172
1175
  // )
1173
1176
  _a.sent();
1174
1177
  return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
1175
- case 10:
1178
+ case 11:
1176
1179
  _a.sent();
1177
1180
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat (deleted as dependency of room 1)", function () { return sdk.api.chats.getOne(chat.id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
1178
- case 11:
1181
+ case 12:
1179
1182
  _a.sent();
1180
1183
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat (deleted as dependency of room 2)", function () { return sdk.api.chats.getOne(chat2.id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
1181
- case 12:
1184
+ case 13:
1182
1185
  _a.sent();
1183
1186
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId, sdk2.userInfo.id] })];
1184
- case 13:
1187
+ case 14:
1185
1188
  sharedRoom = _a.sent();
1186
1189
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello!", })];
1187
- case 14:
1190
+ case 15:
1188
1191
  sharedChat = _a.sent();
1189
1192
  return [4 /*yield*/, sdk2.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello there!", })];
1190
- case 15:
1193
+ case 16:
1191
1194
  sharedChat2 = _a.sent();
1192
1195
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
1193
- case 16:
1196
+ case 17:
1194
1197
  _a.sent();
1195
1198
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
1196
- case 17:
1199
+ case 18:
1197
1200
  _a.sent();
1198
1201
  return [4 /*yield*/, (0, testing_1.async_test)("get-chats (shared, user1)", function () { return sdk.api.chats.getSome({ filter: { roomId: sharedRoom.id } }); }, { onResult: function (cs) { return cs.length === 2 && !!cs.find(function (c) { return c.id === sharedChat.id; }) && !!cs.find(function (c) { return c.id === sharedChat2.id; }); } })];
1199
- case 18:
1202
+ case 19:
1200
1203
  _a.sent();
1201
1204
  return [4 /*yield*/, (0, testing_1.async_test)("get-chats (shared, user2)", function () { return sdk2.api.chats.getSome({ filter: { roomId: sharedRoom.id } }); }, { onResult: function (cs) { return cs.length === 2 && !!cs.find(function (c) { return c.id === sharedChat.id; }) && !!cs.find(function (c) { return c.id === sharedChat2.id; }); } })
1202
1205
  // test setNull dependency
1203
1206
  ];
1204
- case 19:
1207
+ case 20:
1205
1208
  _a.sent();
1206
1209
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
1207
- case 20:
1210
+ case 21:
1208
1211
  roomNull = _a.sent();
1209
1212
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello!" })];
1210
- case 21:
1213
+ case 22:
1211
1214
  chatNull = _a.sent();
1212
1215
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello...", replyId: chatNull.id })];
1213
- case 22:
1216
+ case 23:
1214
1217
  chat2Null = _a.sent();
1215
1218
  return [4 /*yield*/, sdk.api.chats.deleteOne(chatNull.id)];
1216
- case 23:
1219
+ case 24:
1217
1220
  _a.sent();
1218
1221
  return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)];
1219
- case 24:
1222
+ case 25:
1220
1223
  _a.sent();
1221
1224
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id); }, { onResult: function (c) { return c.replyId === null; } })];
1222
- case 25:
1225
+ case 26:
1223
1226
  _a.sent();
1224
1227
  return [2 /*return*/];
1225
1228
  }
@@ -1540,12 +1543,17 @@ var calendar_events_tests = function () { return __awaiter(void 0, void 0, void
1540
1543
  });
1541
1544
  }); };
1542
1545
  var automation_events_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
1543
- var state1, state2, journey, testAction, enduser;
1544
- var _a, _b;
1545
- return __generator(this, function (_c) {
1546
- switch (_c.label) {
1546
+ var form, state1, state2, journey, testAction, enduser, _a, _b, _c, _d;
1547
+ var _e, _f, _g, _h;
1548
+ return __generator(this, function (_j) {
1549
+ switch (_j.label) {
1547
1550
  case 0:
1548
1551
  (0, testing_1.log_header)("Automation Events");
1552
+ return [4 /*yield*/, sdk.api.forms.createOne({
1553
+ title: 'Form', fields: [{ title: 'Question 1', type: 'string' }]
1554
+ })];
1555
+ case 1:
1556
+ form = _j.sent();
1549
1557
  state1 = "State 1", state2 = "State 2";
1550
1558
  return [4 /*yield*/, sdk.api.journeys.createOne({
1551
1559
  title: "Automations Test",
@@ -1555,8 +1563,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1555
1563
  { name: state2, priority: 'N/A' },
1556
1564
  ]
1557
1565
  })];
1558
- case 1:
1559
- journey = _c.sent();
1566
+ case 2:
1567
+ journey = _j.sent();
1560
1568
  return [4 /*yield*/, (0, testing_1.async_test)("enterState cannot match updateStateForJourney", function () { return sdk.api.event_automations.createOne({
1561
1569
  journeyId: journey.id,
1562
1570
  event: {
@@ -1568,8 +1576,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1568
1576
  info: { state: state1, journeyId: journey.id },
1569
1577
  },
1570
1578
  }); }, { shouldError: true, onError: function (e) { return e.message === 'updateStateForJourney cannot have the same journey and state as the enterState event'; } })];
1571
- case 2:
1572
- _c.sent();
1579
+ case 3:
1580
+ _j.sent();
1573
1581
  return [4 /*yield*/, (0, testing_1.async_test)("leaveState cannot match updateStateForJourney", function () { return sdk.api.event_automations.createOne({
1574
1582
  journeyId: journey.id,
1575
1583
  event: {
@@ -1581,8 +1589,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1581
1589
  info: { state: state1, journeyId: journey.id },
1582
1590
  },
1583
1591
  }); }, { shouldError: true, onError: function (e) { return e.message === 'updateStateForJourney cannot have the same journey and state as the leaveState event'; } })];
1584
- case 3:
1585
- _c.sent();
1592
+ case 4:
1593
+ _j.sent();
1586
1594
  testAction = {
1587
1595
  type: 'sendWebhook',
1588
1596
  info: { message: 'test' }
@@ -1595,8 +1603,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1595
1603
  },
1596
1604
  action: testAction,
1597
1605
  })];
1598
- case 4:
1599
- _c.sent();
1606
+ case 5:
1607
+ _j.sent();
1600
1608
  return [4 /*yield*/, sdk.api.event_automations.createOne({
1601
1609
  journeyId: journey.id,
1602
1610
  event: {
@@ -1605,8 +1613,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1605
1613
  },
1606
1614
  action: testAction,
1607
1615
  })];
1608
- case 5:
1609
- _c.sent();
1616
+ case 6:
1617
+ _j.sent();
1610
1618
  return [4 /*yield*/, sdk.api.event_automations.createOne({
1611
1619
  journeyId: journey.id,
1612
1620
  event: {
@@ -1615,8 +1623,24 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1615
1623
  },
1616
1624
  action: testAction,
1617
1625
  })];
1618
- case 6:
1619
- _c.sent();
1626
+ case 7:
1627
+ _j.sent();
1628
+ return [4 /*yield*/, sdk.api.event_automations.createOne({
1629
+ journeyId: journey.id,
1630
+ event: {
1631
+ type: "formResponse",
1632
+ info: { formId: form.id },
1633
+ },
1634
+ conditions: [
1635
+ {
1636
+ type: 'atJourneyState',
1637
+ info: { state: state2, journeyId: journey.id }
1638
+ }
1639
+ ],
1640
+ action: testAction,
1641
+ })];
1642
+ case 8:
1643
+ _j.sent();
1620
1644
  return [4 /*yield*/, (0, testing_1.async_test)("Cannot insert duplicate event/action pair", function () { return sdk.api.event_automations.createOne({
1621
1645
  journeyId: journey.id,
1622
1646
  event: {
@@ -1624,39 +1648,64 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
1624
1648
  info: { state: state2, journeyId: journey.id }
1625
1649
  },
1626
1650
  action: testAction,
1627
- }); }, { shouldError: true, onError: function (e) { return e.message === UniquenessViolationMessage; } })
1651
+ }); }, { shouldError: true, onError: function (e) { return e.message === "You cannot create two identical event automations"; } })
1628
1652
  // trigger a1 on create
1629
1653
  ];
1630
- case 7:
1631
- _c.sent();
1654
+ case 9:
1655
+ _j.sent();
1632
1656
  return [4 /*yield*/, sdk.api.endusers.createOne({
1633
1657
  email: "automations@tellescope.com",
1634
- journeys: (_a = {}, _a[journey.id] = journey.defaultState, _a)
1658
+ journeys: (_e = {}, _e[journey.id] = journey.defaultState, _e)
1635
1659
  })
1636
- // trigger a2 and a3 by leaving state 1 an going to state 2
1660
+ // should NOT trigger while user not in state 2
1637
1661
  ];
1638
- case 8:
1639
- enduser = _c.sent();
1662
+ case 10:
1663
+ enduser = _j.sent();
1664
+ _b = (_a = sdk.api.form_responses).submit_form_response;
1665
+ _f = {};
1666
+ return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({ formId: form.id, enduserId: enduser.id })];
1667
+ case 11:
1668
+ // should NOT trigger while user not in state 2
1669
+ return [4 /*yield*/, _b.apply(_a, [(_f.accessCode = (_j.sent()).accessCode,
1670
+ _f.responses = ['Answer'],
1671
+ _f)])
1640
1672
  // trigger a2 and a3 by leaving state 1 an going to state 2
1641
- return [4 /*yield*/, sdk.api.endusers.updateOne(enduser.id, { journeys: (_b = {}, _b[journey.id] = state2, _b) })];
1642
- case 9:
1673
+ ];
1674
+ case 12:
1675
+ // should NOT trigger while user not in state 2
1676
+ _j.sent();
1677
+ // trigger a2 and a3 by leaving state 1 an going to state 2
1678
+ return [4 /*yield*/, sdk.api.endusers.updateOne(enduser.id, { journeys: (_g = {}, _g[journey.id] = state2, _g) })
1679
+ // SHOULD trigger now that user is in state 2
1680
+ ];
1681
+ case 13:
1643
1682
  // trigger a2 and a3 by leaving state 1 an going to state 2
1644
- _c.sent();
1645
- return [4 /*yield*/, (0, testing_1.async_test)("Automation events triggered correctly",
1646
- // () => sdk.api.automation_endusers.getSome(),
1647
- function () { return sdk.api.automation_endusers.getSome({ filter: { enduserId: enduser.id } }); }, { onResult: function (es) { return es && es.length === 3 && es.filter(function (a) { return a.automationId === "ONE_TIME"; }).length === 3; } })
1683
+ _j.sent();
1684
+ _d = (_c = sdk.api.form_responses).submit_form_response;
1685
+ _h = {};
1686
+ return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({ formId: form.id, enduserId: enduser.id })];
1687
+ case 14:
1688
+ // SHOULD trigger now that user is in state 2
1689
+ return [4 /*yield*/, _d.apply(_c, [(_h.accessCode = (_j.sent()).accessCode,
1690
+ _h.responses = ['Answer 2'],
1691
+ _h)])];
1692
+ case 15:
1693
+ // SHOULD trigger now that user is in state 2
1694
+ _j.sent();
1695
+ return [4 /*yield*/, (0, testing_1.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; } })
1648
1696
  // cleanup
1649
1697
  ];
1650
- case 10:
1651
- _c.sent();
1698
+ case 16:
1699
+ _j.sent();
1652
1700
  // cleanup
1653
- return [4 /*yield*/, sdk.api.journeys.deleteOne(journey.id)]; // automation events deleted as side effect
1654
- case 11:
1701
+ return [4 /*yield*/, Promise.all([
1702
+ sdk.api.journeys.deleteOne(journey.id),
1703
+ sdk.api.endusers.deleteOne(enduser.id),
1704
+ sdk.api.forms.deleteOne(form.id),
1705
+ ])];
1706
+ case 17:
1655
1707
  // cleanup
1656
- _c.sent(); // automation events deleted as side effect
1657
- return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
1658
- case 12:
1659
- _c.sent();
1708
+ _j.sent();
1660
1709
  return [2 /*return*/];
1661
1710
  }
1662
1711
  });