@tellescope/sdk 1.191.0 → 1.192.0

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 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAsxEA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AA6kCD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAqmBD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAgD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBA2ahD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAgyCD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA2C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBA2N1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4nBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAuxEA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAwpCD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAqmBD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAgD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBA2ahD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAgyCD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA2C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBA2N1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4nBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}
@@ -1555,22 +1555,25 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
1555
1555
  return [4 /*yield*/, sdk2.authenticate(nonAdminEmail, nonAdminPassword)]; // non-admin has access restrictions we want to test
1556
1556
  case 1:
1557
1557
  _k.sent(); // non-admin has access restrictions we want to test
1558
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
1559
+ case 2:
1560
+ _k.sent();
1558
1561
  email = 'enduser@tellescope.com', password = 'enduserPassword!';
1559
1562
  return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
1560
- case 2:
1563
+ case 3:
1561
1564
  enduser = _k.sent();
1562
1565
  return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
1563
- case 3:
1566
+ case 4:
1564
1567
  _k.sent();
1565
1568
  return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
1566
- case 4:
1569
+ case 5:
1567
1570
  _k.sent();
1568
1571
  return [4 /*yield*/, sdk.api.endusers.getOne(enduser.id)];
1569
- case 5:
1572
+ case 6:
1570
1573
  enduserLoggedIn = _k.sent();
1571
1574
  (0, testing_1.assert)(new Date(enduserLoggedIn.lastActive).getTime() > Date.now() - 100, 'lastActive fail for enduser', 'lastActive for enduser');
1572
1575
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId], enduserIds: [enduserSDK.userInfo.id] })];
1573
- case 6:
1576
+ case 7:
1574
1577
  room = _k.sent();
1575
1578
  (0, testing_1.assert)(room.numMessages === 0, 'num mesages no update', 'num messages on creation');
1576
1579
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat-room (not a user)", function () { return sdk2.api.chat_rooms.getOne(room.id); }, { shouldError: true, onError: function (e) { return e.message === "Could not find a record for the given id"; } })
@@ -1580,7 +1583,7 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
1580
1583
  // { shouldError: true, onError: e => e.message === "Could not find a record for the given id" }
1581
1584
  // )
1582
1585
  ];
1583
- case 7:
1586
+ case 8:
1584
1587
  _k.sent();
1585
1588
  // await async_test(
1586
1589
  // `user_display_info for room (not a user)`,
@@ -1588,7 +1591,7 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
1588
1591
  // { shouldError: true, onError: e => e.message === "Could not find a record for the given id" }
1589
1592
  // )
1590
1593
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: 'test message', attachments: [{ type: 'file', secureName: 'testsecurename' }] })];
1591
- case 8:
1594
+ case 9:
1592
1595
  // await async_test(
1593
1596
  // `user_display_info for room (not a user)`,
1594
1597
  // () => sdk2.api.chat_rooms.display_info({ id: room.id }),
@@ -1596,14 +1599,14 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
1596
1599
  // )
1597
1600
  _k.sent();
1598
1601
  return [4 /*yield*/, sdk.api.chat_rooms.getOne(room.id)];
1599
- case 9:
1602
+ case 10:
1600
1603
  roomWithMessage = _k.sent();
1601
1604
  (0, testing_1.assert)(roomWithMessage.numMessages === 1, 'num mesages no update', 'num messages on send message');
1602
1605
  (0, testing_1.assert)(((_b = roomWithMessage === null || roomWithMessage === void 0 ? void 0 : roomWithMessage.recentMessageSentAt) !== null && _b !== void 0 ? _b : 0) > Date.now() - 1000, 'recent message timestamp bad', 'recent message timestamp');
1603
1606
  (0, testing_1.assert)(!((_d = (_c = roomWithMessage === null || roomWithMessage === void 0 ? void 0 : roomWithMessage.infoForUser) === null || _c === void 0 ? void 0 : _c[userId]) === null || _d === void 0 ? void 0 : _d.unreadCount), 'bad unread count for user', 'unread count for user');
1604
1607
  (0, testing_1.assert)(((_g = (_f = roomWithMessage === null || roomWithMessage === void 0 ? void 0 : roomWithMessage.infoForUser) === null || _f === void 0 ? void 0 : _f[enduserSDK.userInfo.id]) === null || _g === void 0 ? void 0 : _g.unreadCount) === 1, 'bad unread count for enduser', 'unread count for enduser');
