@tellescope/sdk 1.242.7 → 1.242.9
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/tests/tests.js +188 -76
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/sdk.d.ts +2 -2
- package/lib/esm/session.d.ts +1 -0
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +188 -76
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/src/tests/tests.ts +100 -6
- package/test_generated.pdf +0 -0
package/lib/cjs/tests/tests.js
CHANGED
|
@@ -14384,10 +14384,10 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14384
14384
|
switch (_b.label) {
|
|
14385
14385
|
case 0:
|
|
14386
14386
|
(0, testing_1.log_header)("Inbox Thread Building Tests");
|
|
14387
|
-
return [4 /*yield*/, sdk.api.endusers.createOne({})];
|
|
14387
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Alice', lname: 'Wonderland' })];
|
|
14388
14388
|
case 1:
|
|
14389
14389
|
e = _b.sent();
|
|
14390
|
-
return [4 /*yield*/, sdk.api.endusers.createOne({})];
|
|
14390
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Bob', lname: 'Builder' })];
|
|
14391
14391
|
case 2:
|
|
14392
14392
|
e2 = _b.sent();
|
|
14393
14393
|
deleteBuiltThreads = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -14512,17 +14512,51 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14512
14512
|
&& threads.some(function (t) { var _a; return t.type === 'Phone' && t.threadId === call.id && !(0, utilities_1.object_is_empty)((_a = t.readBy) !== null && _a !== void 0 ? _a : {}); })
|
|
14513
14513
|
&& threads.some(function (t) { var _a; return t.type === 'Chat' && t.threadId === room.id && !(0, utilities_1.object_is_empty)((_a = t.readBy) !== null && _a !== void 0 ? _a : {}); })
|
|
14514
14514
|
&& !threads.some(function (t) { return t.outboundPreview || t.outboundTimestamp; }));
|
|
14515
|
-
} })
|
|
14515
|
+
} })
|
|
14516
|
+
// searchKeywords population tests
|
|
14517
|
+
];
|
|
14516
14518
|
case 14:
|
|
14517
14519
|
_b.sent();
|
|
14518
|
-
|
|
14520
|
+
// searchKeywords population tests
|
|
14521
|
+
return [4 /*yield*/, (0, testing_1.async_test)('built threads have searchKeywords from enduser names', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14522
|
+
var threads = _a.threads;
|
|
14523
|
+
var eThreads = threads.filter(function (t) { return t.enduserIds.includes(e.id); });
|
|
14524
|
+
return eThreads.length === 5
|
|
14525
|
+
&& eThreads.every(function (t) {
|
|
14526
|
+
return !!t.searchKeywords
|
|
14527
|
+
&& t.searchKeywords.includes('alice')
|
|
14528
|
+
&& t.searchKeywords.includes('wonderland')
|
|
14529
|
+
&& t.searchKeywords.length === 2;
|
|
14530
|
+
} // fname, lname - no duplicates
|
|
14531
|
+
);
|
|
14532
|
+
} })
|
|
14533
|
+
// search by enduser name (via searchKeywords)
|
|
14534
|
+
];
|
|
14519
14535
|
case 15:
|
|
14536
|
+
// searchKeywords population tests
|
|
14537
|
+
_b.sent();
|
|
14538
|
+
// search by enduser name (via searchKeywords)
|
|
14539
|
+
return [4 /*yield*/, (0, testing_1.async_test)('search by enduser first name finds threads', function () { return sdk.api.inbox_threads.load_threads({ search: 'Alice' }); }, { onResult: function (_a) {
|
|
14540
|
+
var threads = _a.threads;
|
|
14541
|
+
return threads.length === 5 && threads.every(function (t) { return t.enduserIds.includes(e.id); });
|
|
14542
|
+
} })];
|
|
14543
|
+
case 16:
|
|
14544
|
+
// search by enduser name (via searchKeywords)
|
|
14545
|
+
_b.sent();
|
|
14546
|
+
return [4 /*yield*/, (0, testing_1.async_test)('search by enduser last name finds threads', function () { return sdk.api.inbox_threads.load_threads({ search: 'Wonderland' }); }, { onResult: function (_a) {
|
|
14547
|
+
var threads = _a.threads;
|
|
14548
|
+
return threads.length === 5 && threads.every(function (t) { return t.enduserIds.includes(e.id); });
|
|
14549
|
+
} })];
|
|
14550
|
+
case 17:
|
|
14551
|
+
_b.sent();
|
|
14552
|
+
return [4 /*yield*/, resetThreadBuildingDates()];
|
|
14553
|
+
case 18:
|
|
14520
14554
|
_b.sent();
|
|
14521
14555
|
return [4 /*yield*/, (0, testing_1.async_test)('re-build initial 1-message threads', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
|
|
14522
14556
|
var alreadyBuilt = _a.alreadyBuilt;
|
|
14523
14557
|
return !alreadyBuilt;
|
|
14524
14558
|
} })];
|
|
14525
|
-
case
|
|
14559
|
+
case 19:
|
|
14526
14560
|
_b.sent();
|
|
14527
14561
|
return [4 /*yield*/, (0, testing_1.async_test)('re-load threads with no duplication for same messages', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14528
14562
|
var threads = _a.threads;
|
|
@@ -14530,14 +14564,14 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14530
14564
|
} })
|
|
14531
14565
|
// test adding separate threads for the first enduser
|
|
14532
14566
|
];
|
|
14533
|
-
case
|
|
14567
|
+
case 20:
|
|
14534
14568
|
_b.sent();
|
|
14535
14569
|
beforeSecondThreads = new Date();
|
|
14536
14570
|
return [4 /*yield*/, sdk.api.emails.createOne(__assign(__assign({}, defaultEmail), { enduserId: e.id, subject: "Different email subject", messageId: 'other-email' }))];
|
|
14537
|
-
case
|
|
14571
|
+
case 21:
|
|
14538
14572
|
email2 = _b.sent();
|
|
14539
14573
|
return [4 /*yield*/, sdk.api.sms_messages.createOne(__assign(__assign({}, defaultSMS), { enduserId: e.id, enduserPhoneNumber: "+15555555550" }))];
|
|
14540
|
-
case
|
|
14574
|
+
case 22:
|
|
14541
14575
|
sms2 = _b.sent();
|
|
14542
14576
|
return [4 /*yield*/, sdk.api.group_mms_conversations.createOne({
|
|
14543
14577
|
enduserIds: [e.id],
|
|
@@ -14550,19 +14584,19 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14550
14584
|
logOnly: true,
|
|
14551
14585
|
}],
|
|
14552
14586
|
})];
|
|
14553
|
-
case
|
|
14587
|
+
case 23:
|
|
14554
14588
|
groupMMS2 = _b.sent();
|
|
14555
14589
|
return [4 /*yield*/, sdk.api.phone_calls.createOne({ enduserId: e.id, inbound: true, isVoicemail: true, from: '+15555555554', to: '+15555555550' })];
|
|
14556
|
-
case
|
|
14590
|
+
case 24:
|
|
14557
14591
|
call2 = _b.sent();
|
|
14558
14592
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ enduserIds: [e.id], userIds: [], title: 'Thread Build Chat Room Alt', recentMessageSentAt: Date.now() })];
|
|
14559
|
-
case
|
|
14593
|
+
case 25:
|
|
14560
14594
|
room2 = _b.sent();
|
|
14561
14595
|
return [4 /*yield*/, (0, testing_1.async_test)('build new 1-message threads for original enduser', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
|
|
14562
14596
|
var alreadyBuilt = _a.alreadyBuilt;
|
|
14563
14597
|
return !alreadyBuilt;
|
|
14564
14598
|
} })];
|
|
14565
|
-
case
|
|
14599
|
+
case 26:
|
|
14566
14600
|
_b.sent();
|
|
14567
14601
|
return [4 /*yield*/, (0, testing_1.async_test)('load new threads for original enduser', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14568
14602
|
var threads = _a.threads;
|
|
@@ -14571,14 +14605,14 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14571
14605
|
} })
|
|
14572
14606
|
// ensure new threads created for other enduser
|
|
14573
14607
|
];
|
|
14574
|
-
case
|
|
14608
|
+
case 27:
|
|
14575
14609
|
_b.sent();
|
|
14576
14610
|
beforeSecondEnduserThreads = new Date();
|
|
14577
14611
|
return [4 /*yield*/, sdk.api.emails.createOne(__assign(__assign({}, defaultEmail), { enduserId: e2.id }))];
|
|
14578
|
-
case
|
|
14612
|
+
case 28:
|
|
14579
14613
|
e2_email = _b.sent();
|
|
14580
14614
|
return [4 /*yield*/, sdk.api.sms_messages.createOne(__assign(__assign({}, defaultSMS), { enduserId: e2.id }))];
|
|
14581
|
-
case
|
|
14615
|
+
case 29:
|
|
14582
14616
|
e2_sms = _b.sent();
|
|
14583
14617
|
return [4 /*yield*/, sdk.api.group_mms_conversations.createOne({
|
|
14584
14618
|
enduserIds: [e2.id],
|
|
@@ -14591,42 +14625,58 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14591
14625
|
logOnly: true,
|
|
14592
14626
|
}],
|
|
14593
14627
|
})];
|
|
14594
|
-
case
|
|
14628
|
+
case 30:
|
|
14595
14629
|
e2_groupMMS = _b.sent();
|
|
14596
14630
|
return [4 /*yield*/, sdk.api.phone_calls.createOne({ enduserId: e2.id, inbound: true, isVoicemail: true, from: '+15555555554', to: '+15555555555' })];
|
|
14597
|
-
case
|
|
14631
|
+
case 31:
|
|
14598
14632
|
e2_call = _b.sent();
|
|
14599
14633
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ enduserIds: [e2.id], userIds: [], title: 'Thread Build Chat Room 2' })];
|
|
14600
|
-
case
|
|
14634
|
+
case 32:
|
|
14601
14635
|
e2_room = _b.sent();
|
|
14602
14636
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: e2_room.id, message: 'test', enduserId: e2.id, senderId: e2.id })];
|
|
14603
|
-
case
|
|
14637
|
+
case 33:
|
|
14604
14638
|
_b.sent();
|
|
14605
14639
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 500)]; // allow for recentMessageTimestamp to be set to indicate inbound chat in chat room
|
|
14606
|
-
case
|
|
14640
|
+
case 34:
|
|
14607
14641
|
_b.sent(); // allow for recentMessageTimestamp to be set to indicate inbound chat in chat room
|
|
14608
14642
|
return [4 /*yield*/, (0, testing_1.async_test)('build initial 1-message threads for other enduser', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
|
|
14609
14643
|
var alreadyBuilt = _a.alreadyBuilt;
|
|
14610
14644
|
return !alreadyBuilt;
|
|
14611
14645
|
} })];
|
|
14612
|
-
case
|
|
14646
|
+
case 35:
|
|
14613
14647
|
_b.sent();
|
|
14614
14648
|
return [4 /*yield*/, (0, testing_1.async_test)('loads threads with no duplication across endusers', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14615
14649
|
var threads = _a.threads;
|
|
14616
14650
|
return (threads.length === 15
|
|
14617
14651
|
&& threads.filter(function (t) { return t.enduserIds.length === 1 && t.enduserIds.includes(e.id); }).length === 10
|
|
14618
14652
|
&& threads.filter(function (t) { return t.enduserIds.length === 1 && t.enduserIds.includes(e2.id); }).length === 5);
|
|
14653
|
+
} })
|
|
14654
|
+
// verify second enduser's threads also have correct searchKeywords
|
|
14655
|
+
];
|
|
14656
|
+
case 36:
|
|
14657
|
+
_b.sent();
|
|
14658
|
+
// verify second enduser's threads also have correct searchKeywords
|
|
14659
|
+
return [4 /*yield*/, (0, testing_1.async_test)('second enduser threads have searchKeywords from enduser names', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14660
|
+
var threads = _a.threads;
|
|
14661
|
+
var e2Threads = threads.filter(function (t) { return t.enduserIds.includes(e2.id); });
|
|
14662
|
+
return e2Threads.length === 5
|
|
14663
|
+
&& e2Threads.every(function (t) {
|
|
14664
|
+
return !!t.searchKeywords
|
|
14665
|
+
&& t.searchKeywords.includes('bob')
|
|
14666
|
+
&& t.searchKeywords.includes('builder');
|
|
14667
|
+
});
|
|
14619
14668
|
} })];
|
|
14620
|
-
case
|
|
14669
|
+
case 37:
|
|
14670
|
+
// verify second enduser's threads also have correct searchKeywords
|
|
14621
14671
|
_b.sent();
|
|
14622
14672
|
return [4 /*yield*/, resetThreadBuildingDates()];
|
|
14623
|
-
case
|
|
14673
|
+
case 38:
|
|
14624
14674
|
_b.sent();
|
|
14625
14675
|
return [4 /*yield*/, (0, testing_1.async_test)('re-build initial 1-message threads for other enduser', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
|
|
14626
14676
|
var alreadyBuilt = _a.alreadyBuilt;
|
|
14627
14677
|
return !alreadyBuilt;
|
|
14628
14678
|
} })];
|
|
14629
|
-
case
|
|
14679
|
+
case 39:
|
|
14630
14680
|
_b.sent();
|
|
14631
14681
|
return [4 /*yield*/, (0, testing_1.async_test)('re-load threads with no duplication across endusers', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14632
14682
|
var threads = _a.threads;
|
|
@@ -14640,14 +14690,14 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14640
14690
|
} })
|
|
14641
14691
|
// test adding separate threads for the first enduser
|
|
14642
14692
|
];
|
|
14643
|
-
case
|
|
14693
|
+
case 40:
|
|
14644
14694
|
_b.sent();
|
|
14645
14695
|
beforeReplies = new Date();
|
|
14646
14696
|
return [4 /*yield*/, sdk.api.emails.createOne(__assign(__assign({}, defaultEmail), { textContent: 'reply!', enduserId: e.id }))];
|
|
14647
|
-
case
|
|
14697
|
+
case 41:
|
|
14648
14698
|
emailReply = _b.sent();
|
|
14649
14699
|
return [4 /*yield*/, sdk.api.sms_messages.createOne(__assign(__assign({}, defaultSMS), { enduserId: e.id, message: 'reply!' }))];
|
|
14650
|
-
case
|
|
14700
|
+
case 42:
|
|
14651
14701
|
smsReply = _b.sent();
|
|
14652
14702
|
return [4 /*yield*/, sdk.api.group_mms_conversations.send_message({
|
|
14653
14703
|
logOnly: true,
|
|
@@ -14655,16 +14705,16 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14655
14705
|
message: 'reply!',
|
|
14656
14706
|
sender: e.id,
|
|
14657
14707
|
})];
|
|
14658
|
-
case
|
|
14708
|
+
case 43:
|
|
14659
14709
|
_b.sent();
|
|
14660
14710
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: 'reply!', enduserId: e.id, senderId: e.id })];
|
|
14661
|
-
case
|
|
14711
|
+
case 44:
|
|
14662
14712
|
chatReply = _b.sent();
|
|
14663
14713
|
return [4 /*yield*/, (0, testing_1.async_test)('re-build threads with replies', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
|
|
14664
14714
|
var alreadyBuilt = _a.alreadyBuilt;
|
|
14665
14715
|
return !alreadyBuilt;
|
|
14666
14716
|
} })];
|
|
14667
|
-
case
|
|
14717
|
+
case 45:
|
|
14668
14718
|
_b.sent();
|
|
14669
14719
|
return [4 /*yield*/, (0, testing_1.async_test)('re-load threads with replies included', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14670
14720
|
var threads = _a.threads;
|
|
@@ -14684,12 +14734,12 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14684
14734
|
// test older messages being ignored
|
|
14685
14735
|
// filter phone calls since those always create new threads
|
|
14686
14736
|
];
|
|
14687
|
-
case
|
|
14737
|
+
case 46:
|
|
14688
14738
|
_b.sent();
|
|
14689
14739
|
// test older messages being ignored
|
|
14690
14740
|
// filter phone calls since those always create new threads
|
|
14691
14741
|
return [4 /*yield*/, resetThreadsAndDates()];
|
|
14692
|
-
case
|
|
14742
|
+
case 47:
|
|
14693
14743
|
// test older messages being ignored
|
|
14694
14744
|
// filter phone calls since those always create new threads
|
|
14695
14745
|
_b.sent();
|
|
@@ -14697,19 +14747,19 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14697
14747
|
var alreadyBuilt = _a.alreadyBuilt;
|
|
14698
14748
|
return !alreadyBuilt;
|
|
14699
14749
|
} })];
|
|
14700
|
-
case
|
|
14750
|
+
case 48:
|
|
14701
14751
|
_b.sent();
|
|
14702
14752
|
return [4 /*yield*/, sdk.api.inbox_threads.load_threads({})];
|
|
14703
|
-
case
|
|
14753
|
+
case 49:
|
|
14704
14754
|
newlyBuilt = (_b.sent()).threads.filter(function (v) { return v.type !== 'Phone'; });
|
|
14705
14755
|
return [4 /*yield*/, (0, testing_1.async_test)('re-build threads inclusive of initial set', function () { return sdk.api.inbox_threads.build_threads({ from: start, to: new Date() }); }, { onResult: function (_a) {
|
|
14706
14756
|
var alreadyBuilt = _a.alreadyBuilt;
|
|
14707
14757
|
return !alreadyBuilt;
|
|
14708
14758
|
} })];
|
|
14709
|
-
case
|
|
14759
|
+
case 50:
|
|
14710
14760
|
_b.sent();
|
|
14711
14761
|
return [4 /*yield*/, sdk.api.inbox_threads.load_threads({})];
|
|
14712
|
-
case
|
|
14762
|
+
case 51:
|
|
14713
14763
|
threadsWithOlderLoad = (_b.sent()).threads.filter(function (v) { return v.type !== 'Phone'; });
|
|
14714
14764
|
(0, testing_1.assert)((0, utilities_2.objects_equivalent)(newlyBuilt, threadsWithOlderLoad), 'old threads included somehow', 'old messages ignored in new threads');
|
|
14715
14765
|
return [4 /*yield*/, (0, testing_1.async_test)('re-run previous test on all-threads to make sure staged build order doesnt effect final result', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
@@ -14731,13 +14781,13 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14731
14781
|
} })
|
|
14732
14782
|
// test adding OUTBOUND messages for the first enduser
|
|
14733
14783
|
];
|
|
14734
|
-
case
|
|
14784
|
+
case 52:
|
|
14735
14785
|
_b.sent();
|
|
14736
14786
|
return [4 /*yield*/, sdk.api.emails.createOne(__assign(__assign({}, defaultEmail), { inbound: false, textContent: 'outbound reply!', enduserId: e.id }))];
|
|
14737
|
-
case
|
|
14787
|
+
case 53:
|
|
14738
14788
|
emailReplyOutbound = _b.sent();
|
|
14739
14789
|
return [4 /*yield*/, sdk.api.sms_messages.createOne(__assign(__assign({}, defaultSMS), { inbound: false, enduserId: e.id, message: 'outbound reply!' }))];
|
|
14740
|
-
case
|
|
14790
|
+
case 54:
|
|
14741
14791
|
smsReplyOutbound = _b.sent();
|
|
14742
14792
|
return [4 /*yield*/, sdk.api.group_mms_conversations.send_message({
|
|
14743
14793
|
logOnly: true,
|
|
@@ -14745,19 +14795,19 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14745
14795
|
message: 'outbound reply!',
|
|
14746
14796
|
sender: sdk.userInfo.id,
|
|
14747
14797
|
})];
|
|
14748
|
-
case
|
|
14798
|
+
case 55:
|
|
14749
14799
|
_b.sent();
|
|
14750
14800
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: 'outbound reply!', senderId: sdk.userInfo.id })];
|
|
14751
|
-
case
|
|
14801
|
+
case 56:
|
|
14752
14802
|
chatOutboundReply = _b.sent();
|
|
14753
14803
|
return [4 /*yield*/, sdk.api.phone_calls.createOne({ readBy: readBy, enduserId: e.id, inbound: false, isVoicemail: true, from: '+15555555554', to: '+15555555555' })];
|
|
14754
|
-
case
|
|
14804
|
+
case 57:
|
|
14755
14805
|
outboundCall = _b.sent();
|
|
14756
14806
|
return [4 /*yield*/, (0, testing_1.async_test)('re-build with outbound threads', function () { return sdk.api.inbox_threads.build_threads({ from: start, to: new Date() }); }, { onResult: function (_a) {
|
|
14757
14807
|
var alreadyBuilt = _a.alreadyBuilt;
|
|
14758
14808
|
return !alreadyBuilt;
|
|
14759
14809
|
} })];
|
|
14760
|
-
case
|
|
14810
|
+
case 58:
|
|
14761
14811
|
_b.sent();
|
|
14762
14812
|
return [4 /*yield*/, (0, testing_1.async_test)('Test outbound timestamp and preview', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14763
14813
|
var threads = _a.threads;
|
|
@@ -14773,7 +14823,7 @@ var inbox_threads_building_tests = function () { return __awaiter(void 0, void 0
|
|
|
14773
14823
|
.length === 4 // all channels except call
|
|
14774
14824
|
);
|
|
14775
14825
|
} })];
|
|
14776
|
-
case
|
|
14826
|
+
case 59:
|
|
14777
14827
|
_b.sent();
|
|
14778
14828
|
return [2 /*return*/, Promise.all([
|
|
14779
14829
|
sdk.api.endusers.deleteOne(e.id),
|
|
@@ -14875,20 +14925,48 @@ var inbox_threads_loading_tests = function () { return __awaiter(void 0, void 0,
|
|
|
14875
14925
|
var threads = _a.threads;
|
|
14876
14926
|
return threads.length === 2;
|
|
14877
14927
|
} })
|
|
14878
|
-
//
|
|
14928
|
+
// search parameter tests
|
|
14879
14929
|
];
|
|
14880
14930
|
case 12:
|
|
14931
|
+
_g.sent();
|
|
14932
|
+
// search parameter tests
|
|
14933
|
+
return [4 /*yield*/, (0, testing_1.async_test)('search by title', function () { return sdk.api.inbox_threads.load_threads({ search: 'Email' }); }, { onResult: function (_a) {
|
|
14934
|
+
var threads = _a.threads;
|
|
14935
|
+
return threads.length === 1 && threads[0].type === 'Email';
|
|
14936
|
+
} })];
|
|
14937
|
+
case 13:
|
|
14938
|
+
// search parameter tests
|
|
14939
|
+
_g.sent();
|
|
14940
|
+
return [4 /*yield*/, (0, testing_1.async_test)('search by preview matches all threads', function () { return sdk.api.inbox_threads.load_threads({ search: 'Test' }); }, { onResult: function (_a) {
|
|
14941
|
+
var threads = _a.threads;
|
|
14942
|
+
return threads.length === 5;
|
|
14943
|
+
} })];
|
|
14944
|
+
case 14:
|
|
14945
|
+
_g.sent();
|
|
14946
|
+
return [4 /*yield*/, (0, testing_1.async_test)('search with no match returns empty', function () { return sdk.api.inbox_threads.load_threads({ search: 'zzzznonexistent' }); }, { onResult: function (_a) {
|
|
14947
|
+
var threads = _a.threads;
|
|
14948
|
+
return threads.length === 0;
|
|
14949
|
+
} })];
|
|
14950
|
+
case 15:
|
|
14951
|
+
_g.sent();
|
|
14952
|
+
return [4 /*yield*/, (0, testing_1.async_test)('short search (< 3 chars) returns unfiltered results', function () { return sdk.api.inbox_threads.load_threads({ search: 'ab' }); }, { onResult: function (_a) {
|
|
14953
|
+
var threads = _a.threads;
|
|
14954
|
+
return threads.length === 5;
|
|
14955
|
+
} })
|
|
14956
|
+
// adding to care team of e2 who belongs to only the phone thread
|
|
14957
|
+
];
|
|
14958
|
+
case 16:
|
|
14881
14959
|
_g.sent();
|
|
14882
14960
|
// adding to care team of e2 who belongs to only the phone thread
|
|
14883
14961
|
return [4 /*yield*/, sdk.api.endusers.updateOne(e2.id, { assignedTo: [sdkNonAdmin.userInfo.id] }, { replaceObjectFields: true })
|
|
14884
14962
|
// assign (default access) to sms thread
|
|
14885
14963
|
];
|
|
14886
|
-
case
|
|
14964
|
+
case 17:
|
|
14887
14965
|
// adding to care team of e2 who belongs to only the phone thread
|
|
14888
14966
|
_g.sent();
|
|
14889
14967
|
// assign (default access) to sms thread
|
|
14890
14968
|
return [4 /*yield*/, sdk.api.inbox_threads.updateOne(sms.id, { userIds: [sdkNonAdmin.userInfo.id] }, { replaceObjectFields: true })];
|
|
14891
|
-
case
|
|
14969
|
+
case 18:
|
|
14892
14970
|
// assign (default access) to sms thread
|
|
14893
14971
|
_g.sent();
|
|
14894
14972
|
return [4 /*yield*/, (0, testing_1.async_test)('non-admin can load threads based on assignment/default access', function () { return sdkNonAdmin.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
@@ -14898,30 +14976,39 @@ var inbox_threads_loading_tests = function () { return __awaiter(void 0, void 0,
|
|
|
14898
14976
|
&& threads.some(function (t) { return t.id === sms.id; });
|
|
14899
14977
|
}
|
|
14900
14978
|
})];
|
|
14901
|
-
case
|
|
14979
|
+
case 19:
|
|
14980
|
+
_g.sent();
|
|
14981
|
+
return [4 /*yield*/, (0, testing_1.async_test)('assigned access search still respects access control', function () { return sdkNonAdmin.api.inbox_threads.load_threads({ search: 'Test' }); }, { onResult: function (_a) {
|
|
14982
|
+
var threads = _a.threads;
|
|
14983
|
+
return threads.length === 2
|
|
14984
|
+
&& threads.some(function (t) { return t.id === phone.id; })
|
|
14985
|
+
&& threads.some(function (t) { return t.id === sms.id; });
|
|
14986
|
+
}
|
|
14987
|
+
})];
|
|
14988
|
+
case 20:
|
|
14902
14989
|
_g.sent();
|
|
14903
14990
|
roleTestUserEmail = 'inbox.role.test@tellescope.com';
|
|
14904
14991
|
return [4 /*yield*/, sdk.api.users.getOne({ email: roleTestUserEmail }).catch(function () { return null; })]; // throws error on none found
|
|
14905
|
-
case
|
|
14992
|
+
case 21:
|
|
14906
14993
|
_a = (_g.sent() // throws error on none found
|
|
14907
14994
|
);
|
|
14908
|
-
if (_a) return [3 /*break*/,
|
|
14995
|
+
if (_a) return [3 /*break*/, 23];
|
|
14909
14996
|
return [4 /*yield*/, sdk.api.users.createOne({ email: roleTestUserEmail })];
|
|
14910
|
-
case
|
|
14997
|
+
case 22:
|
|
14911
14998
|
_a = (_g.sent());
|
|
14912
|
-
_g.label =
|
|
14913
|
-
case
|
|
14999
|
+
_g.label = 23;
|
|
15000
|
+
case 23:
|
|
14914
15001
|
roleTestUser = _a;
|
|
14915
15002
|
// add to care team to ensure this doesn't grant unexpected access
|
|
14916
15003
|
return [4 /*yield*/, sdk.api.endusers.updateOne(e2.id, { assignedTo: [roleTestUser.id] })
|
|
14917
15004
|
// assign (default access) to sms thread to ensure no unexpected access
|
|
14918
15005
|
];
|
|
14919
|
-
case
|
|
15006
|
+
case 24:
|
|
14920
15007
|
// add to care team to ensure this doesn't grant unexpected access
|
|
14921
15008
|
_g.sent();
|
|
14922
15009
|
// assign (default access) to sms thread to ensure no unexpected access
|
|
14923
15010
|
return [4 /*yield*/, sdk.api.inbox_threads.updateOne(sms.id, { userIds: [roleTestUser.id] }, { replaceObjectFields: true })];
|
|
14924
|
-
case
|
|
15011
|
+
case 25:
|
|
14925
15012
|
// assign (default access) to sms thread to ensure no unexpected access
|
|
14926
15013
|
_g.sent();
|
|
14927
15014
|
return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
|
|
@@ -14937,30 +15024,36 @@ var inbox_threads_loading_tests = function () { return __awaiter(void 0, void 0,
|
|
|
14937
15024
|
endusers: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
|
|
14938
15025
|
},
|
|
14939
15026
|
})];
|
|
14940
|
-
case
|
|
15027
|
+
case 26:
|
|
14941
15028
|
defaultAccessRole = _g.sent();
|
|
14942
15029
|
return [4 /*yield*/, sdk.api.users.updateOne(roleTestUser.id, { roles: [defaultAccessRole.role] }, { replaceObjectFields: true })];
|
|
14943
|
-
case
|
|
15030
|
+
case 27:
|
|
14944
15031
|
_g.sent();
|
|
14945
15032
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 2000)]; // role change triggers a logout
|
|
14946
|
-
case
|
|
15033
|
+
case 28:
|
|
14947
15034
|
_g.sent(); // role change triggers a logout
|
|
14948
15035
|
_b = sdk_1.Session.bind;
|
|
14949
15036
|
_d = {
|
|
14950
15037
|
host: host
|
|
14951
15038
|
};
|
|
14952
15039
|
return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: roleTestUser.id })];
|
|
14953
|
-
case
|
|
15040
|
+
case 29:
|
|
14954
15041
|
sdkDefaultAccess = new (_b.apply(sdk_1.Session, [void 0, (_d.authToken = (_g.sent()).authToken,
|
|
14955
15042
|
_d)]))();
|
|
14956
15043
|
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (default access)', sdkDefaultAccess.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
14957
|
-
case
|
|
15044
|
+
case 30:
|
|
14958
15045
|
_g.sent();
|
|
14959
15046
|
return [4 /*yield*/, (0, testing_1.async_test)('non-admin default role', function () { return sdkDefaultAccess.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
14960
15047
|
var threads = _a.threads;
|
|
14961
15048
|
return threads.length === 1 && threads.some(function (t) { return t.id === sms.id; });
|
|
14962
15049
|
} })];
|
|
14963
|
-
case
|
|
15050
|
+
case 31:
|
|
15051
|
+
_g.sent();
|
|
15052
|
+
return [4 /*yield*/, (0, testing_1.async_test)('default access search still respects access control', function () { return sdkDefaultAccess.api.inbox_threads.load_threads({ search: 'Test' }); }, { onResult: function (_a) {
|
|
15053
|
+
var threads = _a.threads;
|
|
15054
|
+
return threads.length === 1 && threads.some(function (t) { return t.id === sms.id; });
|
|
15055
|
+
} })];
|
|
15056
|
+
case 32:
|
|
14964
15057
|
_g.sent();
|
|
14965
15058
|
return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
|
|
14966
15059
|
role: 'No Access',
|
|
@@ -14978,48 +15071,54 @@ var inbox_threads_loading_tests = function () { return __awaiter(void 0, void 0,
|
|
|
14978
15071
|
})
|
|
14979
15072
|
// ensure role is set, in case GET returned a user without a role or with a different role
|
|
14980
15073
|
];
|
|
14981
|
-
case
|
|
15074
|
+
case 33:
|
|
14982
15075
|
noAccessRole = _g.sent();
|
|
14983
15076
|
// ensure role is set, in case GET returned a user without a role or with a different role
|
|
14984
15077
|
return [4 /*yield*/, sdk.api.users.updateOne(roleTestUser.id, { roles: [noAccessRole.role] }, { replaceObjectFields: true })];
|
|
14985
|
-
case
|
|
15078
|
+
case 34:
|
|
14986
15079
|
// ensure role is set, in case GET returned a user without a role or with a different role
|
|
14987
15080
|
_g.sent();
|
|
14988
15081
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 2000)]; // role change triggers a logout
|
|
14989
|
-
case
|
|
15082
|
+
case 35:
|
|
14990
15083
|
_g.sent(); // role change triggers a logout
|
|
14991
15084
|
_c = sdk_1.Session.bind;
|
|
14992
15085
|
_f = {
|
|
14993
15086
|
host: host
|
|
14994
15087
|
};
|
|
14995
15088
|
return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: roleTestUser.id })];
|
|
14996
|
-
case
|
|
15089
|
+
case 36:
|
|
14997
15090
|
sdkNoAccess = new (_c.apply(sdk_1.Session, [void 0, (_f.authToken = (_g.sent()).authToken,
|
|
14998
15091
|
_f)]))();
|
|
14999
15092
|
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (no access)', sdkNoAccess.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
15000
|
-
case
|
|
15093
|
+
case 37:
|
|
15001
15094
|
_g.sent();
|
|
15002
15095
|
return [4 /*yield*/, (0, testing_1.async_test)('verify no-read on direct API call', sdkNoAccess.api.emails.getSome, testing_1.handleAnyError)]; // ensures role is set up correctly
|
|
15003
|
-
case
|
|
15096
|
+
case 38:
|
|
15004
15097
|
_g.sent(); // ensures role is set up correctly
|
|
15005
15098
|
return [4 /*yield*/, (0, testing_1.async_test)("No access reads nothing", function () { return sdkNoAccess.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
|
|
15006
15099
|
var threads = _a.threads;
|
|
15007
15100
|
return threads.length === 0;
|
|
15101
|
+
} })];
|
|
15102
|
+
case 39:
|
|
15103
|
+
_g.sent();
|
|
15104
|
+
return [4 /*yield*/, (0, testing_1.async_test)("No access reads nothing even with search", function () { return sdkNoAccess.api.inbox_threads.load_threads({ search: 'Test' }); }, { onResult: function (_a) {
|
|
15105
|
+
var threads = _a.threads;
|
|
15106
|
+
return threads.length === 0;
|
|
15008
15107
|
} })
|
|
15009
15108
|
// Update existing threads with phone numbers for phoneNumber filtering tests
|
|
15010
15109
|
];
|
|
15011
|
-
case
|
|
15110
|
+
case 40:
|
|
15012
15111
|
_g.sent();
|
|
15013
15112
|
// Update existing threads with phone numbers for phoneNumber filtering tests
|
|
15014
15113
|
return [4 /*yield*/, sdk.api.inbox_threads.updateOne(sms.id, { phoneNumber: '+15555555555' })];
|
|
15015
|
-
case
|
|
15114
|
+
case 41:
|
|
15016
15115
|
// Update existing threads with phone numbers for phoneNumber filtering tests
|
|
15017
15116
|
_g.sent();
|
|
15018
15117
|
return [4 /*yield*/, sdk.api.inbox_threads.updateOne(phone.id, { phoneNumber: '+15555555555' })];
|
|
15019
|
-
case
|
|
15118
|
+
case 42:
|
|
15020
15119
|
_g.sent();
|
|
15021
15120
|
return [4 /*yield*/, sdk.api.inbox_threads.createOne(__assign(__assign({}, defaultThreadFields), { title: 'Phone 2', type: 'Phone', threadId: '6', phoneNumber: '+15555555556' }))];
|
|
15022
|
-
case
|
|
15121
|
+
case 43:
|
|
15023
15122
|
phoneThread2 = _g.sent();
|
|
15024
15123
|
return [4 /*yield*/, (0, testing_1.async_test)('admin phoneNumber filter - SMS and Phone threads only', function () { return sdk.api.inbox_threads.load_threads({ phoneNumber: '+15555555555' }); }, { onResult: function (_a) {
|
|
15025
15124
|
var threads = _a.threads;
|
|
@@ -15029,7 +15128,7 @@ var inbox_threads_loading_tests = function () { return __awaiter(void 0, void 0,
|
|
|
15029
15128
|
&& threads.every(function (t) { return t.type === 'SMS' || t.type === 'Phone'; });
|
|
15030
15129
|
}
|
|
15031
15130
|
})];
|
|
15032
|
-
case
|
|
15131
|
+
case 44:
|
|
15033
15132
|
_g.sent();
|
|
15034
15133
|
return [4 /*yield*/, (0, testing_1.async_test)('admin phoneNumber filter - different phone number', function () { return sdk.api.inbox_threads.load_threads({ phoneNumber: '+15555555556' }); }, { onResult: function (_a) {
|
|
15035
15134
|
var threads = _a.threads;
|
|
@@ -15038,13 +15137,26 @@ var inbox_threads_loading_tests = function () { return __awaiter(void 0, void 0,
|
|
|
15038
15137
|
&& threads[0].phoneNumber === '+15555555556';
|
|
15039
15138
|
}
|
|
15040
15139
|
})];
|
|
15041
|
-
case
|
|
15140
|
+
case 45:
|
|
15042
15141
|
_g.sent();
|
|
15043
15142
|
return [4 /*yield*/, (0, testing_1.async_test)('admin phoneNumber filter - non-existent phone number', function () { return sdk.api.inbox_threads.load_threads({ phoneNumber: '+15555555999' }); }, { onResult: function (_a) {
|
|
15044
15143
|
var threads = _a.threads;
|
|
15045
15144
|
return threads.length === 0;
|
|
15046
|
-
} })
|
|
15047
|
-
|
|
15145
|
+
} })
|
|
15146
|
+
// search by phone number (uses regex on phoneNumber/enduserPhoneNumber fields)
|
|
15147
|
+
];
|
|
15148
|
+
case 46:
|
|
15149
|
+
_g.sent();
|
|
15150
|
+
// search by phone number (uses regex on phoneNumber/enduserPhoneNumber fields)
|
|
15151
|
+
return [4 /*yield*/, (0, testing_1.async_test)('search by phone number', function () { return sdk.api.inbox_threads.load_threads({ search: '+15555555555' }); }, { onResult: function (_a) {
|
|
15152
|
+
var threads = _a.threads;
|
|
15153
|
+
return threads.length >= 2
|
|
15154
|
+
&& threads.some(function (t) { return t.type === 'SMS'; })
|
|
15155
|
+
&& threads.some(function (t) { return t.type === 'Phone'; });
|
|
15156
|
+
}
|
|
15157
|
+
})];
|
|
15158
|
+
case 47:
|
|
15159
|
+
// search by phone number (uses regex on phoneNumber/enduserPhoneNumber fields)
|
|
15048
15160
|
_g.sent();
|
|
15049
15161
|
return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray([
|
|
15050
15162
|
sdk.api.endusers.deleteOne(e1.id),
|
|
@@ -15055,7 +15167,7 @@ var inbox_threads_loading_tests = function () { return __awaiter(void 0, void 0,
|
|
|
15055
15167
|
], threads.map(function (t) { return sdk.api.inbox_threads.deleteOne(t.id); }), true), [
|
|
15056
15168
|
sdk.api.inbox_threads.deleteOne(phoneThread2.id),
|
|
15057
15169
|
], false))];
|
|
15058
|
-
case
|
|
15170
|
+
case 48:
|
|
15059
15171
|
_g.sent();
|
|
15060
15172
|
return [2 /*return*/];
|
|
15061
15173
|
}
|