@tellescope/sdk 1.65.3 → 1.65.5
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 +1 -0
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/sdk.d.ts +2 -2
- package/lib/cjs/session.d.ts +1 -1
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/session.js +4 -0
- package/lib/cjs/session.js.map +1 -1
- package/lib/cjs/tests/tests.js +248 -52
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/cjs/tests/webhooks_tests.js +61 -12
- package/lib/cjs/tests/webhooks_tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +1 -0
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/session.d.ts +1 -0
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/session.js +4 -0
- package/lib/esm/session.js.map +1 -1
- package/lib/esm/tests/tests.js +248 -52
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/esm/tests/webhooks_tests.js +61 -12
- 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 +1 -1
- package/src/session.ts +6 -1
- package/src/tests/tests.ts +161 -0
- package/src/tests/webhooks_tests.ts +50 -0
- package/test_generated.pdf +0 -0
package/src/tests/tests.ts
CHANGED
|
@@ -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()
|
|
@@ -453,6 +453,16 @@ const calendar_event_reminders_tests = async (isSubscribed: boolean) => {
|
|
|
453
453
|
'First calendar event reminder received',
|
|
454
454
|
true,
|
|
455
455
|
)
|
|
456
|
+
await async_test(
|
|
457
|
+
'First reminder progress',
|
|
458
|
+
() => sdk.api.calendar_events.getOne(calendarEvent.id),
|
|
459
|
+
{ onResult: c => (
|
|
460
|
+
c.nextReminderInMS === c.startTimeInMS - secondRemindAt
|
|
461
|
+
&& c.reminders?.filter(r => r.didRemind).length === 1
|
|
462
|
+
&& c.startTimeInMS === calendarEvent.startTimeInMS // ensure this isn't changed in background
|
|
463
|
+
)
|
|
464
|
+
}
|
|
465
|
+
)
|
|
456
466
|
|
|
457
467
|
await wait(undefined, AUTOMATION_POLLING_DELAY_MS)
|
|
458
468
|
await check_next_webhook(
|
|
@@ -461,6 +471,16 @@ const calendar_event_reminders_tests = async (isSubscribed: boolean) => {
|
|
|
461
471
|
'Got calendar event webhook too early',
|
|
462
472
|
true, true,
|
|
463
473
|
)
|
|
474
|
+
await async_test(
|
|
475
|
+
'First reminder progress pending',
|
|
476
|
+
() => sdk.api.calendar_events.getOne(calendarEvent.id),
|
|
477
|
+
{ onResult: c => (
|
|
478
|
+
c.nextReminderInMS === c.startTimeInMS - secondRemindAt
|
|
479
|
+
&& c.reminders?.filter(r => r.didRemind).length === 1
|
|
480
|
+
&& c.startTimeInMS === calendarEvent.startTimeInMS // ensure this isn't changed in background
|
|
481
|
+
)
|
|
482
|
+
}
|
|
483
|
+
)
|
|
464
484
|
|
|
465
485
|
await wait(undefined, AUTOMATION_POLLING_DELAY_MS)
|
|
466
486
|
await check_next_webhook(
|
|
@@ -473,6 +493,16 @@ const calendar_event_reminders_tests = async (isSubscribed: boolean) => {
|
|
|
473
493
|
'First calendar event reminder received',
|
|
474
494
|
true
|
|
475
495
|
)
|
|
496
|
+
await async_test(
|
|
497
|
+
'Second reminder progress',
|
|
498
|
+
() => sdk.api.calendar_events.getOne(calendarEvent.id),
|
|
499
|
+
{ onResult: c => (
|
|
500
|
+
c.nextReminderInMS === c.startTimeInMS - thirdRemindAt
|
|
501
|
+
&& c.reminders?.filter(r => r.didRemind).length === 2
|
|
502
|
+
&& c.startTimeInMS === calendarEvent.startTimeInMS // ensure this isn't changed in background
|
|
503
|
+
)
|
|
504
|
+
}
|
|
505
|
+
)
|
|
476
506
|
|
|
477
507
|
await wait(undefined, AUTOMATION_POLLING_DELAY_MS)
|
|
478
508
|
await check_next_webhook(
|
|
@@ -481,6 +511,16 @@ const calendar_event_reminders_tests = async (isSubscribed: boolean) => {
|
|
|
481
511
|
'Got calendar event webhook too early',
|
|
482
512
|
true, true,
|
|
483
513
|
)
|
|
514
|
+
await async_test(
|
|
515
|
+
'Second reminder progress pending',
|
|
516
|
+
() => sdk.api.calendar_events.getOne(calendarEvent.id),
|
|
517
|
+
{ onResult: c => (
|
|
518
|
+
c.nextReminderInMS === c.startTimeInMS - thirdRemindAt
|
|
519
|
+
&& c.reminders?.filter(r => r.didRemind).length === 2
|
|
520
|
+
&& c.startTimeInMS === calendarEvent.startTimeInMS // ensure this isn't changed in background
|
|
521
|
+
)
|
|
522
|
+
}
|
|
523
|
+
)
|
|
484
524
|
|
|
485
525
|
await wait(undefined, AUTOMATION_POLLING_DELAY_MS)
|
|
486
526
|
await check_next_webhook(
|
|
@@ -503,6 +543,16 @@ const calendar_event_reminders_tests = async (isSubscribed: boolean) => {
|
|
|
503
543
|
true, true,
|
|
504
544
|
)
|
|
505
545
|
|
|
546
|
+
await async_test(
|
|
547
|
+
'Reminders are done processing',
|
|
548
|
+
() => sdk.api.calendar_events.getOne(calendarEvent.id),
|
|
549
|
+
{ onResult: c => (
|
|
550
|
+
c.nextReminderInMS === -1
|
|
551
|
+
&& c.startTimeInMS === calendarEvent.startTimeInMS // ensure this isn't changed in background
|
|
552
|
+
&& !c.reminders?.find(r => !r.didRemind)
|
|
553
|
+
&& c.reminders?.filter(r => r.didRemind).length === 3
|
|
554
|
+
)}
|
|
555
|
+
)
|
|
506
556
|
|
|
507
557
|
// cleanup
|
|
508
558
|
await sdk.api.calendar_events.deleteOne(calendarEvent.id)
|
package/test_generated.pdf
CHANGED
|
Binary file
|