1605
1608
  return [4 /*yield*/, sdk.api.chat_rooms.updateOne(roomWithMessage.id, { infoForUser: (_a = {}, _a[userId] = { unreadCount: 0 }, _a) })];
1606
- case 10:
1609
+ case 11:
1607
1610
  roomWithMessage = _k.sent();
1608
1611
  (0, testing_1.assert)(((_j = (_h = roomWithMessage === null || roomWithMessage === void 0 ? void 0 : roomWithMessage.infoForUser) === null || _h === void 0 ? void 0 : _h[userId]) === null || _j === void 0 ? void 0 : _j.unreadCount) === 0, 'bad reset unread count for user', 'reset unread count for user');
1609
1612
  verifyRoomDisplayInfo = function (info) {
@@ -1637,68 +1640,68 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
1637
1640
  return true;
1638
1641
  };
1639
1642
  return [4 /*yield*/, (0, testing_1.async_test)("user_display_info for room (for user)", function () { return sdk.api.chat_rooms.display_info({ id: room.id }); }, { onResult: function (r) { return r.id === room.id && verifyRoomDisplayInfo(r.display_info); } })];
1640
- case 11:
1643
+ case 12:
1641
1644
  _k.sent();
1642
1645
  return [4 /*yield*/, (0, testing_1.async_test)("user_display_info for room (for enduser)", function () { return enduserSDK.api.chat_rooms.display_info({ id: room.id }); }, { onResult: function (r) { return r.id === room.id && verifyRoomDisplayInfo(r.display_info); } })];
1643
- case 12:
1646
+ case 13:
1644
1647
  _k.sent();
1645
1648
  return [4 /*yield*/, (0, testing_1.async_test)("non admin can't get room without enduser", function () { return sdkNonAdmin.api.chat_rooms.getOne({ id: room.id }); }, handleAnyError)];
1646
- case 13:
1649
+ case 14:
1647
1650
  _k.sent();
1648
1651
  return [4 /*yield*/, (0, testing_1.async_test)("non admin can't get chats from room without enduser", function () { return sdkNonAdmin.api.chats.getSome({ filter: { roomId: room.id } }); }, handleAnyError)];
1649
- case 14:
1652
+ case 15:
1650
1653
  _k.sent();
