@tellescope/sdk 1.236.0 → 1.236.2

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.
Files changed (32) hide show
  1. package/lib/cjs/enduser.d.ts +20 -0
  2. package/lib/cjs/enduser.d.ts.map +1 -1
  3. package/lib/cjs/sdk.d.ts +43 -0
  4. package/lib/cjs/sdk.d.ts.map +1 -1
  5. package/lib/cjs/sdk.js +1 -0
  6. package/lib/cjs/sdk.js.map +1 -1
  7. package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.d.ts +9 -0
  8. package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.d.ts.map +1 -0
  9. package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.js +1399 -0
  10. package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.js.map +1 -0
  11. package/lib/cjs/tests/tests.d.ts.map +1 -1
  12. package/lib/cjs/tests/tests.js +214 -122
  13. package/lib/cjs/tests/tests.js.map +1 -1
  14. package/lib/esm/enduser.d.ts +20 -0
  15. package/lib/esm/enduser.d.ts.map +1 -1
  16. package/lib/esm/sdk.d.ts +43 -0
  17. package/lib/esm/sdk.d.ts.map +1 -1
  18. package/lib/esm/sdk.js +1 -0
  19. package/lib/esm/sdk.js.map +1 -1
  20. package/lib/esm/tests/api_tests/auto_merge_form_submission.test.d.ts +9 -0
  21. package/lib/esm/tests/api_tests/auto_merge_form_submission.test.d.ts.map +1 -0
  22. package/lib/esm/tests/api_tests/auto_merge_form_submission.test.js +1372 -0
  23. package/lib/esm/tests/api_tests/auto_merge_form_submission.test.js.map +1 -0
  24. package/lib/esm/tests/tests.d.ts.map +1 -1
  25. package/lib/esm/tests/tests.js +214 -122
  26. package/lib/esm/tests/tests.js.map +1 -1
  27. package/lib/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +10 -10
  29. package/src/sdk.ts +3 -2
  30. package/src/tests/api_tests/auto_merge_form_submission.test.ts +876 -0
  31. package/src/tests/tests.ts +76 -5
  32. package/test_generated.pdf +0 -0
@@ -75,6 +75,7 @@ import { calendar_event_limits_tests } from "./api_tests/calendar_event_limits.t
75
75
  import { custom_aggregation_tests } from "./api_tests/custom_aggregation.test";
76
76
  import { bulk_assignment_tests } from "./api_tests/bulk_assignment.test";
77
77
  import { managed_content_enduser_access_tests } from "./api_tests/managed_content_enduser_access.test";
78
+ import { auto_merge_form_submission_tests } from "./api_tests/auto_merge_form_submission.test";
78
79
 
79
80
  const UniquenessViolationMessage = 'Uniqueness Violation'
80
81
 
