@tellescope/sdk 1.65.2 → 1.65.4

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.
@@ -4589,6 +4589,166 @@ const mfa_tests = async () => {
4589
4589
  )
4590
4590
  }
4591
4591
 
4592
+ const nextReminderInMS_tests = async () => {
4593
+ log_header("nextReminderInMS Tests")
4594
+
4595
+ const startTimeInMS = Date.now() + 1000 * 60 * 60 * 24 * 7
4596
+ const durationInMinutes = 60
4597
+
4598
+ const eNoReminders = await sdk.api.calendar_events.createOne({ title: 'eNoReminders', startTimeInMS, durationInMinutes })
4599
+ await wait(undefined, 100)
4600
+ await async_test(
4601
+ "Create no reminders",
4602
+ () => sdk.api.calendar_events.getOne(eNoReminders.id),
4603
+ { onResult: e => e.nextReminderInMS === -1 }
4604
+ )
4605
+
4606
+ await sdk.api.calendar_events.updateOne(eNoReminders.id, { title: 'updated title' })
4607
+ await wait(undefined, 100)
4608
+ await async_test(
4609
+ "Update title, no change",
4610
+ () => sdk.api.calendar_events.getOne(eNoReminders.id),
4611
+ { onResult: e => e.nextReminderInMS === -1}
4612
+ )
4613
+
4614
+ const eOneReminder = await sdk.api.calendar_events.createOne({
4615
+ title: 'eOneReminder', startTimeInMS, durationInMinutes,
4616
+ reminders: [{ type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 1000 }]
4617
+ })
4618
+ await wait(undefined, 100)
4619
+ await async_test(
4620
+ "Create one reminder",
4621
+ () => sdk.api.calendar_events.getOne(eOneReminder.id),
4622
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 1000 }
4623
+ )
4624
+
4625
+ await sdk.api.calendar_events.updateOne(eOneReminder.id, { startTimeInMS: startTimeInMS - 1000 })
4626
+ await wait(undefined, 100)
4627
+ await async_test(
4628
+ "Update startTimeInMS",
4629
+ () => sdk.api.calendar_events.getOne(eOneReminder.id),
4630
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 1000 - 1000 }
4631
+ )
4632
+
4633
+ await sdk.api.calendar_events.updateOne(eOneReminder.id, {
4634
+ reminders: [{ type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 5000 }]
4635
+ }, { replaceObjectFields: true })
4636
+ await wait(undefined, 100)
4637
+ await async_test(
4638
+ "Update earliest reminder",
4639
+ () => sdk.api.calendar_events.getOne(eOneReminder.id),
4640
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 5000 - 1000 }
4641
+ )
4642
+
4643
+ await sdk.api.calendar_events.updateOne(eOneReminder.id, {
4644
+ reminders: [{ type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 1000 }]
4645
+ })
4646
+ await wait(undefined, 100)
4647
+ await async_test(
4648
+ "Later reminder added",
4649
+ () => sdkMfaApiKey.api.calendar_events.getOne(eOneReminder.id),
4650
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 5000 - 1000 }
4651
+ )
4652
+
4653
+ await sdk.api.calendar_events.updateOne(eOneReminder.id, {
4654
+ reminders: [{ type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 7500 }]
4655
+ })
4656
+ await wait(undefined, 100)
4657
+ await async_test(
4658
+ "Earlier reminder added",
4659
+ () => sdk.api.calendar_events.getOne(eOneReminder.id),
4660
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 7500 - 1000 }
4661
+ )
4662
+
4663
+ const eOneReminderDidRemind = await sdk.api.calendar_events.createOne({
4664
+ title: 'eOneReminderDidRemind', startTimeInMS, durationInMinutes,
4665
+ reminders: [{ type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 1000, didRemind: true }]
4666
+ })
4667
+ await wait(undefined, 100)
4668
+ await async_test(
4669
+ "One reminder with didRemind: true",
4670
+ () => sdk.api.calendar_events.getOne(eOneReminderDidRemind.id),
4671
+ { onResult: e => e.nextReminderInMS === -1 }
4672
+ )
4673
+
4674
+ const eOneReminderDidRemindWithValid = await sdk.api.calendar_events.createOne({
4675
+ title: 'eOneReminderDidRemindWithValid', startTimeInMS, durationInMinutes,
4676
+ reminders: [
4677
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 1000, didRemind: true },
4678
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 0 },
4679
+ ]
4680
+ })
4681
+ await wait(undefined, 100)
4682
+ await async_test(
4683
+ "Multiple reminders with one didRemind: true",
4684
+ () => sdk.api.calendar_events.getOne(eOneReminderDidRemindWithValid.id),
4685
+ { onResult: e => e.nextReminderInMS === startTimeInMS }
4686
+ )
4687
+
4688
+ const eMultipleReminders = await sdk.api.calendar_events.createOne({
4689
+ title: 'eMultipleReminders', startTimeInMS, durationInMinutes,
4690
+ reminders: [
4691
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 1000 },
4692
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 5000 },
4693
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: -3000 },
4694
+ ]
4695
+ })
4696
+ await wait(undefined, 100)
4697
+ await async_test(
4698
+ "Create multiple reminders",
4699
+ () => sdk.api.calendar_events.getOne(eMultipleReminders.id),
4700
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 5000 }
4701
+ )
4702
+
4703
+ // changing far out reminders shouldn't change nextReminderInMS
4704
+ await sdk.api.calendar_events.updateOne(eMultipleReminders.id, {
4705
+ reminders: [
4706
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: -1000 },
4707
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 5000 },
4708
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: -8000 },
4709
+ ]
4710
+ }, { replaceObjectFields: true })
4711
+ await wait(undefined, 100)
4712
+ await async_test(
4713
+ "Later reminders changed",
4714
+ () => sdk.api.calendar_events.getOne(eMultipleReminders.id),
4715
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 5000 }
4716
+ )
4717
+
4718
+ // changing nearest reminder shouldn change nextReminderInMS
4719
+ await sdk.api.calendar_events.updateOne(eMultipleReminders.id, {
4720
+ reminders: [
4721
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 6000 },
4722
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 7000 },
4723
+ { type: 'create-ticket', info: { title: 'title' }, msBeforeStartTime: 5000 },
4724
+ ]
4725
+ }, { replaceObjectFields: true })
4726
+ await wait(undefined, 100)
4727
+ await async_test(
4728
+ "Earlier reminders changed",
4729
+ () => sdkMfaApiKey.api.calendar_events.getOne(eMultipleReminders.id),
4730
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 7000 }
4731
+ )
4732
+
4733
+ await sdk.api.calendar_events.updateOne(eMultipleReminders.id, {
4734
+ startTimeInMS: startTimeInMS - 3000
4735
+ })
4736
+ await wait(undefined, 100)
4737
+ await async_test(
4738
+ "startTimeInMS changed for multiple reminders",
4739
+ () => sdk.api.calendar_events.getOne(eMultipleReminders.id),
4740
+ { onResult: e => e.nextReminderInMS === startTimeInMS - 7000 - 3000 }
4741
+ )
4742
+
4743
+ await Promise.all([
4744
+ sdk.api.calendar_events.deleteOne(eNoReminders.id),
4745
+ sdk.api.calendar_events.deleteOne(eMultipleReminders.id),
4746
+ sdk.api.calendar_events.deleteOne(eOneReminderDidRemindWithValid.id),
4747
+ sdk.api.calendar_events.deleteOne(eOneReminderDidRemind.id),
4748
+ sdk.api.calendar_events.deleteOne(eOneReminder.id),
4749
+ ])
4750
+ }
4751
+
4592
4752
  const NO_TEST = () => {}
4593
4753
  const tests: { [K in keyof ClientModelForName]: () => void } = {
4594
4754
  phone_trees: NO_TEST,
@@ -4697,6 +4857,7 @@ const TRACK_OPEN_IMAGE = Buffer.from(
4697
4857
 
4698
4858
  await mfa_tests()
4699
4859
  await setup_tests()
4860
+ await nextReminderInMS_tests()
4700
4861
  await search_tests()
4701
4862
  await wait_for_trigger_tests()
4702
4863
  await role_based_access_tests()
Binary file