1651
1654
  return [4 /*yield*/, sdk.api.endusers.updateOne(enduser.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
1652
- case 15:
1655
+ case 16:
1653
1656
  _k.sent();
1654
1657
  return [4 /*yield*/, (0, testing_1.async_test)("non admin can get room with enduser", function () { return sdkNonAdmin.api.chat_rooms.getOne(room.id); }, passOnAnyResult)];
1655
- case 16:
1658
+ case 17:
1656
1659
  _k.sent();
1657
1660
  return [4 /*yield*/, (0, testing_1.async_test)("non admin can get chats from room with enduser", function () { return sdkNonAdmin.api.chats.getSome({ filter: { roomId: room.id } }); }, passOnAnyResult)];
1658
- case 17:
1661
+ case 18:
1659
1662
  _k.sent();
1660
1663
  return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
1661
- case 18:
1664
+ case 19:
1662
1665
  _k.sent();
1663
1666
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({})];
1664
- case 19:
1667
+ case 20:
1665
1668
  emptyRoom = _k.sent();
1666
1669
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat-room (creator can access, even when not in userIds)", function () { return sdk.api.chat_rooms.getOne(emptyRoom.id); }, { onResult: function (r) { return r.id === emptyRoom.id; } })];
1667
- case 20:
1670
+ case 21:
1668
1671
  _k.sent();
1669
1672
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat-room (not in empty room)", function () { return sdk2.api.chat_rooms.getOne(emptyRoom.id); }, { shouldError: true, onError: function (e) { return e.message === "Could not find a record for the given id"; } })];
1670
- case 21:
1673
+ case 22:
1671
1674
  _k.sent();
1672
1675
  return [4 /*yield*/, (0, testing_1.async_test)("join-room", function () { return sdk2.api.chat_rooms.join_room({ id: emptyRoom.id }); }, { onResult: function (_a) {
1673
1676
  var room = _a.room;
1674
1677
  return room.id === emptyRoom.id;
1675
1678
  } })];
1676
- case 22:
1679
+ case 23:
1677
1680
  _k.sent();
1678
1681
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat-room (join successful)", function () { return sdk2.api.chat_rooms.getOne(emptyRoom.id); }, { onResult: function (r) { return r.id === emptyRoom.id; } })];
1679
- case 23:
1682
+ case 24:
1680
1683
  _k.sent();
1681
1684
  return [4 /*yield*/, (0, testing_1.async_test)("create-chat (join successful)", function () { return sdk2.api.chats.createOne({ roomId: emptyRoom.id, message: 'test' }); }, passOnAnyResult)];
1682
- case 24:
1685
+ case 25:
1683
1686
  _k.sent();
1684
1687
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat (join successful)", function () { return sdk2.api.chats.getSome({ filter: { roomId: emptyRoom.id } }); }, { onResult: function (r) { return r.length > 0; } })];
1685
- case 25:
1688
+ case 26:
1686
1689
  _k.sent();
1687
1690
  return [4 /*yield*/, (0, testing_1.async_test)("[bulk] get-chat-room (join successful)", function () { return sdk2.bulk_load({ load: [{ model: 'chat_rooms' }] }); }, { onResult: function (r) { var _a, _b, _c; return (_c = (_b = (_a = r.results) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.find(function (r) { return r.id === emptyRoom.id; }); } })];
1688
- case 26:
1691
+ case 27:
1689
1692
  _k.sent();
1690
1693
  return [4 /*yield*/, enduserSDK.logout()];
1691
- case 27:
1694
+ case 28:
1692
1695
  _k.sent();
1693
1696
  return [4 /*yield*/, sdk.api.endusers.getOne(enduser.id)];
1694
- case 28:
1697
+ case 29:
1695
1698
  loggedOutEnduser = _k.sent();
1696
1699
  (0, testing_1.assert)(new Date(loggedOutEnduser.lastLogout).getTime() > Date.now() - 100, 'lastLogout fail for enduser', 'lastLogout for enduser');
1697
1700
  return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
1698
- case 29:
1701
+ case 30:
1699
1702
  _k.sent();
1700
1703
  return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(emptyRoom.id)];
1701
- case 30:
1704
+ case 31:
1702
1705
  _k.sent();
1703
1706
  return [2 /*return*/];
1704
1707
  }
@@ -4799,28 +4802,124 @@ var appointment_created_tests = function () { return __awaiter(void 0, void 0, v
4799
4802
  }
4800
4803
  });
4801
4804
  }); };
