@tellescope/sdk 0.0.67 → 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.
- package/lib/cjs/session.d.ts +1 -0
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +110 -61
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/session.d.ts +1 -0
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +110 -61
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/tests/tests.ts +45 -7
package/lib/esm/tests/tests.js
CHANGED
|
@@ -952,9 +952,9 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
|
|
|
952
952
|
case 0:
|
|
953
953
|
log_header("Chat Room Tests");
|
|
954
954
|
sdk2 = new Session({ host: host });
|
|
955
|
-
return [4 /*yield*/, sdk2.authenticate(
|
|
955
|
+
return [4 /*yield*/, sdk2.authenticate(nonAdminEmail, nonAdminPassword)]; // non-admin has access restrictions we want to test
|
|
956
956
|
case 1:
|
|
957
|
-
_a.sent();
|
|
957
|
+
_a.sent(); // non-admin has access restrictions we want to test
|
|
958
958
|
email = 'enduser@tellescope.com', password = 'enduserPassword!';
|
|
959
959
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
|
|
960
960
|
case 2:
|
|
@@ -1066,9 +1066,9 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1066
1066
|
switch (_a.label) {
|
|
1067
1067
|
case 0:
|
|
1068
1068
|
sdk2 = new Session({ host: host });
|
|
1069
|
-
return [4 /*yield*/, sdk2.authenticate(
|
|
1069
|
+
return [4 /*yield*/, sdk2.authenticate(nonAdminEmail, nonAdminPassword)]; // non-admin has access restrictions we want to test
|
|
1070
1070
|
case 1:
|
|
1071
|
-
_a.sent();
|
|
1071
|
+
_a.sent(); // non-admin has access restrictions we want to test
|
|
1072
1072
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
|
|
1073
1073
|
case 2:
|
|
1074
1074
|
room = _a.sent();
|
|
@@ -1100,7 +1100,10 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1100
1100
|
return [4 /*yield*/, 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; } })];
|
|
1101
1101
|
case 6:
|
|
1102
1102
|
_a.sent();
|
|
1103
|
-
return [4 /*yield*/, 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'; } })
|
|
1103
|
+
return [4 /*yield*/, 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'; } })];
|
|
1104
|
+
case 7:
|
|
1105
|
+
_a.sent();
|
|
1106
|
+
return [4 /*yield*/, async_test("get-chats admin", function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function () { return true; } })
|
|
1104
1107
|
// currently disabled endpoint altogether
|
|
1105
1108
|
// await async_test(
|
|
1106
1109
|
// `update-chat not allowed`,
|
|
@@ -1108,7 +1111,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1108
1111
|
// { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
|
|
1109
1112
|
// )
|
|
1110
1113
|
];
|
|
1111
|
-
case
|
|
1114
|
+
case 8:
|
|
1112
1115
|
_a.sent();
|
|
1113
1116
|
// currently disabled endpoint altogether
|
|
1114
1117
|
// await async_test(
|
|
@@ -1116,7 +1119,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1116
1119
|
// () => sdk2.api.chats.updateOne(chat.id, { message: 'Hi' }),
|
|
1117
1120
|
// { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
|
|
1118
1121
|
// )
|
|
1119
|
-
return [4 /*yield*/, async_test("delete-chat not allowed", function () { return sdk2.api.chats.deleteOne(chat.id); }, { shouldError: true, onError: function (e) { return e.message === '
|
|
1122
|
+
return [4 /*yield*/, async_test("delete-chat not allowed", function () { return sdk2.api.chats.deleteOne(chat.id); }, { shouldError: true, onError: function (e) { return e.message === 'Inaccessible'; } })
|
|
1120
1123
|
// currently disabled endpoint altogether
|
|
1121
1124
|
// await async_test(
|
|
1122
1125
|
// `update-chat can't update roomId`,
|
|
@@ -1124,7 +1127,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1124
1127
|
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
1125
1128
|
// )
|
|
1126
1129
|
];
|
|
1127
|
-
case
|
|
1130
|
+
case 9:
|
|
1128
1131
|
// currently disabled endpoint altogether
|
|
1129
1132
|
// await async_test(
|
|
1130
1133
|
// `update-chat not allowed`,
|
|
@@ -1139,7 +1142,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1139
1142
|
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
1140
1143
|
// )
|
|
1141
1144
|
return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
|
|
1142
|
-
case
|
|
1145
|
+
case 10:
|
|
1143
1146
|
// currently disabled endpoint altogether
|
|
1144
1147
|
// await async_test(
|
|
1145
1148
|
// `update-chat can't update roomId`,
|
|
@@ -1148,54 +1151,54 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
1148
1151
|
// )
|
|
1149
1152
|
_a.sent();
|
|
1150
1153
|
return [4 /*yield*/, wait(undefined, 25)];
|
|
1151
|
-
case
|
|
1154
|
+
case 11:
|
|
1152
1155
|
_a.sent();
|
|
1153
1156
|
return [4 /*yield*/, 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'; } })];
|
|
1154
|
-
case
|
|
1157
|
+
case 12:
|
|
1155
1158
|
_a.sent();
|
|
1156
1159
|
return [4 /*yield*/, 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'; } })];
|
|
1157
|
-
case
|
|
1160
|
+
case 13:
|
|
1158
1161
|
_a.sent();
|
|
1159
1162
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId, sdk2.userInfo.id] })];
|
|
1160
|
-
case
|
|
1163
|
+
case 14:
|
|
1161
1164
|
sharedRoom = _a.sent();
|
|
1162
1165
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello!", })];
|
|
1163
|
-
case
|
|
1166
|
+
case 15:
|
|
1164
1167
|
sharedChat = _a.sent();
|
|
1165
1168
|
return [4 /*yield*/, sdk2.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello there!", })];
|
|
1166
|
-
case
|
|
1169
|
+
case 16:
|
|
1167
1170
|
sharedChat2 = _a.sent();
|
|
1168
1171
|
return [4 /*yield*/, async_test("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
|
|
1169
|
-
case
|
|
1172
|
+
case 17:
|
|
1170
1173
|
_a.sent();
|
|
1171
1174
|
return [4 /*yield*/, async_test("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
|
|
1172
|
-
case
|
|
1175
|
+
case 18:
|
|
1173
1176
|
_a.sent();
|
|
1174
1177
|
return [4 /*yield*/, 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; }); } })];
|
|
1175
|
-
case
|
|
1178
|
+
case 19:
|
|
1176
1179
|
_a.sent();
|
|
1177
1180
|
return [4 /*yield*/, 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; }); } })
|
|
1178
1181
|
// test setNull dependency
|
|
1179
1182
|
];
|
|
1180
|
-
case
|
|
1183
|
+
case 20:
|
|
1181
1184
|
_a.sent();
|
|
1182
1185
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
|
|
1183
|
-
case
|
|
1186
|
+
case 21:
|
|
1184
1187
|
roomNull = _a.sent();
|
|
1185
1188
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello!" })];
|
|
1186
|
-
case
|
|
1189
|
+
case 22:
|
|
1187
1190
|
chatNull = _a.sent();
|
|
1188
1191
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello...", replyId: chatNull.id })];
|
|
1189
|
-
case
|
|
1192
|
+
case 23:
|
|
1190
1193
|
chat2Null = _a.sent();
|
|
1191
1194
|
return [4 /*yield*/, sdk.api.chats.deleteOne(chatNull.id)];
|
|
1192
|
-
case
|
|
1195
|
+
case 24:
|
|
1193
1196
|
_a.sent();
|
|
1194
1197
|
return [4 /*yield*/, wait(undefined, 250)];
|
|
1195
|
-
case
|
|
1198
|
+
case 25:
|
|
1196
1199
|
_a.sent();
|
|
1197
1200
|
return [4 /*yield*/, async_test("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id); }, { onResult: function (c) { return c.replyId === null; } })];
|
|
1198
|
-
case
|
|
1201
|
+
case 26:
|
|
1199
1202
|
_a.sent();
|
|
1200
1203
|
return [2 /*return*/];
|
|
1201
1204
|
}
|
|
@@ -1516,12 +1519,17 @@ var calendar_events_tests = function () { return __awaiter(void 0, void 0, void
|
|
|
1516
1519
|
});
|
|
1517
1520
|
}); };
|
|
1518
1521
|
var automation_events_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1519
|
-
var state1, state2, journey, testAction, enduser;
|
|
1520
|
-
var
|
|
1521
|
-
return __generator(this, function (
|
|
1522
|
-
switch (
|
|
1522
|
+
var form, state1, state2, journey, testAction, enduser, _a, _b, _c, _d;
|
|
1523
|
+
var _e, _f, _g, _h;
|
|
1524
|
+
return __generator(this, function (_j) {
|
|
1525
|
+
switch (_j.label) {
|
|
1523
1526
|
case 0:
|
|
1524
1527
|
log_header("Automation Events");
|
|
1528
|
+
return [4 /*yield*/, sdk.api.forms.createOne({
|
|
1529
|
+
title: 'Form', fields: [{ title: 'Question 1', type: 'string' }]
|
|
1530
|
+
})];
|
|
1531
|
+
case 1:
|
|
1532
|
+
form = _j.sent();
|
|
1525
1533
|
state1 = "State 1", state2 = "State 2";
|
|
1526
1534
|
return [4 /*yield*/, sdk.api.journeys.createOne({
|
|
1527
1535
|
title: "Automations Test",
|
|
@@ -1531,8 +1539,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
|
|
|
1531
1539
|
{ name: state2, priority: 'N/A' },
|
|
1532
1540
|
]
|
|
1533
1541
|
})];
|
|
1534
|
-
case
|
|
1535
|
-
journey =
|
|
1542
|
+
case 2:
|
|
1543
|
+
journey = _j.sent();
|
|
1536
1544
|
return [4 /*yield*/, async_test("enterState cannot match updateStateForJourney", function () { return sdk.api.event_automations.createOne({
|
|
1537
1545
|
journeyId: journey.id,
|
|
1538
1546
|
event: {
|
|
@@ -1544,8 +1552,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
|
|
|
1544
1552
|
info: { state: state1, journeyId: journey.id },
|
|
1545
1553
|
},
|
|
1546
1554
|
}); }, { shouldError: true, onError: function (e) { return e.message === 'updateStateForJourney cannot have the same journey and state as the enterState event'; } })];
|
|
1547
|
-
case
|
|
1548
|
-
|
|
1555
|
+
case 3:
|
|
1556
|
+
_j.sent();
|
|
1549
1557
|
return [4 /*yield*/, async_test("leaveState cannot match updateStateForJourney", function () { return sdk.api.event_automations.createOne({
|
|
1550
1558
|
journeyId: journey.id,
|
|
1551
1559
|
event: {
|
|
@@ -1557,8 +1565,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
|
|
|
1557
1565
|
info: { state: state1, journeyId: journey.id },
|
|
1558
1566
|
},
|
|
1559
1567
|
}); }, { shouldError: true, onError: function (e) { return e.message === 'updateStateForJourney cannot have the same journey and state as the leaveState event'; } })];
|
|
1560
|
-
case
|
|
1561
|
-
|
|
1568
|
+
case 4:
|
|
1569
|
+
_j.sent();
|
|
1562
1570
|
testAction = {
|
|
1563
1571
|
type: 'sendWebhook',
|
|
1564
1572
|
info: { message: 'test' }
|
|
@@ -1571,8 +1579,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
|
|
|
1571
1579
|
},
|
|
1572
1580
|
action: testAction,
|
|
1573
1581
|
})];
|
|
1574
|
-
case
|
|
1575
|
-
|
|
1582
|
+
case 5:
|
|
1583
|
+
_j.sent();
|
|
1576
1584
|
return [4 /*yield*/, sdk.api.event_automations.createOne({
|
|
1577
1585
|
journeyId: journey.id,
|
|
1578
1586
|
event: {
|
|
@@ -1581,8 +1589,8 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
|
|
|
1581
1589
|
},
|
|
1582
1590
|
action: testAction,
|
|
1583
1591
|
})];
|
|
1584
|
-
case
|
|
1585
|
-
|
|
1592
|
+
case 6:
|
|
1593
|
+
_j.sent();
|
|
1586
1594
|
return [4 /*yield*/, sdk.api.event_automations.createOne({
|
|
1587
1595
|
journeyId: journey.id,
|
|
1588
1596
|
event: {
|
|
@@ -1591,8 +1599,24 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
|
|
|
1591
1599
|
},
|
|
1592
1600
|
action: testAction,
|
|
1593
1601
|
})];
|
|
1594
|
-
case
|
|
1595
|
-
|
|
1602
|
+
case 7:
|
|
1603
|
+
_j.sent();
|
|
1604
|
+
return [4 /*yield*/, sdk.api.event_automations.createOne({
|
|
1605
|
+
journeyId: journey.id,
|
|
1606
|
+
event: {
|
|
1607
|
+
type: "formResponse",
|
|
1608
|
+
info: { formId: form.id },
|
|
1609
|
+
},
|
|
1610
|
+
conditions: [
|
|
1611
|
+
{
|
|
1612
|
+
type: 'atJourneyState',
|
|
1613
|
+
info: { state: state2, journeyId: journey.id }
|
|
1614
|
+
}
|
|
1615
|
+
],
|
|
1616
|
+
action: testAction,
|
|
1617
|
+
})];
|
|
1618
|
+
case 8:
|
|
1619
|
+
_j.sent();
|
|
1596
1620
|
return [4 /*yield*/, async_test("Cannot insert duplicate event/action pair", function () { return sdk.api.event_automations.createOne({
|
|
1597
1621
|
journeyId: journey.id,
|
|
1598
1622
|
event: {
|
|
@@ -1603,36 +1627,61 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
|
|
|
1603
1627
|
}); }, { shouldError: true, onError: function (e) { return e.message === "You cannot create two identical event automations"; } })
|
|
1604
1628
|
// trigger a1 on create
|
|
1605
1629
|
];
|
|
1606
|
-
case
|
|
1607
|
-
|
|
1630
|
+
case 9:
|
|
1631
|
+
_j.sent();
|
|
1608
1632
|
return [4 /*yield*/, sdk.api.endusers.createOne({
|
|
1609
1633
|
email: "automations@tellescope.com",
|
|
1610
|
-
journeys: (
|
|
1634
|
+
journeys: (_e = {}, _e[journey.id] = journey.defaultState, _e)
|
|
1611
1635
|
})
|
|
1612
|
-
//
|
|
1636
|
+
// should NOT trigger while user not in state 2
|
|
1613
1637
|
];
|
|
1614
|
-
case
|
|
1615
|
-
enduser =
|
|
1638
|
+
case 10:
|
|
1639
|
+
enduser = _j.sent();
|
|
1640
|
+
_b = (_a = sdk.api.form_responses).submit_form_response;
|
|
1641
|
+
_f = {};
|
|
1642
|
+
return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({ formId: form.id, enduserId: enduser.id })];
|
|
1643
|
+
case 11:
|
|
1644
|
+
// should NOT trigger while user not in state 2
|
|
1645
|
+
return [4 /*yield*/, _b.apply(_a, [(_f.accessCode = (_j.sent()).accessCode,
|
|
1646
|
+
_f.responses = ['Answer'],
|
|
1647
|
+
_f)])
|
|
1616
1648
|
// trigger a2 and a3 by leaving state 1 an going to state 2
|
|
1617
|
-
|
|
1618
|
-
case
|
|
1649
|
+
];
|
|
1650
|
+
case 12:
|
|
1651
|
+
// should NOT trigger while user not in state 2
|
|
1652
|
+
_j.sent();
|
|
1653
|
+
// trigger a2 and a3 by leaving state 1 an going to state 2
|
|
1654
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(enduser.id, { journeys: (_g = {}, _g[journey.id] = state2, _g) })
|
|
1655
|
+
// SHOULD trigger now that user is in state 2
|
|
1656
|
+
];
|
|
1657
|
+
case 13:
|
|
1619
1658
|
// trigger a2 and a3 by leaving state 1 an going to state 2
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1659
|
+
_j.sent();
|
|
1660
|
+
_d = (_c = sdk.api.form_responses).submit_form_response;
|
|
1661
|
+
_h = {};
|
|
1662
|
+
return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({ formId: form.id, enduserId: enduser.id })];
|
|
1663
|
+
case 14:
|
|
1664
|
+
// SHOULD trigger now that user is in state 2
|
|
1665
|
+
return [4 /*yield*/, _d.apply(_c, [(_h.accessCode = (_j.sent()).accessCode,
|
|
1666
|
+
_h.responses = ['Answer 2'],
|
|
1667
|
+
_h)])];
|
|
1668
|
+
case 15:
|
|
1669
|
+
// SHOULD trigger now that user is in state 2
|
|
1670
|
+
_j.sent();
|
|
1671
|
+
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; } })
|
|
1624
1672
|
// cleanup
|
|
1625
1673
|
];
|
|
1626
|
-
case
|
|
1627
|
-
|
|
1674
|
+
case 16:
|
|
1675
|
+
_j.sent();
|
|
1628
1676
|
// cleanup
|
|
1629
|
-
return [4 /*yield*/,
|
|
1630
|
-
|
|
1677
|
+
return [4 /*yield*/, Promise.all([
|
|
1678
|
+
sdk.api.journeys.deleteOne(journey.id),
|
|
1679
|
+
sdk.api.endusers.deleteOne(enduser.id),
|
|
1680
|
+
sdk.api.forms.deleteOne(form.id),
|
|
1681
|
+
])];
|
|
1682
|
+
case 17:
|
|
1631
1683
|
// cleanup
|
|
1632
|
-
|
|
1633
|
-
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
1634
|
-
case 12:
|
|
1635
|
-
_c.sent();
|
|
1684
|
+
_j.sent();
|
|
1636
1685
|
return [2 /*return*/];
|
|
1637
1686
|
}
|
|
1638
1687
|
});
|