@tellescope/sdk 1.66.2 → 1.66.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.
@@ -3487,26 +3487,27 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
3487
3487
  });
3488
3488
  }); };
3489
3489
  var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, void 0, function () {
3490
- var enduser, journey1, journey2, journey3, form, field, active, dupActive, inactive, accessCode;
3491
- return __generator(this, function (_a) {
3492
- switch (_a.label) {
3490
+ var enduser, journey1, journey2, journey3, form, field, active, dupActive, inactive, noConditions, equals, equalsFalse, existsTrue, existsFalse, doesNotContainTrue, doesNotContainFalse, containFalse, containTrue, accessCode;
3491
+ var _a, _b, _c, _d, _e, _f, _g, _h;
3492
+ return __generator(this, function (_j) {
3493
+ switch (_j.label) {
3493
3494
  case 0:
3494
3495
  (0, testing_1.log_header)("Automation Trigger: Form Response --> Add To Journey");
3495
3496
  return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'test' })];
3496
3497
  case 1:
3497
- enduser = _a.sent();
3498
+ enduser = _j.sent();
3498
3499
  return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'journey' })];
3499
3500
  case 2:
3500
- journey1 = _a.sent();
3501
+ journey1 = _j.sent();
3501
3502
  return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'journey2' })];
3502
3503
  case 3:
3503
- journey2 = _a.sent();
3504
+ journey2 = _j.sent();
3504
3505
  return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'journey3' })];
3505
3506
  case 4:
3506
- journey3 = _a.sent();
3507
+ journey3 = _j.sent();
3507
3508
  return [4 /*yield*/, sdk.api.forms.createOne({ title: 'form' })];
3508
3509
  case 5:
3509
- form = _a.sent();
3510
+ form = _j.sent();
3510
3511
  return [4 /*yield*/, sdk.api.form_fields.createOne({
3511
3512
  formId: form.id,
3512
3513
  type: 'string',
@@ -3519,7 +3520,7 @@ var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, v
3519
3520
  ],
3520
3521
  })];
3521
3522
  case 6:
3522
- field = _a.sent();
3523
+ field = _j.sent();
3523
3524
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3524
3525
  event: { type: 'Form Submitted', info: { formId: form.id } },
3525
3526
  action: { type: 'Add To Journey', info: { journeyId: journey1.id } },
@@ -3527,7 +3528,7 @@ var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, v
3527
3528
  title: "Active"
3528
3529
  })];
3529
3530
  case 7:
3530
- active = _a.sent();
3531
+ active = _j.sent();
3531
3532
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3532
3533
  event: { type: 'Form Submitted', info: { formId: form.id } },
3533
3534
  action: { type: 'Add To Journey', info: { journeyId: journey2.id } },
@@ -3535,7 +3536,7 @@ var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, v
3535
3536
  title: "Dup Active"
3536
3537
  })];
3537
3538
  case 8:
3538
- dupActive = _a.sent();
3539
+ dupActive = _j.sent();
3539
3540
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3540
3541
  event: { type: 'Form Submitted', info: { formId: form.id } },
3541
3542
  action: { type: 'Add To Journey', info: { journeyId: journey3.id } },
@@ -3543,13 +3544,210 @@ var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, v
3543
3544
  title: "Inactive"
3544
3545
  })];
3545
3546
  case 9:
3546
- inactive = _a.sent();
3547
+ inactive = _j.sent();
3548
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3549
+ event: {
3550
+ type: 'Form Submitted',
3551
+ info: {
3552
+ formId: form.id,
3553
+ },
3554
+ },
3555
+ action: { type: 'Add Tags', info: { tags: ['No Conditions'] } },
3556
+ status: 'Active',
3557
+ title: "No Conditions"
3558
+ })];
3559
+ case 10:
3560
+ noConditions = _j.sent();
3561
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3562
+ event: {
3563
+ type: 'Form Submitted',
3564
+ info: {
3565
+ formId: form.id,
3566
+ },
3567
+ conditions: {
3568
+ "$and": [
3569
+ {
3570
+ "condition": (_a = {},
3571
+ _a[field.id] = "trigger 2",
3572
+ _a)
3573
+ }
3574
+ ]
3575
+ },
3576
+ },
3577
+ action: { type: 'Add Tags', info: { tags: ['Equals'] } },
3578
+ status: 'Active',
3579
+ title: "Equals"
3580
+ })];
3581
+ case 11:
3582
+ equals = _j.sent();
3583
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3584
+ event: {
3585
+ type: 'Form Submitted',
3586
+ info: {
3587
+ formId: form.id,
3588
+ },
3589
+ conditions: {
3590
+ "$and": [
3591
+ {
3592
+ "condition": (_b = {},
3593
+ _b[field.id] = "tri",
3594
+ _b)
3595
+ }
3596
+ ]
3597
+ },
3598
+ },
3599
+ action: { type: 'Add Tags', info: { tags: ['No'] } },
3600
+ status: 'Active',
3601
+ title: "Equals False"
3602
+ })];
3603
+ case 12:
3604
+ equalsFalse = _j.sent();
3605
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3606
+ event: {
3607
+ type: 'Form Submitted',
3608
+ info: {
3609
+ formId: form.id,
3610
+ },
3611
+ conditions: {
3612
+ "$and": [
3613
+ {
3614
+ "condition": (_c = {},
3615
+ _c[field.id] = { $exists: true },
3616
+ _c)
3617
+ }
3618
+ ]
3619
+ },
3620
+ },
3621
+ action: { type: 'Add Tags', info: { tags: ['exists'] } },
3622
+ status: 'Active',
3623
+ title: "Exists true"
3624
+ })];
3625
+ case 13:
3626
+ existsTrue = _j.sent();
3627
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3628
+ event: {
3629
+ type: 'Form Submitted',
3630
+ info: {
3631
+ formId: form.id,
3632
+ },
3633
+ conditions: {
3634
+ "$and": [
3635
+ {
3636
+ "condition": (_d = {},
3637
+ _d[field.id] = { $exists: false },
3638
+ _d)
3639
+ }
3640
+ ]
3641
+ },
3642
+ },
3643
+ action: { type: 'Add Tags', info: { tags: ['No'] } },
3644
+ status: 'Active',
3645
+ title: "Exists False"
3646
+ })];
3647
+ case 14:
3648
+ existsFalse = _j.sent();
3649
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3650
+ event: {
3651
+ type: 'Form Submitted',
3652
+ info: {
3653
+ formId: form.id,
3654
+ },
3655
+ conditions: {
3656
+ "$and": [
3657
+ {
3658
+ "condition": (_e = {},
3659
+ _e[field.id] = {
3660
+ "$doesNotContain": "tri2"
3661
+ },
3662
+ _e)
3663
+ }
3664
+ ]
3665
+ },
3666
+ },
3667
+ action: { type: 'Add Tags', info: { tags: ['doesNotContain'] } },
3668
+ status: 'Active',
3669
+ title: "doesNotContainTrue"
3670
+ })];
3671
+ case 15:
3672
+ doesNotContainTrue = _j.sent();
3673
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3674
+ event: {
3675
+ type: 'Form Submitted',
3676
+ info: {
3677
+ formId: form.id,
3678
+ },
3679
+ conditions: {
3680
+ "$and": [
3681
+ {
3682
+ "condition": (_f = {},
3683
+ _f[field.id] = {
3684
+ "$doesNotContain": "tri"
3685
+ },
3686
+ _f)
3687
+ }
3688
+ ]
3689
+ },
3690
+ },
3691
+ action: { type: 'Add Tags', info: { tags: ['No'] } },
3692
+ status: 'Active',
3693
+ title: "doesNotContainFalse"
3694
+ })];
3695
+ case 16:
3696
+ doesNotContainFalse = _j.sent();
3697
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3698
+ event: {
3699
+ type: 'Form Submitted',
3700
+ info: {
3701
+ formId: form.id,
3702
+ },
3703
+ conditions: {
3704
+ "$and": [
3705
+ {
3706
+ "condition": (_g = {},
3707
+ _g[field.id] = {
3708
+ "$contains": "tri2"
3709
+ },
3710
+ _g)
3711
+ }
3712
+ ]
3713
+ },
3714
+ },
3715
+ action: { type: 'Add Tags', info: { tags: ['No'] } },
3716
+ status: 'Active',
3717
+ title: "containFalse"
3718
+ })];
3719
+ case 17:
3720
+ containFalse = _j.sent();
3721
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3722
+ event: {
3723
+ type: 'Form Submitted',
3724
+ info: {
3725
+ formId: form.id,
3726
+ },
3727
+ conditions: {
3728
+ "$and": [
3729
+ {
3730
+ "condition": (_h = {},
3731
+ _h[field.id] = {
3732
+ "$contains": "tri"
3733
+ },
3734
+ _h)
3735
+ }
3736
+ ]
3737
+ },
3738
+ },
3739
+ action: { type: 'Add Tags', info: { tags: ['contains'] } },
3740
+ status: 'Active',
3741
+ title: "containTrue"
3742
+ })];
3743
+ case 18:
3744
+ containTrue = _j.sent();
3547
3745
  return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({
3548
3746
  enduserId: enduser.id,
3549
3747
  formId: form.id,
3550
3748
  })];