4805
+ var contact_created_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
4806
+ var t1, t2, t3, t4, t5, e, e2;
4807
+ return __generator(this, function (_a) {
4808
+ switch (_a.label) {
4809
+ case 0:
4810
+ (0, testing_1.log_header)("Automation Trigger Tests (Contact Created)");
4811
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4812
+ event: { type: 'Contact Created', info: {} },
4813
+ action: { type: 'Add Tags', info: { tags: ['No Filter'] } },
4814
+ status: 'Active',
4815
+ title: "1"
4816
+ })];
4817
+ case 1:
4818
+ t1 = _a.sent();
4819
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4820
+ event: { type: 'Contact Created', info: { entityTypes: [] } },
4821
+ action: { type: 'Add Tags', info: { tags: ['Empty Filter'] } },
4822
+ status: 'Active',
4823
+ title: "2"
4824
+ })];
4825
+ case 2:
4826
+ t2 = _a.sent();
4827
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4828
+ event: { type: 'Contact Created', info: { entityTypes: ["Default"] } },
4829
+ action: { type: 'Add Tags', info: { tags: ['Default in Filter'] } },
4830
+ status: 'Active',
4831
+ title: "3"
4832
+ })];
4833
+ case 3:
4834
+ t3 = _a.sent();
4835
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4836
+ event: { type: 'Contact Created', info: { entityTypes: [constants_1.PLACEHOLDER_ID] } },
4837
+ action: { type: 'Add Tags', info: { tags: ['ID in Filter'] } },
4838
+ status: 'Active',
4839
+ title: "4"
4840
+ })];
4841
+ case 4:
4842
+ t4 = _a.sent();
4843
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4844
+ event: { type: 'Contact Created', info: { entityTypes: [constants_1.PLACEHOLDER_ID, 'Default'] } },
4845
+ action: { type: 'Add Tags', info: { tags: ['Both'] } },
4846
+ status: 'Active',
4847
+ title: "5"
4848
+ })];
4849
+ case 5:
4850
+ t5 = _a.sent();
4851
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4852
+ case 6:
4853
+ e = _a.sent();
4854
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)]; // allow triggers to happen
4855
+ case 7:
4856
+ _a.sent(); // allow triggers to happen
4857
+ return [4 /*yield*/, (0, testing_1.async_test)("Default type", function () { return sdk.api.endusers.getOne(e.id); }, {
4858
+ onResult: function (e) {
4859
+ var _a, _b, _c, _d, _f;
4860
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 4
4861
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('No Filter')) && ((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('Empty Filter')) && ((_d = e.tags) === null || _d === void 0 ? void 0 : _d.includes('Both'))
4862
+ && ((_f = e.tags) === null || _f === void 0 ? void 0 : _f.includes('Default in Filter')));
4863
+ }
4864
+ })];
4865
+ case 8:
4866
+ _a.sent();
4867
+ return [4 /*yield*/, sdk.api.endusers.createOne({ customTypeId: constants_1.PLACEHOLDER_ID })];
4868
+ case 9:
4869
+ e2 = _a.sent();
4870
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)]; // allow triggers to happen
4871
+ case 10:
4872
+ _a.sent(); // allow triggers to happen
4873
+ return [4 /*yield*/, (0, testing_1.async_test)("Custom type", function () { return sdk.api.endusers.getOne(e2.id); }, {
4874
+ onResult: function (e) {
4875
+ var _a, _b, _c, _d, _f;
4876
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 4
4877
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('No Filter')) && ((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('Empty Filter')) && ((_d = e.tags) === null || _d === void 0 ? void 0 : _d.includes('Both'))
4878
+ && ((_f = e.tags) === null || _f === void 0 ? void 0 : _f.includes('ID in Filter')));
4879
+ }
4880
+ })];
4881
+ case 11:
4882
+ _a.sent();
4883
+ return [4 /*yield*/, Promise.all([
4884
+ sdk.api.automation_triggers.deleteOne(t1.id),
4885
+ sdk.api.automation_triggers.deleteOne(t2.id),
4886
+ sdk.api.automation_triggers.deleteOne(t3.id),
4887
+ sdk.api.automation_triggers.deleteOne(t4.id),
4888
+ sdk.api.automation_triggers.deleteOne(t5.id),
4889
+ sdk.api.endusers.deleteOne(e.id),
4890
+ sdk.api.endusers.deleteOne(e2.id),
4891
+ ])];
4892
+ case 12:
4893
+ _a.sent();
4894
+ return [2 /*return*/];
4895
+ }
4896
+ });
4897
+ }); };
4802
4898
  var automation_trigger_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
4803
4899
  return __generator(this, function (_a) {
4804
4900
  switch (_a.label) {
4805
4901
  case 0:
4806
4902
  (0, testing_1.log_header)("Automation Trigger Tests");
4807
- return [4 /*yield*/, appointment_cancelled_tests()];
4903
+ return [4 /*yield*/, contact_created_tests()];
4808
4904
  case 1:
4809
4905
  _a.sent();
4810
- return [4 /*yield*/, appointment_created_tests()];
4906
+ return [4 /*yield*/, appointment_cancelled_tests()];
4811
4907
  case 2:
4812
4908
  _a.sent();
4813
- return [4 /*yield*/, order_status_equals_tests()];
4909
+ return [4 /*yield*/, appointment_created_tests()];
4814
4910
  case 3:
4815
4911
  _a.sent();
4816
- return [4 /*yield*/, tag_added_tests()];
4912
+ return [4 /*yield*/, order_status_equals_tests()];
4817
4913
  case 4:
4818
4914
  _a.sent();
4819
- return [4 /*yield*/, order_created_tests()];
4915
+ return [4 /*yield*/, tag_added_tests()];
4820
4916
  case 5:
4821
4917
  _a.sent();
4822
- return [4 /*yield*/, formSubmittedTriggerTests()];
4918
+ return [4 /*yield*/, order_created_tests()];
4823
4919
  case 6:
4920
+ _a.sent();
4921
+ return [4 /*yield*/, formSubmittedTriggerTests()];
4922
+ case 7:
4824
4923
  _a.sent();
4825
4924
  return [2 /*return*/];
4826
4925
  }