@tellescope/sdk 1.74.1 → 1.74.3
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/enduser.d.ts.map +1 -1
- package/lib/cjs/enduser.js +1 -0
- package/lib/cjs/enduser.js.map +1 -1
- package/lib/cjs/sdk.d.ts +2 -0
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +2 -0
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +78 -23
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/cjs/tests/webhooks_tests.js +5 -4
- package/lib/cjs/tests/webhooks_tests.js.map +1 -1
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/enduser.js +1 -0
- package/lib/esm/enduser.js.map +1 -1
- package/lib/esm/sdk.d.ts +2 -0
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +2 -0
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +78 -23
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/esm/tests/webhooks_tests.js +5 -4
- package/lib/esm/tests/webhooks_tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/enduser.ts +4 -0
- package/src/sdk.ts +8 -0
- package/src/tests/tests.ts +46 -1
- package/src/tests/webhooks_tests.ts +2 -2
- package/test_generated.pdf +0 -0
package/lib/cjs/tests/tests.js
CHANGED
|
@@ -5001,6 +5001,24 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5001
5001
|
restrictedByState: true,
|
|
5002
5002
|
}); }, { onResult: function (r) { return r.availabilityBlocks.length === 2; } })];
|
|
5003
5003
|
case 10:
|
|
5004
|
+
_a.sent();
|
|
5005
|
+
return [4 /*yield*/, (0, testing_1.async_test)('30 minute slots for state restriction with 15 min interval', function () { return enduserSDK.api.calendar_events.get_appointment_availability({
|
|
5006
|
+
calendarEventTemplateId: event30min.id,
|
|
5007
|
+
from: new Date(Date.now() - 10000),
|
|
5008
|
+
to: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000),
|
|
5009
|
+
restrictedByState: true,
|
|
5010
|
+
intervalInMinutes: 15,
|
|
5011
|
+
}); }, { onResult: function (r) { return r.availabilityBlocks.length === 3; } })];
|
|
5012
|
+
case 11:
|
|
5013
|
+
_a.sent();
|
|
5014
|
+
return [4 /*yield*/, (0, testing_1.async_test)('30 minute slots for state restriction with 10 min interval', function () { return enduserSDK.api.calendar_events.get_appointment_availability({
|
|
5015
|
+
calendarEventTemplateId: event30min.id,
|
|
5016
|
+
from: new Date(Date.now() - 10000),
|
|
5017
|
+
to: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000),
|
|
5018
|
+
restrictedByState: true,
|
|
5019
|
+
intervalInMinutes: 10,
|
|
5020
|
+
}); }, { onResult: function (r) { return r.availabilityBlocks.length === 4; } })];
|
|
5021
|
+
case 12:
|
|
5004
5022
|
_a.sent();
|
|
5005
5023
|
return [4 /*yield*/, (0, testing_1.async_test)('30 minute slots for no state restrictions', function () { return enduserSDK.api.calendar_events.get_appointment_availability({
|
|
5006
5024
|
calendarEventTemplateId: event30min.id,
|
|
@@ -5019,7 +5037,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5019
5037
|
}
|
|
5020
5038
|
return true;
|
|
5021
5039
|
} })];
|
|
5022
|
-
case
|
|
5040
|
+
case 13:
|
|
5023
5041
|
_a.sent();
|
|
5024
5042
|
return [4 /*yield*/, enduserSDK.api.calendar_events.get_appointment_availability({
|
|
5025
5043
|
calendarEventTemplateId: event30min.id,
|
|
@@ -5027,7 +5045,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5027
5045
|
to: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000),
|
|
5028
5046
|
restrictedByState: true,
|
|
5029
5047
|
})];
|
|
5030
|
-
case
|
|
5048
|
+
case 14:
|
|
5031
5049
|
nySlots = _a.sent();
|
|
5032
5050
|
return [4 /*yield*/, enduserSDK.api.calendar_events.book_appointment({
|
|
5033
5051
|
calendarEventTemplateId: event30min.id,
|
|
@@ -5038,7 +5056,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5038
5056
|
fields: "Test",
|
|
5039
5057
|
}
|
|
5040
5058
|
})];
|
|
5041
|
-
case
|
|
5059
|
+
case 15:
|
|
5042
5060
|
bookedAppointment = (_a.sent()).createdEvent;
|
|
5043
5061
|
(0, testing_1.assert)(bookedAppointment.attendees.length === 2, 'did not get 2 attendees', '2 attendees fo non-multi-event');
|
|
5044
5062
|
return [4 /*yield*/, (0, testing_1.async_test)('double-booking prevented', function () { return enduserSDK.api.calendar_events.book_appointment({
|
|
@@ -5046,7 +5064,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5046
5064
|
startTime: new Date(nySlots.availabilityBlocks[0].startTimeInMS),
|
|
5047
5065
|
userId: nySlots.availabilityBlocks[0].userId,
|
|
5048
5066
|
}); }, handleAnyError)];
|
|
5049
|
-
case
|
|
5067
|
+
case 16:
|
|
5050
5068
|
_a.sent();
|
|
5051
5069
|
return [4 /*yield*/, (0, testing_1.async_test)('30 minute slots for state restriction with 1 overlapping conflict', function () { return enduserSDK.api.calendar_events.get_appointment_availability({
|
|
5052
5070
|
calendarEventTemplateId: event30min.id,
|
|
@@ -5058,14 +5076,14 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5058
5076
|
&& r.availabilityBlocks[0].startTimeInMS === nySlots.availabilityBlocks[1].startTimeInMS;
|
|
5059
5077
|
} // the first slot of nySlots is booked
|
|
5060
5078
|
})];
|
|
5061
|
-
case
|
|
5079
|
+
case 17:
|
|
5062
5080
|
_a.sent();
|
|
5063
5081
|
return [4 /*yield*/, sdk.api.calendar_events.createOne({
|
|
5064
5082
|
title: 'conflict',
|
|
5065
5083
|
startTimeInMS: nySlots.availabilityBlocks[1].startTimeInMS,
|
|
5066
5084
|
durationInMinutes: nySlots.availabilityBlocks[1].durationInMinutes,
|
|
5067
5085
|
})];
|
|
5068
|
-
case
|
|
5086
|
+
case 18:
|
|
5069
5087
|
conflict = _a.sent();
|
|
5070
5088
|
return [4 /*yield*/, (0, testing_1.async_test)('30 minute slots for state restriction with 2 overlapping conflict', function () { return enduserSDK.api.calendar_events.get_appointment_availability({
|
|
5071
5089
|
calendarEventTemplateId: event30min.id,
|
|
@@ -5073,7 +5091,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5073
5091
|
to: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000),
|
|
5074
5092
|
restrictedByState: true,
|
|
5075
5093
|
}); }, { onResult: function (r) { return r.availabilityBlocks.length === 0; } })];
|
|
5076
|
-
case
|
|
5094
|
+
case 19:
|
|
5077
5095
|
_a.sent();
|
|
5078
5096
|
return [4 /*yield*/, (0, testing_1.async_test)('booking against conflict prevented', function () { return enduserSDK.api.calendar_events.book_appointment({
|
|
5079
5097
|
calendarEventTemplateId: event30min.id,
|
|
@@ -5082,7 +5100,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5082
5100
|
}); }, handleAnyError)
|
|
5083
5101
|
// test 'multi' flag for booking multiple providers for a given patient
|
|
5084
5102
|
];
|
|
5085
|
-
case
|
|
5103
|
+
case 20:
|
|
5086
5104
|
_a.sent();
|
|
5087
5105
|
// test 'multi' flag for booking multiple providers for a given patient
|
|
5088
5106
|
return [4 /*yield*/, sdk.api.users.updateOne(sdk.userInfo.id, {
|
|
@@ -5097,7 +5115,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5097
5115
|
}, {
|
|
5098
5116
|
replaceObjectFields: true,
|
|
5099
5117
|
})];
|
|
5100
|
-
case
|
|
5118
|
+
case 21:
|
|
5101
5119
|
// test 'multi' flag for booking multiple providers for a given patient
|
|
5102
5120
|
_a.sent();
|
|
5103
5121
|
return [4 /*yield*/, sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, {
|
|
@@ -5112,7 +5130,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5112
5130
|
}, {
|
|
5113
5131
|
replaceObjectFields: true,
|
|
5114
5132
|
})];
|
|
5115
|
-
case
|
|
5133
|
+
case 22:
|
|
5116
5134
|
_a.sent();
|
|
5117
5135
|
return [4 /*yield*/, enduserSDK.api.calendar_events.get_appointment_availability({
|
|
5118
5136
|
calendarEventTemplateId: event30min.id,
|
|
@@ -5121,7 +5139,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5121
5139
|
multi: true,
|
|
5122
5140
|
userIds: [sdk.userInfo.id, sdkNonAdmin.userInfo.id]
|
|
5123
5141
|
})];
|
|
5124
|
-
case
|
|
5142
|
+
case 23:
|
|
5125
5143
|
multiSlots = _a.sent();
|
|
5126
5144
|
(0, testing_1.assert)(multiSlots.availabilityBlocks.length === 2, 'expected 2 slots', 'multi slots are intersection of availability');
|
|
5127
5145
|
return [4 /*yield*/, enduserSDK.api.calendar_events.book_appointment({
|
|
@@ -5130,7 +5148,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5130
5148
|
userId: sdk.userInfo.id,
|
|
5131
5149
|
otherUserIds: [sdkNonAdmin.userInfo.id]
|
|
5132
5150
|
})];
|
|
5133
|
-
case
|
|
5151
|
+
case 24:
|
|
5134
5152
|
bookedMultiAppointment = (_a.sent()).createdEvent;
|
|
5135
5153
|
(0, testing_1.assert)((bookedMultiAppointment.attendees.length === 3
|
|
5136
5154
|
&& bookedMultiAppointment.attendees.filter(function (a) { return a.type === 'enduser'; }).length === 1), 'did not get valid attendees', 'Multi attendees fo multi-event');
|
|
@@ -5139,14 +5157,14 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5139
5157
|
startTime: new Date(multiSlots.availabilityBlocks[0].startTimeInMS),
|
|
5140
5158
|
userId: sdk.userInfo.id,
|
|
5141
5159
|
}); }, handleAnyError)];
|
|
5142
|
-
case
|
|
5160
|
+
case 25:
|
|
5143
5161
|
_a.sent();
|
|
5144
5162
|
return [4 /*yield*/, (0, testing_1.async_test)('booking against conflict prevented other user', function () { return enduserSDK.api.calendar_events.book_appointment({
|
|
5145
5163
|
calendarEventTemplateId: event30min.id,
|
|
5146
5164
|
startTime: new Date(multiSlots.availabilityBlocks[0].startTimeInMS),
|
|
5147
5165
|
userId: sdkNonAdmin.userInfo.id,
|
|
5148
5166
|
}); }, handleAnyError)];
|
|
5149
|
-
case
|
|
5167
|
+
case 26:
|
|
5150
5168
|
_a.sent();
|
|
5151
5169
|
return [4 /*yield*/, (0, testing_1.async_test)('booking against conflict prevented 2 users', function () { return enduserSDK.api.calendar_events.book_appointment({
|
|
5152
5170
|
calendarEventTemplateId: event30min.id,
|
|
@@ -5154,7 +5172,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5154
5172
|
userId: sdk.userInfo.id,
|
|
5155
5173
|
otherUserIds: [sdkNonAdmin.userInfo.id],
|
|
5156
5174
|
}); }, handleAnyError)];
|
|
5157
|
-
case
|
|
5175
|
+
case 27:
|
|
5158
5176
|
_a.sent();
|
|
5159
5177
|
return [4 /*yield*/, Promise.all([
|
|
5160
5178
|
sdk.api.endusers.deleteOne(e1.id),
|
|
@@ -5165,7 +5183,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5165
5183
|
sdk.api.calendar_events.deleteOne(conflict.id),
|
|
5166
5184
|
sdk.api.calendar_events.deleteOne(bookedMultiAppointment.id),
|
|
5167
5185
|
])];
|
|
5168
|
-
case
|
|
5186
|
+
case 28:
|
|
5169
5187
|
_a.sent();
|
|
5170
5188
|
return [2 /*return*/];
|
|
5171
5189
|
}
|
|
@@ -7624,6 +7642,39 @@ var bulk_read_tests = function () { return __awaiter(void 0, void 0, void 0, fun
|
|
|
7624
7642
|
}
|
|
7625
7643
|
});
|
|
7626
7644
|
}); };
|
|
7645
|
+
var test_send_with_template = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7646
|
+
var _a, enduser, template;
|
|
7647
|
+
return __generator(this, function (_b) {
|
|
7648
|
+
switch (_b.label) {
|
|
7649
|
+
case 0:
|
|
7650
|
+
(0, testing_1.log_header)("test_send_with_template");
|
|
7651
|
+
return [4 /*yield*/, Promise.all([
|
|
7652
|
+
sdk.api.endusers.createOne({ email: 'sebass192@gmail.com' }),
|
|
7653
|
+
sdk.api.templates.createOne({ message: 'Text Message', subject: "test_send_with_template", title: 'test_send_with_template', html: "HTML Message" }),
|
|
7654
|
+
])];
|
|
7655
|
+
case 1:
|
|
7656
|
+
_a = _b.sent(), enduser = _a[0], template = _a[1];
|
|
7657
|
+
return [4 /*yield*/, (0, testing_1.async_test)("send with template", function () { return sdk.api.emails.send_with_template({
|
|
7658
|
+
enduserId: enduser.id, templateId: template.id, senderId: sdk.userInfo.id,
|
|
7659
|
+
}); }, { onResult: function (_a) {
|
|
7660
|
+
var email = _a.email;
|
|
7661
|
+
return !!email.id && email.enduserId === enduser.id && email.templateId === template.id;
|
|
7662
|
+
} })];
|
|
7663
|
+
case 2:
|
|
7664
|
+
_b.sent();
|
|
7665
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 3000)];
|
|
7666
|
+
case 3:
|
|
7667
|
+
_b.sent();
|
|
7668
|
+
return [4 /*yield*/, Promise.all([
|
|
7669
|
+
sdk.api.endusers.deleteOne(enduser.id),
|
|
7670
|
+
sdk.api.templates.deleteOne(template.id),
|
|
7671
|
+
])];
|
|
7672
|
+
case 4:
|
|
7673
|
+
_b.sent();
|
|
7674
|
+
return [2 /*return*/];
|
|
7675
|
+
}
|
|
7676
|
+
});
|
|
7677
|
+
}); };
|
|
7627
7678
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7628
7679
|
var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _f, _g, _h, err_2;
|
|
7629
7680
|
var _j, _k;
|
|
@@ -7671,25 +7722,29 @@ var bulk_read_tests = function () { return __awaiter(void 0, void 0, void 0, fun
|
|
|
7671
7722
|
return [4 /*yield*/, setup_tests()];
|
|
7672
7723
|
case 9:
|
|
7673
7724
|
_l.sent();
|
|
7674
|
-
return [4 /*yield*/, multi_tenant_tests()
|
|
7725
|
+
return [4 /*yield*/, multi_tenant_tests()
|
|
7726
|
+
// await test_send_with_template()
|
|
7727
|
+
]; // should come right after setup tests
|
|
7675
7728
|
case 10:
|
|
7676
7729
|
_l.sent(); // should come right after setup tests
|
|
7677
|
-
|
|
7730
|
+
// await test_send_with_template()
|
|
7731
|
+
return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
|
|
7678
7732
|
case 11:
|
|
7733
|
+
// await test_send_with_template()
|
|
7679
7734
|
_l.sent();
|
|
7680
|
-
return [4 /*yield*/, (
|
|
7735
|
+
return [4 /*yield*/, bulk_read_tests()];
|
|
7681
7736
|
case 12:
|
|
7682
7737
|
_l.sent();
|
|
7683
|
-
return [4 /*yield*/,
|
|
7738
|
+
return [4 /*yield*/, (0, exports.ticket_reminder_tests)()];
|
|
7684
7739
|
case 13:
|
|
7685
7740
|
_l.sent();
|
|
7686
|
-
return [4 /*yield*/,
|
|
7741
|
+
return [4 /*yield*/, enduser_access_tags_tests()];
|
|
7687
7742
|
case 14:
|
|
7688
7743
|
_l.sent();
|
|
7689
|
-
return [4 /*yield*/,
|
|
7744
|
+
return [4 /*yield*/, marketing_email_unsubscribe_tests()];
|
|
7690
7745
|
case 15:
|
|
7691
7746
|
_l.sent();
|
|
7692
|
-
return [4 /*yield*/, (
|
|
7747
|
+
return [4 /*yield*/, unique_strings_tests()];
|
|
7693
7748
|
case 16:
|
|
7694
7749
|
_l.sent();
|
|
7695
7750
|
return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
|