3551
- case 10:
3552
- accessCode = (_a.sent()).accessCode;
3749
+ case 19:
3750
+ accessCode = (_j.sent()).accessCode;
3553
3751
  return [4 /*yield*/, sdk.api.form_responses.submit_form_response({
3554
3752
  accessCode: accessCode,
3555
3753
  responses: [
@@ -3565,21 +3763,32 @@ var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, v
3565
3763
  })
3566
3764
  // allow triggers to happen
3567
3765
  ];
3568
- case 11:
3569
- _a.sent();
3766
+ case 20:
3767
+ _j.sent();
3570
3768
  // allow triggers to happen
3571
3769
  return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)];
3572
- case 12:
3770
+ case 21:
3573
3771
  // allow triggers to happen
3574
- _a.sent();
3772
+ _j.sent();
3773
+ return [4 /*yield*/, (0, testing_1.async_test)("Triggers with conditional works", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) {
3774
+ var _a, _b, _c, _d, _e, _f;
3775
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Equals'))
3776
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('contains'))
3777
+ && ((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('exists'))
3778
+ && ((_d = e.tags) === null || _d === void 0 ? void 0 : _d.includes('No Conditions'))
3779
+ && ((_e = e.tags) === null || _e === void 0 ? void 0 : _e.includes('doesNotContain'))
3780
+ && !((_f = e.tags) === null || _f === void 0 ? void 0 : _f.includes('No')));
3781
+ } })];
3782
+ case 22:
3783
+ _j.sent();
3575
3784
  return [4 /*yield*/, (0, testing_1.async_test)("Automated triggers work", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) {
3576
3785
  var _a, _b, _c;
3577
3786
  return !!(((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[journey1.id]) === ''
3578
3787
  && ((_b = e.journeys) === null || _b === void 0 ? void 0 : _b[journey2.id]) === ''
3579
3788
  && ((_c = e.journeys) === null || _c === void 0 ? void 0 : _c[journey3.id]) === undefined);
3580
3789
  } })];
3581
- case 13:
3582
- _a.sent();
3790
+ case 23:
3791
+ _j.sent();
3583
3792
  return [4 /*yield*/, Promise.all([
3584
3793
  sdk.api.journeys.deleteOne(journey1.id),
3585
3794
  sdk.api.journeys.deleteOne(journey2.id),
@@ -3589,9 +3798,18 @@ var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, v
3589
3798
  sdk.api.automation_triggers.deleteOne(active.id),
3590
3799
  sdk.api.automation_triggers.deleteOne(dupActive.id),
3591
3800
  sdk.api.automation_triggers.deleteOne(inactive.id),
3801
+ sdk.api.automation_triggers.deleteOne(equals.id),
3802
+ sdk.api.automation_triggers.deleteOne(doesNotContainTrue.id),
3803
+ sdk.api.automation_triggers.deleteOne(containTrue.id),
3804
+ sdk.api.automation_triggers.deleteOne(noConditions.id),
3805
+ sdk.api.automation_triggers.deleteOne(existsTrue.id),
3806
+ sdk.api.automation_triggers.deleteOne(existsFalse.id),
3807
+ sdk.api.automation_triggers.deleteOne(containFalse.id),
3808
+ sdk.api.automation_triggers.deleteOne(equalsFalse.id),
3809
+ sdk.api.automation_triggers.deleteOne(doesNotContainFalse.id),
3592
3810
  ])];