@@ -3727,7 +3728,7 @@ const appointment_cancelled_tests = async () => {
3727
3728
  await async_test(
3728
3729
  "Dont trigger when excluded templateId is provided",
3729
3730
  () => sdk.api.endusers.getOne(e.id),
3730
- { onResult: e =>
3731
+ { onResult: e =>
3731
3732
  e.tags?.length === 5
3732
3733
  && e.tags.includes('By Any')
3733
3734
  && e.tags.includes('By Title')
@@ -3743,7 +3744,7 @@ const appointment_cancelled_tests = async () => {
3743
3744
  await async_test(
3744
3745
  "Do trigger when excluded templateId is not provided",
3745
3746
  () => sdk.api.endusers.getOne(e.id),
3746
- { onResult: e =>
3747
+ { onResult: e =>
3747
3748
  e.tags?.length === 6
3748
3749
  && e.tags.includes('By Any')
3749
3750
  && e.tags.includes('By Title')
@@ -3754,6 +3755,70 @@ const appointment_cancelled_tests = async () => {
3754
3755
  }
3755
3756
  )
3756
3757
 
3758
+ // Test cancel reason filtering
3759
+ const t7 = await sdk.api.automation_triggers.createOne({
3760
+ event: { type: 'Appointment Cancelled', info: { cancelReasons: ['Patient Request'] } },
3761
+ action: { type: 'Add Tags', info: { tags: ['By cancelReason'] }},
3762
+ status: 'Active',
3763
+ title: "By cancelReason"
3764
+ })
3765
+
3766
+ // Event cancelled with non-matching cancel reason should NOT trigger the cancelReason filter
3767
+ const event9 = await sdk.api.calendar_events.createOne({ title: 'Title', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e.id }] })
3768
+ await sdk.api.calendar_events.updateOne(event9.id, { cancelledAt: new Date(), cancelReason: 'No Show' })
3769
+ await wait(undefined, 500) // allow triggers to happen
3770
+ await async_test(
3771
+ "Dont trigger when cancelReason does not match",
3772
+ () => sdk.api.endusers.getOne(e.id),
3773
+ { onResult: e =>
3774
+ e.tags?.length === 6
3775
+ && e.tags.includes('By Any')
3776
+ && e.tags.includes('By Title')
3777
+ && e.tags.includes('By templateId')
3778
+ && e.tags.includes('By enduser')
3779
+ && e.tags.includes('By user')
3780
+ && e.tags.includes('By excluded templateId')
3781
+ && !e.tags.includes('By cancelReason') // should NOT have this tag
3782
+ }
3783
+ )
3784
+
3785
+ const event10 = await sdk.api.calendar_events.createOne({ title: 'Title', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e.id }] })
3786
+ await sdk.api.calendar_events.updateOne(event10.id, { cancelledAt: new Date() })
3787
+ await wait(undefined, 500) // allow triggers to happen
3788
+ await async_test(
3789
+ "Dont trigger when cancelReason is missing",
3790
+ () => sdk.api.endusers.getOne(e.id),
3791
+ { onResult: e =>
3792
+ e.tags?.length === 6
3793
+ && e.tags.includes('By Any')
3794
+ && e.tags.includes('By Title')
3795
+ && e.tags.includes('By templateId')
3796
+ && e.tags.includes('By enduser')
3797
+ && e.tags.includes('By user')
3798
+ && e.tags.includes('By excluded templateId')
3799
+ && !e.tags.includes('By cancelReason') // should NOT have this tag
3800
+ }
3801
+ )
3802
+
3803
+ // Event cancelled with matching cancel reason SHOULD trigger the cancelReason filter
3804
+ const event11 = await sdk.api.calendar_events.createOne({ title: 'Title', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e.id }] })
3805
+ await sdk.api.calendar_events.updateOne(event11.id, { cancelledAt: new Date(), cancelReason: 'Patient Request' })
3806
+ await wait(undefined, 500) // allow triggers to happen
3807
+ await async_test(
3808
+ "Do trigger when cancelReason matches",
3809
+ () => sdk.api.endusers.getOne(e.id),
3810
+ { onResult: e =>
3811
+ e.tags?.length === 7
3812
+ && e.tags.includes('By Any')
3813
+ && e.tags.includes('By Title')
3814
+ && e.tags.includes('By templateId')
3815
+ && e.tags.includes('By enduser')
3816
+ && e.tags.includes('By user')
3817
+ && e.tags.includes('By excluded templateId')
3818
+ && e.tags.includes('By cancelReason')
3819
+ }
3820
+ )
3821
+
3757
3822
 
3758
3823
  await Promise.all([
3759
3824
  sdk.api.automation_triggers.deleteOne(t1.id),
@@ -3762,6 +3827,7 @@ const appointment_cancelled_tests = async () => {
3762
3827
  sdk.api.automation_triggers.deleteOne(t4.id),
3763
3828
  sdk.api.automation_triggers.deleteOne(t5.id),
3764
3829
  sdk.api.automation_triggers.deleteOne(t6.id),
3830
+ sdk.api.automation_triggers.deleteOne(t7.id),
3765
3831
  sdk.api.endusers.deleteOne(e.id),
3766
3832
  sdk.api.calendar_events.deleteOne(event1.id),
3767
3833
  sdk.api.calendar_events.deleteOne(event2.id),
@@ -3771,6 +3837,9 @@ const appointment_cancelled_tests = async () => {
3771
3837
  sdk.api.calendar_events.deleteOne(event6.id),
3772
3838
  sdk.api.calendar_events.deleteOne(event7.id),
3773
3839
  sdk.api.calendar_events.deleteOne(event8.id),
3840
+ sdk.api.calendar_events.deleteOne(event9.id),
3841
+ sdk.api.calendar_events.deleteOne(event10.id),
3842
+ sdk.api.calendar_events.deleteOne(event11.id),
3774
3843
  ])
3775
3844
  }
3776
3845
 
@@ -4793,6 +4862,7 @@ const trigger_events_api_tests = async () => {
4793
4862
  const automation_trigger_tests = async () => {
4794
4863
  log_header("Automation Trigger Tests")
4795
4864
 
4865
+ await appointment_cancelled_tests()
4796
4866
  await set_fields_tests()
4797
4867
  await purchase_made_trigger_tests({ sdk, sdkNonAdmin })
4798
4868
  await appointment_rescheduled_trigger_tests({ sdk, sdkNonAdmin })
@@ -4805,7 +4875,6 @@ const automation_trigger_tests = async () => {
4805
4875
  await field_equals_trigger_tests()
4806
4876
  await assign_care_team_tests()
4807
4877
  await contact_created_tests()
4808
- await appointment_cancelled_tests()
4809
4878
  await appointment_created_tests()
4810
4879
  await tag_added_tests()
4811
4880
  await order_created_tests()
@@ -8947,6 +9016,7 @@ const tests: { [K in keyof ClientModelForName]: () => void } = {
8947
9016
  enduser_encounters: NO_TEST,
8948
9017
  enduser_orders: enduser_orders_tests,
8949
9018
  ticket_queues: NO_TEST,
9019
+ ticket_templates: NO_TEST,
8950
9020
  phone_trees: NO_TEST,
8951
9021
  enduser_medications: NO_TEST,
8952
9022
  automation_triggers: NO_TEST,
@@ -13103,11 +13173,13 @@ const ip_address_form_tests = async () => {
13103
13173
  await replace_enduser_template_values_tests()
13104
13174
  await mfa_tests()
13105
13175
  await setup_tests(sdk, sdkNonAdmin)
13176
+ await auto_merge_form_submission_tests({ sdk, sdkNonAdmin })
13177
+ await threadKeyTests()
13178
+ await automation_trigger_tests()
13106
13179
  await managed_content_enduser_access_tests({ sdk, sdkNonAdmin })
13107
13180
  await afteraction_day_of_month_delay_tests({ sdk, sdkNonAdmin })
13108
13181
  await bulk_assignment_tests({ sdk, sdkNonAdmin })
13109
13182
  await custom_aggregation_tests({ sdk, sdkNonAdmin })
13110
- await automation_trigger_tests()
13111
13183
  await formsort_tests()
13112
13184
  await self_serve_appointment_booking_tests()
13113
13185
  await time_tracks_tests({ sdk, sdkNonAdmin })
@@ -13179,7 +13251,6 @@ const ip_address_form_tests = async () => {
13179
13251
  await badInputTests()
13180
13252
  await filterTests()
13181
13253
  await updatesTests()
13182
- await threadKeyTests()
13183
13254
  } catch(err: any) {
13184
13255
  console.error("Failed during custom test")
13185
13256
  if (err.message && err.info) {
Binary file