@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.
@@ -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 11:
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 12:
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 13:
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 14:
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 15:
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 16:
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 17:
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 18:
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 19:
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 20:
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 21:
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 22:
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 23:
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 24:
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 25:
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 26:
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()]; // should come right after setup 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
- return [4 /*yield*/, bulk_read_tests()];
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*/, (0, exports.ticket_reminder_tests)()];
7735
+ return [4 /*yield*/, bulk_read_tests()];
7681
7736
  case 12:
7682
7737
  _l.sent();
7683
- return [4 /*yield*/, enduser_access_tags_tests()];
7738
+ return [4 /*yield*/, (0, exports.ticket_reminder_tests)()];
7684
7739
  case 13:
7685
7740
  _l.sent();
7686
- return [4 /*yield*/, marketing_email_unsubscribe_tests()];
7741
+ return [4 /*yield*/, enduser_access_tags_tests()];
7687
7742
  case 14:
7688
7743
  _l.sent();
7689
- return [4 /*yield*/, unique_strings_tests()];
7744
+ return [4 /*yield*/, marketing_email_unsubscribe_tests()];
7690
7745
  case 15:
7691
7746
  _l.sent();
7692
- return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
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)()];