3593
- case 14:
3594
- _a.sent();
3811
+ case 24:
3812
+ _j.sent();
3595
3813
  return [2 /*return*/];
3596
3814
  }
3597
3815
  });
@@ -3931,7 +4149,9 @@ var role_based_access_tests = function () { return __awaiter(void 0, void 0, voi
3931
4149
  return [4 /*yield*/, (0, testing_1.async_test)("non-admin for chat message bad", function () { return sdkNonAdmin.api.chats.getOne(chatMessage.id); }, handleAnyError)];
3932
4150
  case 27:
3933
4151
  _a.sent();
3934
- return [4 /*yield*/, (0, testing_1.async_test)("[bulk] non-admin for chat message bad", function () { return sdkNonAdmin.bulk_load({ load: [{ model: 'chats' }] }); }, handleAnyError // throws error in this case in enforceForeignAccessConstraints because there are no accessible chats
4152
+ return [4 /*yield*/, (0, testing_1.async_test)("[bulk] non-admin for chat message bad", function () { return sdkNonAdmin.bulk_load({ load: [{ model: 'chats' }] }); },
4153
+ // { onResult: result => result.results.flatMap(r => r?.records || []).length === 0 }
4154
+ handleAnyError // throws error in this case in enforceForeignAccessConstraints because there are no accessible chats
3935
4155
  )];
3936
4156
  case 28:
3937
4157
  _a.sent();
@@ -5898,43 +6118,43 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
5898
6118
  return [4 /*yield*/, setup_tests()];
5899
6119
  case 7:
5900
6120
  _k.sent();
5901
- return [4 /*yield*/, enduser_session_tests()];
6121
+ return [4 /*yield*/, automation_trigger_tests()];
5902
6122
  case 8:
5903
6123
  _k.sent();
5904
- return [4 /*yield*/, nextReminderInMS_tests()];
6124
+ return [4 /*yield*/, enduser_session_tests()];
5905
6125
  case 9:
5906
6126
  _k.sent();
5907
- return [4 /*yield*/, search_tests()];
6127
+ return [4 /*yield*/, nextReminderInMS_tests()];
5908
6128
  case 10:
5909
6129
  _k.sent();
5910
- return [4 /*yield*/, wait_for_trigger_tests()];
6130
+ return [4 /*yield*/, search_tests()];
5911
6131
  case 11:
5912
6132
  _k.sent();
5913
- return [4 /*yield*/, role_based_access_tests()];
6133
+ return [4 /*yield*/, wait_for_trigger_tests()];
5914
6134
  case 12:
5915
6135
  _k.sent();
5916
- return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6136
+ return [4 /*yield*/, role_based_access_tests()];
5917
6137
  case 13:
6138
+ _k.sent();
6139
+ return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6140
+ case 14:
5918
6141
  _k.sent(); // should come right after setup tests
5919
6142
  return [4 /*yield*/, pdf_generation()];
5920
- case 14:
5921
- _k.sent();
5922
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
5923
6143
  case 15:
5924
6144
  _k.sent();
5925
- return [4 /*yield*/, rate_limit_tests()];
6145
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
5926
6146
  case 16:
5927
6147
  _k.sent();
5928
- return [4 /*yield*/, merge_enduser_tests()];
6148
+ return [4 /*yield*/, rate_limit_tests()];
5929
6149
  case 17:
5930
6150
  _k.sent();
5931
- return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
6151
+ return [4 /*yield*/, merge_enduser_tests()];
5932
6152
  case 18:
5933
6153
  _k.sent();
5934
- return [4 /*yield*/, auto_reply_tests()];
6154
+ return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
5935
6155
  case 19:
5936
6156
  _k.sent();
5937
- return [4 /*yield*/, automation_trigger_tests()];
6157
+ return [4 /*yield*/, auto_reply_tests()];
5938
6158
  case 20:
5939
6159
  _k.sent();
5940
6160
  return [4 /*yield*/, sub_organization_enduser_tests()];