@tellescope/sdk 1.253.1 → 1.254.0

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 (64) hide show
  1. package/lib/cjs/sdk.d.ts +4 -0
  2. package/lib/cjs/sdk.d.ts.map +1 -1
  3. package/lib/cjs/tests/api_tests/_tmp_bc_verify.test.d.ts.map +1 -0
  4. package/lib/cjs/tests/api_tests/_tmp_blank_status_verify.test.d.ts.map +1 -0
  5. package/lib/cjs/tests/api_tests/_tmp_followup_verify.test.d.ts.map +1 -0
  6. package/lib/cjs/tests/api_tests/_tmp_nonmatch_verify.test.d.ts.map +1 -0
  7. package/lib/cjs/tests/api_tests/field_redaction.test.d.ts.map +1 -1
  8. package/lib/cjs/tests/api_tests/field_redaction.test.js +112 -99
  9. package/lib/cjs/tests/api_tests/field_redaction.test.js.map +1 -1
  10. package/lib/cjs/tests/api_tests/journey_error_branching.test.js +7 -2
  11. package/lib/cjs/tests/api_tests/journey_error_branching.test.js.map +1 -1
  12. package/lib/cjs/tests/api_tests/resource_access_tags.test.d.ts +22 -0
  13. package/lib/cjs/tests/api_tests/resource_access_tags.test.d.ts.map +1 -0
  14. package/lib/cjs/tests/api_tests/resource_access_tags.test.js +488 -0
  15. package/lib/cjs/tests/api_tests/resource_access_tags.test.js.map +1 -0
  16. package/lib/cjs/tests/api_tests/time_tracks.test.d.ts +8 -0
  17. package/lib/cjs/tests/api_tests/time_tracks.test.d.ts.map +1 -1
  18. package/lib/cjs/tests/api_tests/time_tracks.test.js +638 -1
  19. package/lib/cjs/tests/api_tests/time_tracks.test.js.map +1 -1
  20. package/lib/cjs/tests/tests.d.ts.map +1 -1
  21. package/lib/cjs/tests/tests.js +586 -178
  22. package/lib/cjs/tests/tests.js.map +1 -1
  23. package/lib/esm/sdk.d.ts +4 -0
  24. package/lib/esm/sdk.d.ts.map +1 -1
  25. package/lib/esm/tests/api_tests/_tmp_bc_verify.test.d.ts +2 -0
  26. package/lib/esm/tests/api_tests/_tmp_bc_verify.test.d.ts.map +1 -0
  27. package/lib/esm/tests/api_tests/_tmp_bc_verify.test.js +120 -0
  28. package/lib/esm/tests/api_tests/_tmp_bc_verify.test.js.map +1 -0
  29. package/lib/esm/tests/api_tests/_tmp_blank_status_verify.test.d.ts +2 -0
  30. package/lib/esm/tests/api_tests/_tmp_blank_status_verify.test.d.ts.map +1 -0
  31. package/lib/esm/tests/api_tests/_tmp_blank_status_verify.test.js +200 -0
  32. package/lib/esm/tests/api_tests/_tmp_blank_status_verify.test.js.map +1 -0
  33. package/lib/esm/tests/api_tests/_tmp_followup_verify.test.d.ts +2 -0
  34. package/lib/esm/tests/api_tests/_tmp_followup_verify.test.d.ts.map +1 -0
  35. package/lib/esm/tests/api_tests/_tmp_followup_verify.test.js +194 -0
  36. package/lib/esm/tests/api_tests/_tmp_followup_verify.test.js.map +1 -0
  37. package/lib/esm/tests/api_tests/_tmp_nonmatch_verify.test.d.ts +2 -0
  38. package/lib/esm/tests/api_tests/_tmp_nonmatch_verify.test.d.ts.map +1 -0
  39. package/lib/esm/tests/api_tests/_tmp_nonmatch_verify.test.js +115 -0
  40. package/lib/esm/tests/api_tests/_tmp_nonmatch_verify.test.js.map +1 -0
  41. package/lib/esm/tests/api_tests/field_redaction.test.d.ts.map +1 -1
  42. package/lib/esm/tests/api_tests/field_redaction.test.js +112 -99
  43. package/lib/esm/tests/api_tests/field_redaction.test.js.map +1 -1
  44. package/lib/esm/tests/api_tests/journey_error_branching.test.js +7 -2
  45. package/lib/esm/tests/api_tests/journey_error_branching.test.js.map +1 -1
  46. package/lib/esm/tests/api_tests/resource_access_tags.test.d.ts +22 -0
  47. package/lib/esm/tests/api_tests/resource_access_tags.test.d.ts.map +1 -0
  48. package/lib/esm/tests/api_tests/resource_access_tags.test.js +484 -0
  49. package/lib/esm/tests/api_tests/resource_access_tags.test.js.map +1 -0
  50. package/lib/esm/tests/api_tests/time_tracks.test.d.ts +8 -0
  51. package/lib/esm/tests/api_tests/time_tracks.test.d.ts.map +1 -1
  52. package/lib/esm/tests/api_tests/time_tracks.test.js +635 -0
  53. package/lib/esm/tests/api_tests/time_tracks.test.js.map +1 -1
  54. package/lib/esm/tests/tests.d.ts.map +1 -1
  55. package/lib/esm/tests/tests.js +587 -179
  56. package/lib/esm/tests/tests.js.map +1 -1
  57. package/lib/tsconfig.tsbuildinfo +1 -1
  58. package/package.json +10 -10
  59. package/src/tests/api_tests/field_redaction.test.ts +13 -0
  60. package/src/tests/api_tests/journey_error_branching.test.ts +5 -1
  61. package/src/tests/api_tests/resource_access_tags.test.ts +303 -0
  62. package/src/tests/api_tests/time_tracks.test.ts +420 -0
  63. package/src/tests/tests.ts +298 -5
  64. package/test_generated.pdf +0 -0
@@ -102,12 +102,13 @@ import { cross_org_api_key_tests } from "./api_tests/cross_org_api_key.test";
102
102
  import { custom_dashboards_tests } from "./api_tests/custom_dashboards.test";
103
103
  import { message_assignment_trigger_tests } from "./api_tests/message_assignment_trigger.test";
104
104
  import { outbound_chat_sent_trigger_tests } from "./api_tests/outbound_chat_sent_trigger.test";
105
- import { time_tracks_tests, time_tracks_historical_tests, time_tracks_correction_tests, time_tracks_review_tests, time_tracks_lock_tests, time_tracks_edge_case_tests } from "./api_tests/time_tracks.test";
105
+ import { time_tracks_tests, time_tracks_historical_tests, time_tracks_correction_tests, time_tracks_review_tests, time_tracks_lock_tests, time_tracks_edge_case_tests, time_tracks_resubmit_tests, time_tracks_appointment_duration_tests } from "./api_tests/time_tracks.test";
106
106
  import { monthly_availability_restrictions_tests } from "./api_tests/monthly_availability_restrictions.test";
107
107
  import { calendar_event_limits_tests } from "./api_tests/calendar_event_limits.test";
108
108
  import { custom_aggregation_tests } from "./api_tests/custom_aggregation.test";
109
109
  import { chats_analytics_tests } from "./api_tests/chats_analytics.test";
110
110
  import { no_access_permission_checks_tests } from "./api_tests/no_access_permission_checks.test";
111
+ import { resource_access_tags_tests } from "./api_tests/resource_access_tags.test";
111
112
  import { field_redaction_tests } from "./api_tests/field_redaction.test";
112
113
  import { data_sync_redaction_bypass_tests } from "./api_tests/security/F-0001-data-sync-redaction-bypass.test";
113
114
  import { enduser_write_restrictions_tests } from "./api_tests/security/F-0106-F-0110-enduser-write-restrictions.test";
@@ -4488,6 +4489,388 @@ var order_status_equals_tests = function () { return __awaiter(void 0, void 0, v
4488
4489
  }
4489
4490
  });
4490
4491
  }); };
4492
+ // Covers the "blank status matches any order status" behavior (Order Status Equals acting as "Order Status Changed").
4493
+ // Kept separate from order_status_equals_tests because a blank-status trigger would break that test's exact tag-count assertions.
4494
+ var order_status_blank_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
4495
+ var A, A2, B, C, D, BA, BD, BD2, P, e2, e3, e4, e5, e6, e7, o7, eb1, eb2, eb3, e8, o8, e9, e10;
4496
+ return __generator(this, function (_a) {
4497
+ switch (_a.label) {
4498
+ case 0:
4499
+ log_header("Automation Trigger Tests (Order Status Equals - blank status)");
4500
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4501
+ event: { type: 'Order Status Equals', info: { source: 'BlankSource' } },
4502
+ action: { type: 'Add Tags', info: { tags: ['AnyOmit'] } },
4503
+ status: 'Active',
4504
+ title: "Blank status (omitted)"
4505
+ })];
4506
+ case 1:
4507
+ A = _a.sent();
4508
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4509
+ event: { type: 'Order Status Equals', info: { source: 'BlankSource', status: '' } },
4510
+ action: { type: 'Add Tags', info: { tags: ['AnyEmpty'] } },
4511
+ status: 'Active',
4512
+ title: "Blank status (empty string)"
4513
+ })];
4514
+ case 2:
4515
+ A2 = _a.sent();
4516
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4517
+ event: { type: 'Order Status Equals', info: { source: 'BlankSource', status: '', skus: ['MATCH-SKU'] } },
4518
+ action: { type: 'Add Tags', info: { tags: ['BlankWithSku'] } },
4519
+ status: 'Active',
4520
+ title: "Blank status with SKU filter"
4521
+ })];
4522
+ case 3:
4523
+ B = _a.sent();
4524
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4525
+ event: { type: 'Order Status Equals', info: { source: 'OtherSource' } },
4526
+ action: { type: 'Add Tags', info: { tags: ['WrongSource'] } },
4527
+ status: 'Active',
4528
+ title: "Blank status, other source"
4529
+ })];
4530
+ case 4:
4531
+ C = _a.sent();
4532
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4533
+ event: { type: 'Order Status Equals', info: { source: 'BlankSource', status: 'Shipped' } },
4534
+ action: { type: 'Add Tags', info: { tags: ['ShippedOnly'] } },
4535
+ status: 'Active',
4536
+ title: "Status-specific (regression)"
4537
+ })
4538
+ // BA/BD exercise the separate bulk-create code path (createSome of 2+); kept on their own source so the
4539
+ // pre-existing "bulk ignores sku/protocol filters" divergence doesn't affect these assertions.
4540
+ ];
4541
+ case 5:
4542
+ D = _a.sent();
4543
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4544
+ event: { type: 'Order Status Equals', info: { source: 'BulkSource' } },
4545
+ action: { type: 'Add Tags', info: { tags: ['BulkAny'] } },
4546
+ status: 'Active',
4547
+ title: "Bulk blank status"
4548
+ })];
4549
+ case 6:
4550
+ BA = _a.sent();
4551
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4552
+ event: { type: 'Order Status Equals', info: { source: 'BulkSource', status: 'Shipped' } },
4553
+ action: { type: 'Add Tags', info: { tags: ['BulkShipped'] } },
4554
+ status: 'Active',
4555
+ title: "Bulk status-specific"
4556
+ })
4557
+ // BD2's status matches NO order in the bulk batch below; backwards-compat: it must never fire (the query's $in
4558
+ // branch excludes it entirely, exactly as before the blank-status change).
4559
+ ];
4560
+ case 7:
4561
+ BD = _a.sent();
4562
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4563
+ event: { type: 'Order Status Equals', info: { source: 'BulkSource', status: 'NeverInBatch' } },
4564
+ action: { type: 'Add Tags', info: { tags: ['BulkNever'] } },
4565
+ status: 'Active',
4566
+ title: "Bulk status-specific (absent from batch)"
4567
+ })
4568
+ // P: blank status composed with a protocol filter (proves blank works with non-SKU filters + the no-protocol branch)
4569
+ ];
4570
+ case 8:
4571
+ BD2 = _a.sent();
4572
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4573
+ event: { type: 'Order Status Equals', info: { source: 'BlankSource', status: '', protocols: ['Protocol-A'] } },
4574
+ action: { type: 'Add Tags', info: { tags: ['BlankProtocol'] } },
4575
+ status: 'Active',
4576
+ title: "Blank status with protocol filter"
4577
+ })
4578
+ // Case 1: validation accepts triggers with no status / empty status (A and A2 created above without error)
4579
+ ];
4580
+ case 9:
4581
+ P = _a.sent();
4582
+ // Case 1: validation accepts triggers with no status / empty status (A and A2 created above without error)
4583
+ return [4 /*yield*/, async_test("Trigger with omitted status was created", function () { return Promise.resolve(A); }, { onResult: function (t) { return !!t.id && t.event.type === 'Order Status Equals' && !t.event.info.status; } })];
4584
+ case 10:
4585
+ // Case 1: validation accepts triggers with no status / empty status (A and A2 created above without error)
4586
+ _a.sent();
4587
+ return [4 /*yield*/, async_test("Trigger with empty-string status was created", function () { return Promise.resolve(A2); }, { onResult: function (t) { return !!t.id && t.event.type === 'Order Status Equals' && t.event.info.status === ''; } })
4588
+ // Case 2: blank status fires on an arbitrary status
4589
+ ];
4590
+ case 11:
4591
+ _a.sent();
4592
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4593
+ case 12:
4594
+ e2 = _a.sent();
4595
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'StatusOne', source: 'BlankSource', title: 'Title', externalId: 'blank-1', enduserId: e2.id })];
4596
+ case 13:
4597
+ _a.sent();
4598
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4599
+ case 14:
4600
+ _a.sent(); // allow triggers to happen
4601
+ return [4 /*yield*/, async_test("Blank status fires on arbitrary status (no other tags)", function () { return sdk.api.endusers.getOne(e2.id); }, { onResult: function (e) {
4602
+ var _a, _b, _c, _d, _f;
4603
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit'))
4604
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('AnyEmpty'))
4605
+ && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('BlankWithSku'))
4606
+ && !((_d = e.tags) === null || _d === void 0 ? void 0 : _d.includes('WrongSource'))
4607
+ && !((_f = e.tags) === null || _f === void 0 ? void 0 : _f.includes('ShippedOnly')));
4608
+ } })
4609
+ // Case 3: blank status fires on a totally different status value (status-value-independent)
4610
+ ];
4611
+ case 15:
4612
+ _a.sent();
4613
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4614
+ case 16:
4615
+ e3 = _a.sent();
4616
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'totally-arbitrary-xyz', source: 'BlankSource', title: 'Title', externalId: 'blank-2', enduserId: e3.id })];
4617
+ case 17:
4618
+ _a.sent();
4619
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4620
+ case 18:
4621
+ _a.sent(); // allow triggers to happen
4622
+ return [4 /*yield*/, async_test("Blank status fires on a different arbitrary status", function () { return sdk.api.endusers.getOne(e3.id); }, { onResult: function (e) {
4623
+ var _a, _b;
4624
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit'))
4625
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('AnyEmpty')));
4626
+ } })
4627
+ // Case 4: source isolation - blank trigger does not fire for a different source
4628
+ ];
4629
+ case 19:
4630
+ _a.sent();
4631
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4632
+ case 20:
4633
+ e4 = _a.sent();
4634
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'StatusOne', source: 'DifferentSource', title: 'Title', externalId: 'blank-3', enduserId: e4.id })];
4635
+ case 21:
4636
+ _a.sent();
4637
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4638
+ case 22:
4639
+ _a.sent(); // allow triggers to happen
4640
+ return [4 /*yield*/, async_test("Blank status is still scoped to its source", function () { return sdk.api.endusers.getOne(e4.id); }, { onResult: function (e) {
4641
+ var _a, _b, _c;
4642
+ return !!(!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit'))
4643
+ && !((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('AnyEmpty'))
4644
+ && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('WrongSource')) // C only matches OtherSource
4645
+ );
4646
+ } })
4647
+ // Case 5a: other filters still enforced with blank status (sku mismatch)
4648
+ ];
4649
+ case 23:
4650
+ _a.sent();
4651
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4652
+ case 24:
4653
+ e5 = _a.sent();
4654
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'whatever', source: 'BlankSource', title: 'Title', externalId: 'blank-4', enduserId: e5.id, sku: 'NOPE' })];
4655
+ case 25:
4656
+ _a.sent();
4657
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4658
+ case 26:
4659
+ _a.sent(); // allow triggers to happen
4660
+ return [4 /*yield*/, async_test("Blank status + SKU filter does not fire on SKU mismatch", function () { return sdk.api.endusers.getOne(e5.id); }, { onResult: function (e) {
4661
+ var _a, _b, _c;
4662
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit'))
4663
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('AnyEmpty'))
4664
+ && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('BlankWithSku')));
4665
+ } })
4666
+ // Case 5b: other filters still enforced with blank status (sku match)
4667
+ ];
4668
+ case 27:
4669
+ _a.sent();
4670
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4671
+ case 28:
4672
+ e6 = _a.sent();
4673
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'whatever', source: 'BlankSource', title: 'Title', externalId: 'blank-5', enduserId: e6.id, sku: 'MATCH-SKU' })];
4674
+ case 29:
4675
+ _a.sent();
4676
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4677
+ case 30:
4678
+ _a.sent(); // allow triggers to happen
4679
+ return [4 /*yield*/, async_test("Blank status + SKU filter fires on SKU match", function () { return sdk.api.endusers.getOne(e6.id); }, { onResult: function (e) {
4680
+ var _a, _b, _c;
4681
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit'))
4682
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('AnyEmpty'))
4683
+ && ((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('BlankWithSku')));
4684
+ } })
4685
+ // Case 6: update path + regression coexistence with a status-specific trigger
4686
+ ];
4687
+ case 31:
4688
+ _a.sent();
4689
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4690
+ case 32:
4691
+ e7 = _a.sent();
4692
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'Created', source: 'BlankSource', title: 'Title', externalId: 'blank-6', enduserId: e7.id })];
4693
+ case 33:
4694
+ o7 = _a.sent();
4695
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4696
+ case 34:
4697
+ _a.sent(); // allow triggers to happen
4698
+ return [4 /*yield*/, async_test("Blank fires on create; status-specific (Shipped) does not yet", function () { return sdk.api.endusers.getOne(e7.id); }, { onResult: function (e) {
4699
+ var _a, _b, _c;
4700
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit'))
4701
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('AnyEmpty'))
4702
+ && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('ShippedOnly')));
4703
+ } })
4704
+ // update to a NON-matching status: blank fires again, but the status-specific trigger must stay un-fired
4705
+ ];
4706
+ case 35:
4707
+ _a.sent();
4708
+ // update to a NON-matching status: blank fires again, but the status-specific trigger must stay un-fired
4709
+ return [4 /*yield*/, sdk.api.enduser_orders.updateOne(o7.id, { status: 'Delivered', externalId: 'blank-6-delivered' })];
4710
+ case 36:
4711
+ // update to a NON-matching status: blank fires again, but the status-specific trigger must stay un-fired
4712
+ _a.sent();
4713
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4714
+ case 37:
4715
+ _a.sent(); // allow triggers to happen
4716
+ return [4 /*yield*/, async_test("Update to non-matching status: blank fires, status-specific (Shipped) does NOT fire", function () { return sdk.api.endusers.getOne(e7.id); }, { onResult: function (e) {
4717
+ var _a, _b, _c;
4718
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit') // proves the update event was processed
4719
+ )
4720
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('AnyEmpty'))
4721
+ && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('ShippedOnly')) // 'Delivered' must not trigger the 'Shipped' trigger
4722
+ );
4723
+ } })
4724
+ // now update to the matching status: status-specific trigger fires
4725
+ ];
4726
+ case 38:
4727
+ _a.sent();
4728
+ // now update to the matching status: status-specific trigger fires
4729
+ return [4 /*yield*/, sdk.api.enduser_orders.updateOne(o7.id, { status: 'Shipped', externalId: 'blank-6-shipped' })];
4730
+ case 39:
4731
+ // now update to the matching status: status-specific trigger fires
4732
+ _a.sent();
4733
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4734
+ case 40:
4735
+ _a.sent(); // allow triggers to happen
4736
+ return [4 /*yield*/, async_test("Blank fires on update too; status-specific (Shipped) now fires", function () { return sdk.api.endusers.getOne(e7.id); }, { onResult: function (e) {
4737
+ var _a, _b, _c;
4738
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit'))
4739
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('AnyEmpty'))
4740
+ && ((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('ShippedOnly')));
4741
+ } })
4742
+ // Case 7: bulk create path (createSome of 2+) must honor blank status + status-specific selectivity.
4743
+ // This exercises a SEPARATE matching code path (handle_orders_create bulk branch) from single creates.
4744
+ ];
4745
+ case 41:
4746
+ _a.sent();
4747
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4748
+ case 42:
4749
+ eb1 = _a.sent();
4750
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4751
+ case 43:
4752
+ eb2 = _a.sent();
4753
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4754
+ case 44:
4755
+ eb3 = _a.sent();
4756
+ return [4 /*yield*/, sdk.api.enduser_orders.createSome([
4757
+ { status: 'StatusA', source: 'BulkSource', title: 'Title', externalId: 'bulk-1', enduserId: eb1.id },
4758
+ { status: 'Shipped', source: 'BulkSource', title: 'Title', externalId: 'bulk-2', enduserId: eb2.id },
4759
+ { status: 'StatusB', source: 'BulkSource', title: 'Title', externalId: 'bulk-3', enduserId: eb3.id },
4760
+ ])];
4761
+ case 45:
4762
+ _a.sent();
4763
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4764
+ case 46:
4765
+ _a.sent(); // allow triggers to happen
4766
+ return [4 /*yield*/, async_test("Bulk create: blank fires on non-Shipped order; status-specific (matching + absent) do not", function () { return sdk.api.endusers.getOne(eb1.id); }, { onResult: function (e) { var _a, _b, _c; return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('BulkAny')) && !((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('BulkShipped')) && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('BulkNever'))); } })];
4767
+ case 47:
4768
+ _a.sent();
4769
+ return [4 /*yield*/, async_test("Bulk create: blank + matching status-specific fire on the Shipped order; absent-status one does not", function () { return sdk.api.endusers.getOne(eb2.id); }, { onResult: function (e) { var _a, _b, _c; return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('BulkAny')) && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('BulkShipped')) && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('BulkNever'))); } })];
4770
+ case 48:
4771
+ _a.sent();
4772
+ return [4 /*yield*/, async_test("Bulk create: blank fires on the other non-Shipped order; status-specific (matching + absent) do not", function () { return sdk.api.endusers.getOne(eb3.id); }, { onResult: function (e) { var _a, _b, _c; return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('BulkAny')) && !((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('BulkShipped')) && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('BulkNever'))); } })
4773
+ // Case 8: an order update that does NOT change status must not run the handler (true "status changed" semantic).
4774
+ ];
4775
+ case 49:
4776
+ _a.sent();
4777
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4778
+ case 50:
4779
+ e8 = _a.sent();
4780
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'Shipped', source: 'BlankSource', title: 'Title', externalId: 'noChange-1', enduserId: e8.id })];
4781
+ case 51:
4782
+ o8 = _a.sent();
4783
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4784
+ case 52:
4785
+ _a.sent(); // allow triggers to happen
4786
+ return [4 /*yield*/, async_test("Setup: status-specific (Shipped) fired on create", function () { return sdk.api.endusers.getOne(e8.id); }, { onResult: function (e) { var _a, _b; return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit')) && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('ShippedOnly'))); } })
4787
+ // clear tags (replaceObjectFields forces the empty array to actually replace)
4788
+ ];
4789
+ case 53:
4790
+ _a.sent();
4791
+ // clear tags (replaceObjectFields forces the empty array to actually replace)
4792
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e8.id, { tags: [] }, { replaceObjectFields: true })
4793
+ // sanity-check the clear actually took, so a later failure points at re-firing rather than a broken clear
4794
+ ];
4795
+ case 54:
4796
+ // clear tags (replaceObjectFields forces the empty array to actually replace)
4797
+ _a.sent();
4798
+ // sanity-check the clear actually took, so a later failure points at re-firing rather than a broken clear
4799
+ return [4 /*yield*/, async_test("Setup: tags cleared before non-status update", function () { return sdk.api.endusers.getOne(e8.id); }, { onResult: function (e) { var _a; return !((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length); } })
4800
+ // update a non-status field (status stays 'Shipped'); handler should early-return and re-add nothing.
4801
+ // If it wrongly fired, the blank triggers A/A2 would re-add AnyOmit/AnyEmpty, so empty tags proves non-firing.
4802
+ ];
4803
+ case 55:
4804
+ // sanity-check the clear actually took, so a later failure points at re-firing rather than a broken clear
4805
+ _a.sent();
4806
+ // update a non-status field (status stays 'Shipped'); handler should early-return and re-add nothing.
4807
+ // If it wrongly fired, the blank triggers A/A2 would re-add AnyOmit/AnyEmpty, so empty tags proves non-firing.
4808
+ return [4 /*yield*/, sdk.api.enduser_orders.updateOne(o8.id, { tracking: 'tracking-123', externalId: 'noChange-1b' })];
4809
+ case 56:
4810
+ // update a non-status field (status stays 'Shipped'); handler should early-return and re-add nothing.
4811
+ // If it wrongly fired, the blank triggers A/A2 would re-add AnyOmit/AnyEmpty, so empty tags proves non-firing.
4812
+ _a.sent();
4813
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4814
+ case 57:
4815
+ _a.sent(); // allow triggers to happen
4816
+ return [4 /*yield*/, async_test("Update with unchanged status does not fire any trigger", function () { return sdk.api.endusers.getOne(e8.id); }, { onResult: function (e) { var _a; return !((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length); } })
4817
+ // Case 9: protocol filter with blank status - order without a protocol must not fire (the order.protocol ? : false branch)
4818
+ ];
4819
+ case 58:
4820
+ _a.sent();
4821
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4822
+ case 59:
4823
+ e9 = _a.sent();
4824
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'whatever', source: 'BlankSource', title: 'Title', externalId: 'proto-1', enduserId: e9.id })];
4825
+ case 60:
4826
+ _a.sent();
4827
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4828
+ case 61:
4829
+ _a.sent(); // allow triggers to happen
4830
+ return [4 /*yield*/, async_test("Blank + protocol filter does not fire when order has no protocol", function () { return sdk.api.endusers.getOne(e9.id); }, { onResult: function (e) { var _a, _b; return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit')) && !((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('BlankProtocol'))); } })];
4831
+ case 62:
4832
+ _a.sent();
4833
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4834
+ case 63:
4835
+ e10 = _a.sent();
4836
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'whatever', source: 'BlankSource', title: 'Title', externalId: 'proto-2', enduserId: e10.id, protocol: 'Protocol-A' })];
4837
+ case 64:
4838
+ _a.sent();
4839
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4840
+ case 65:
4841
+ _a.sent(); // allow triggers to happen
4842
+ return [4 /*yield*/, async_test("Blank + protocol filter fires when order protocol matches", function () { return sdk.api.endusers.getOne(e10.id); }, { onResult: function (e) { var _a, _b; return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('AnyOmit')) && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('BlankProtocol'))); } })];
4843
+ case 66:
4844
+ _a.sent();
4845
+ return [4 /*yield*/, Promise.all([
4846
+ sdk.api.automation_triggers.deleteOne(A.id),
4847
+ sdk.api.automation_triggers.deleteOne(A2.id),
4848
+ sdk.api.automation_triggers.deleteOne(B.id),
4849
+ sdk.api.automation_triggers.deleteOne(C.id),
4850
+ sdk.api.automation_triggers.deleteOne(D.id),
4851
+ sdk.api.automation_triggers.deleteOne(BA.id),
4852
+ sdk.api.automation_triggers.deleteOne(BD.id),
4853
+ sdk.api.automation_triggers.deleteOne(BD2.id),
4854
+ sdk.api.automation_triggers.deleteOne(P.id),
4855
+ sdk.api.endusers.deleteOne(e2.id),
4856
+ sdk.api.endusers.deleteOne(e3.id),
4857
+ sdk.api.endusers.deleteOne(e4.id),
4858
+ sdk.api.endusers.deleteOne(e5.id),
4859
+ sdk.api.endusers.deleteOne(e6.id),
4860
+ sdk.api.endusers.deleteOne(e7.id),
4861
+ sdk.api.endusers.deleteOne(eb1.id),
4862
+ sdk.api.endusers.deleteOne(eb2.id),
4863
+ sdk.api.endusers.deleteOne(eb3.id),
4864
+ sdk.api.endusers.deleteOne(e8.id),
4865
+ sdk.api.endusers.deleteOne(e9.id),
4866
+ sdk.api.endusers.deleteOne(e10.id),
4867
+ ])];
4868
+ case 67:
4869
+ _a.sent();
4870
+ return [2 /*return*/];
4871
+ }
4872
+ });
4873
+ }); };
4491
4874
  var tag_added_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
4492
4875
  var t1, t2, t3, e;
4493
4876
  return __generator(this, function (_a) {
@@ -6418,56 +6801,59 @@ var automation_trigger_tests = function () { return __awaiter(void 0, void 0, vo
6418
6801
  return [4 /*yield*/, order_status_equals_tests()];
6419
6802
  case 3:
6420
6803
  _a.sent();
6421
- return [4 /*yield*/, set_fields_order_templates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6804
+ return [4 /*yield*/, order_status_blank_tests()];
6422
6805
  case 4:
6423
6806
  _a.sent();
6424
- return [4 /*yield*/, medication_added_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6807
+ return [4 /*yield*/, set_fields_order_templates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6425
6808
  case 5:
6426
6809
  _a.sent();
6427
- return [4 /*yield*/, appointment_cancelled_tests()];
6810
+ return [4 /*yield*/, medication_added_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6428
6811
  case 6:
6429
6812
  _a.sent();
6430
- return [4 /*yield*/, set_fields_tests()];
6813
+ return [4 /*yield*/, appointment_cancelled_tests()];
6431
6814
  case 7:
6432
6815
  _a.sent();
6433
- return [4 /*yield*/, purchase_made_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6816
+ return [4 /*yield*/, set_fields_tests()];
6434
6817
  case 8:
6435
6818
  _a.sent();
6436
- return [4 /*yield*/, appointment_rescheduled_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6819
+ return [4 /*yield*/, purchase_made_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6437
6820
  case 9:
6438
6821
  _a.sent();
6439
- return [4 /*yield*/, form_response_set_fields_trigger_tests()];
6822
+ return [4 /*yield*/, appointment_rescheduled_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6440
6823
  case 10:
6441
6824
  _a.sent();
6442
- return [4 /*yield*/, form_response_set_fields_journey_tests()];
6825
+ return [4 /*yield*/, form_response_set_fields_trigger_tests()];
6443
6826
  case 11:
6444
6827
  _a.sent();
6445
- return [4 /*yield*/, appointment_completed_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6828
+ return [4 /*yield*/, form_response_set_fields_journey_tests()];
6446
6829
  case 12:
6447
6830
  _a.sent();
6448
- return [4 /*yield*/, trigger_events_api_tests()];
6831
+ return [4 /*yield*/, appointment_completed_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6449
6832
  case 13:
6450
6833
  _a.sent();
6451
- return [4 /*yield*/, fields_changed_tests()];
6834
+ return [4 /*yield*/, trigger_events_api_tests()];
6452
6835
  case 14:
6453
6836
  _a.sent();
6454
- return [4 /*yield*/, field_equals_trigger_tests()];
6837
+ return [4 /*yield*/, fields_changed_tests()];
6455
6838
  case 15:
6456
6839
  _a.sent();
6457
- return [4 /*yield*/, contact_created_tests()];
6840
+ return [4 /*yield*/, field_equals_trigger_tests()];
6458
6841
  case 16:
6459
6842
  _a.sent();
6460
- return [4 /*yield*/, appointment_created_tests()];
6843
+ return [4 /*yield*/, contact_created_tests()];
6461
6844
  case 17:
6462
6845
  _a.sent();
6463
- return [4 /*yield*/, tag_added_tests()];
6846
+ return [4 /*yield*/, appointment_created_tests()];
6464
6847
  case 18:
6465
6848
  _a.sent();
6466
- return [4 /*yield*/, order_created_tests()];
6849
+ return [4 /*yield*/, tag_added_tests()];
6467
6850
  case 19:
6468
6851
  _a.sent();
6469
- return [4 /*yield*/, formSubmittedTriggerTests()];
6852
+ return [4 /*yield*/, order_created_tests()];
6470
6853
  case 20:
6854
+ _a.sent();
6855
+ return [4 /*yield*/, formSubmittedTriggerTests()];
6856
+ case 21:
6471
6857
  _a.sent();
6472
6858
  return [2 /*return*/];
6473
6859
  }
@@ -10259,7 +10645,11 @@ export var switch_to_related_contacts_tests = function () { return __awaiter(voi
10259
10645
  return [4 /*yield*/, sdk.api.endusers.updateOne(child.id, { journeys: (_a = {}, _a[journey.id] = '', _a) })];
10260
10646
  case 6:
10261
10647
  _b.sent();
10262
- return [4 /*yield*/, async_test("Related contact got tags", function () { return pollForResults(function () { return sdk.api.endusers.getOne(parent.id); }, function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Success')); }, 50, 200); }, passOnAnyResult)];
10648
+ return [4 /*yield*/, async_test("Related contact got tags", function () { return pollForResults(function () { return sdk.api.endusers.getOne(parent.id); }, function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Success')); },
10649
+ // switchToRelatedContact (cycle 1) then the afterAction addEnduserTags (cycle 2) each wait a
10650
+ // full worker poll cycle (>= 8s, see worker pollingDelaySeconds), so ~16s worst case. Poll for
10651
+ // 30s (500ms x 60) to cover two cycles plus buffer; the old 10s window timed out flakily.
10652
+ 500, 60); }, passOnAnyResult)];
10263
10653
  case 7:
10264
10654
  _b.sent();
10265
10655
  return [2 /*return*/, Promise.all([
@@ -16242,12 +16632,16 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16242
16632
  return [4 /*yield*/, wait(undefined, 500)]; // wait for IP to be set
16243
16633
  case 4:
16244
16634
  _a.sent(); // wait for IP to be set
16245
- async_test('IP Set on Enduser creation', function () { return sdk.api.endusers.getOne(enduserId); }, { onResult: function (result) { var _a; return !!((_a = result.fields) === null || _a === void 0 ? void 0 : _a.IP); } });
16635
+ return [4 /*yield*/, async_test('IP Set on Enduser creation', function () { return sdk.api.endusers.getOne(enduserId); }, { onResult: function (result) { var _a; return !!((_a = result.fields) === null || _a === void 0 ? void 0 : _a.IP); } })
16636
+ // clear ip and set other field to make sure IP doesn't overwrite other custom fields
16637
+ ];
16638
+ case 5:
16639
+ _a.sent();
16246
16640
  // clear ip and set other field to make sure IP doesn't overwrite other custom fields
16247
16641
  return [4 /*yield*/, sdk.api.endusers.updateOne(enduserId, { fields: { otherField: "Set" } }, { replaceObjectFields: true })
16248
16642
  // should match and update in place
16249
16643
  ];
16250
- case 5:
16644
+ case 6:
16251
16645
  // clear ip and set other field to make sure IP doesn't overwrite other custom fields
16252
16646
  _a.sent();
16253
16647
  // should match and update in place
@@ -16259,15 +16653,20 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16259
16653
  fname: 'session',
16260
16654
  lname: 'test',
16261
16655
  })];
16262
- case 6:
16656
+ case 7:
16263
16657
  // should match and update in place
16264
16658
  _a.sent();
16265
- async_test('IP Set on update', function () { return sdk.api.endusers.getOne(enduserId); }, { onResult: function (result) { var _a, _b; return !!((_a = result.fields) === null || _a === void 0 ? void 0 : _a.IP) && ((_b = result.fields) === null || _b === void 0 ? void 0 : _b.otherField) === 'Set' && result.id === enduserId; } });
16659
+ return [4 /*yield*/, wait(undefined, 500)]; // wait for IP to be re-set
16660
+ case 8:
16661
+ _a.sent(); // wait for IP to be re-set
16662
+ return [4 /*yield*/, async_test('IP Set on update', function () { return sdk.api.endusers.getOne(enduserId); }, { onResult: function (result) { var _a, _b; return !!((_a = result.fields) === null || _a === void 0 ? void 0 : _a.IP) && ((_b = result.fields) === null || _b === void 0 ? void 0 : _b.otherField) === 'Set' && result.id === enduserId; } })];
16663
+ case 9:
16664
+ _a.sent();
16266
16665
  return [4 /*yield*/, Promise.all([
16267
16666
  sdk.api.forms.deleteOne(form.id),
16268
16667
  sdk.api.endusers.deleteOne(enduserId),
16269
16668
  ])];
16270
- case 7:
16669
+ case 10:
16271
16670
  _a.sent();
16272
16671
  return [2 /*return*/];
16273
16672
  }
@@ -16288,7 +16687,7 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16288
16687
  assert(truncate_string(null, { length: 4, showEllipsis: false }) === '', 'truncate doesnt work for non string', 'trucate works for non-string');
16289
16688
  _l.label = 2;
16290
16689
  case 2:
16291
- _l.trys.push([2, 146, , 147]);
16690
+ _l.trys.push([2, 149, , 150]);
16292
16691
  get_next_reminder_timestamp_tests();
16293
16692
  form_conditional_logic_tests();
16294
16693
  return [4 /*yield*/, test_weighted_round_robin()];
@@ -16435,393 +16834,402 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16435
16834
  return [4 /*yield*/, setup_tests(sdk, sdkNonAdmin)];
16436
16835
  case 18:
16437
16836
  _l.sent();
16438
- return [4 /*yield*/, beluga_manual_sync_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16837
+ return [4 /*yield*/, resource_access_tags_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16439
16838
  case 19:
16440
16839
  _l.sent();
16441
- return [4 /*yield*/, beluga_pharmacy_mappings_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16840
+ return [4 /*yield*/, beluga_manual_sync_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16442
16841
  case 20:
16443
16842
  _l.sent();
16444
- return [4 /*yield*/, enduser_write_restrictions_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16843
+ return [4 /*yield*/, beluga_pharmacy_mappings_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16445
16844
  case 21:
16446
16845
  _l.sent();
16447
- return [4 /*yield*/, user_portal_settings_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16846
+ return [4 /*yield*/, enduser_write_restrictions_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16448
16847
  case 22:
16449
16848
  _l.sent();
16450
- return [4 /*yield*/, automation_trigger_tests()];
16849
+ return [4 /*yield*/, user_portal_settings_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16451
16850
  case 23:
16452
16851
  _l.sent();
16453
- return [4 /*yield*/, invite_user_enumeration_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16852
+ return [4 /*yield*/, automation_trigger_tests()];
16454
16853
  case 24:
16455
16854
  _l.sent();
16456
- return [4 /*yield*/, handle_incoming_communication_cross_tenant_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16855
+ return [4 /*yield*/, invite_user_enumeration_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16457
16856
  case 25:
16458
16857
  _l.sent();
16459
- return [4 /*yield*/, calendar_event_webhook_template_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16858
+ return [4 /*yield*/, handle_incoming_communication_cross_tenant_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16460
16859
  case 26:
16461
16860
  _l.sent();
16462
- return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk })];
16861
+ return [4 /*yield*/, calendar_event_webhook_template_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16463
16862
  case 27:
16464
16863
  _l.sent();
16465
- return [4 /*yield*/, enduser_login_rate_limits_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16864
+ return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk })];
16466
16865
  case 28:
16467
16866
  _l.sent();
16468
- return [4 /*yield*/, data_sync_redaction_bypass_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16867
+ return [4 /*yield*/, enduser_login_rate_limits_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16469
16868
  case 29:
16470
16869
  _l.sent();
16471
- return [4 /*yield*/, ai_conversations_rbac_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16870
+ return [4 /*yield*/, data_sync_redaction_bypass_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16472
16871
  case 30:
16473
16872
  _l.sent();
16474
- return [4 /*yield*/, cascade_role_rename_cross_tenant_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16873
+ return [4 /*yield*/, ai_conversations_rbac_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16475
16874
  case 31:
16476
16875
  _l.sent();
16477
- return [4 /*yield*/, self_admin_role_assignment_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16876
+ return [4 /*yield*/, cascade_role_rename_cross_tenant_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16478
16877
  case 32:
16479
16878
  _l.sent();
16480
- return [4 /*yield*/, sanitize_user_html_xss_tests()];
16879
+ return [4 /*yield*/, self_admin_role_assignment_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16481
16880
  case 33:
16482
16881
  _l.sent();
16483
- return [4 /*yield*/, prototype_pollution_tests()];
16882
+ return [4 /*yield*/, sanitize_user_html_xss_tests()];
16484
16883
  case 34:
16485
16884
  _l.sent();
16486
- return [4 /*yield*/, account_switcher_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16885
+ return [4 /*yield*/, prototype_pollution_tests()];
16487
16886
  case 35:
16488
16887
  _l.sent();
16489
- return [4 /*yield*/, enduser_login_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16888
+ return [4 /*yield*/, account_switcher_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16490
16889
  case 36:
16491
16890
  _l.sent();
16492
- return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk })];
16891
+ return [4 /*yield*/, enduser_login_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16493
16892
  case 37:
16494
16893
  _l.sent();
16495
- return [4 /*yield*/, enduser_cross_access_isolation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16894
+ return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk })];
16496
16895
  case 38:
16497
16896
  _l.sent();
16498
- return [4 /*yield*/, eom_procedure_codes_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16897
+ return [4 /*yield*/, enduser_cross_access_isolation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16499
16898
  case 39:
16500
16899
  _l.sent();
16501
- return [4 /*yield*/, cross_org_api_key_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16900
+ return [4 /*yield*/, eom_procedure_codes_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16502
16901
  case 40:
16503
16902
  _l.sent();
16504
- return [4 /*yield*/, organization_settings_duplicates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16903
+ return [4 /*yield*/, cross_org_api_key_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16505
16904
  case 41:
16506
16905
  _l.sent();
16507
- return [4 /*yield*/, enduser_session_invalidation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16906
+ return [4 /*yield*/, organization_settings_duplicates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16508
16907
  case 42:
16509
16908
  _l.sent();
16510
- return [4 /*yield*/, chats_analytics_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16909
+ return [4 /*yield*/, enduser_session_invalidation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16511
16910
  case 43:
16512
16911
  _l.sent();
16513
- return [4 /*yield*/, field_redaction_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16912
+ return [4 /*yield*/, chats_analytics_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16514
16913
  case 44:
16515
16914
  _l.sent();
16516
- return [4 /*yield*/, form_submitted_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16915
+ return [4 /*yield*/, field_redaction_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16517
16916
  case 45:
16518
16917
  _l.sent();
16519
- return [4 /*yield*/, date_string_validation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16918
+ return [4 /*yield*/, form_submitted_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16520
16919
  case 46:
16521
16920
  _l.sent();
16522
- return [4 /*yield*/, openloop_webhooks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16921
+ return [4 /*yield*/, date_string_validation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16523
16922
  case 47:
16524
16923
  _l.sent();
16525
- return [4 /*yield*/, mdi_webhooks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16924
+ return [4 /*yield*/, openloop_webhooks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16526
16925
  case 48:
16527
16926
  _l.sent();
16528
- return [4 /*yield*/, integrations_redacted_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16927
+ return [4 /*yield*/, mdi_webhooks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16529
16928
  case 49:
16530
16929
  _l.sent();
16531
- return [4 /*yield*/, mdb_sort_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16930
+ return [4 /*yield*/, integrations_redacted_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16532
16931
  case 50:
16533
16932
  _l.sent();
16534
- return [4 /*yield*/, search_tests()];
16933
+ return [4 /*yield*/, mdb_sort_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16535
16934
  case 51:
16536
16935
  _l.sent();
16537
- return [4 /*yield*/, time_tracks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16936
+ return [4 /*yield*/, search_tests()];
16538
16937
  case 52:
16539
16938
  _l.sent();
16540
- return [4 /*yield*/, time_tracks_historical_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16939
+ return [4 /*yield*/, time_tracks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16541
16940
  case 53:
16542
16941
  _l.sent();
16543
- return [4 /*yield*/, time_tracks_correction_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16942
+ return [4 /*yield*/, time_tracks_historical_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16544
16943
  case 54:
16545
16944
  _l.sent();
16546
- return [4 /*yield*/, time_tracks_review_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16945
+ return [4 /*yield*/, time_tracks_correction_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16547
16946
  case 55:
16548
16947
  _l.sent();
16549
- return [4 /*yield*/, time_tracks_lock_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16948
+ return [4 /*yield*/, time_tracks_review_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16550
16949
  case 56:
16551
16950
  _l.sent();
16552
- return [4 /*yield*/, time_tracks_edge_case_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16951
+ return [4 /*yield*/, time_tracks_lock_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16553
16952
  case 57:
16554
16953
  _l.sent();
16555
- return [4 /*yield*/, calendar_event_limits_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16954
+ return [4 /*yield*/, time_tracks_edge_case_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16556
16955
  case 58:
16557
16956
  _l.sent();
16558
- return [4 /*yield*/, get_some_projection_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16957
+ return [4 /*yield*/, time_tracks_resubmit_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16559
16958
  case 59:
16560
16959
  _l.sent();
16561
- return [4 /*yield*/, elation_user_id_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16960
+ return [4 /*yield*/, time_tracks_appointment_duration_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16562
16961
  case 60:
16563
16962
  _l.sent();
16564
- return [4 /*yield*/, custom_dashboards_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16963
+ return [4 /*yield*/, calendar_event_limits_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16565
16964
  case 61:
16566
16965
  _l.sent();
16567
- return [4 /*yield*/, concurrent_build_threads_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16966
+ return [4 /*yield*/, get_some_projection_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16568
16967
  case 62:
16569
16968
  _l.sent();
16570
- return [4 /*yield*/, custom_aggregation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16969
+ return [4 /*yield*/, elation_user_id_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16571
16970
  case 63:
16572
16971
  _l.sent();
16573
- return [4 /*yield*/, no_access_permission_checks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16972
+ return [4 /*yield*/, custom_dashboards_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16574
16973
  case 64:
16575
16974
  _l.sent();
16576
- return [4 /*yield*/, enduser_tests()];
16975
+ return [4 /*yield*/, concurrent_build_threads_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16577
16976
  case 65:
16578
16977
  _l.sent();
16579
- return [4 /*yield*/, form_started_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16978
+ return [4 /*yield*/, custom_aggregation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16580
16979
  case 66:
16581
16980
  _l.sent();
16582
- return [4 /*yield*/, load_team_chat_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16981
+ return [4 /*yield*/, no_access_permission_checks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16583
16982
  case 67:
16584
16983
  _l.sent();
16585
- return [4 /*yield*/, ai_conversations_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16984
+ return [4 /*yield*/, enduser_tests()];
16586
16985
  case 68:
16587
16986
  _l.sent();
16588
- return [4 /*yield*/, inbox_thread_assignment_updates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16987
+ return [4 /*yield*/, form_started_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16589
16988
  case 69:
16590
16989
  _l.sent();
16591
- return [4 /*yield*/, inbox_thread_draft_scheduled_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16990
+ return [4 /*yield*/, load_team_chat_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16592
16991
  case 70:
16593
16992
  _l.sent();
16594
- return [4 /*yield*/, load_threads_autobuild_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16993
+ return [4 /*yield*/, ai_conversations_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16595
16994
  case 71:
16596
16995
  _l.sent();
16597
- return [4 /*yield*/, inbox_threads_new_fields_tests()];
16996
+ return [4 /*yield*/, inbox_thread_assignment_updates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16598
16997
  case 72:
16599
16998
  _l.sent();
16600
- return [4 /*yield*/, auto_merge_form_submission_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16999
+ return [4 /*yield*/, inbox_thread_draft_scheduled_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16601
17000
  case 73:
16602
17001
  _l.sent();
16603
- return [4 /*yield*/, threadKeyTests()];
17002
+ return [4 /*yield*/, load_threads_autobuild_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16604
17003
  case 74:
16605
17004
  _l.sent();
16606
- return [4 /*yield*/, managed_content_enduser_access_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
17005
+ return [4 /*yield*/, inbox_threads_new_fields_tests()];
16607
17006
  case 75:
16608
17007
  _l.sent();
16609
- return [4 /*yield*/, managed_content_file_access_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
17008
+ return [4 /*yield*/, auto_merge_form_submission_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16610
17009
  case 76:
16611
17010
  _l.sent();
16612
- return [4 /*yield*/, afteraction_day_of_month_delay_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
17011
+ return [4 /*yield*/, threadKeyTests()];
16613
17012
  case 77:
16614
17013
  _l.sent();
16615
- return [4 /*yield*/, bulk_assignment_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
17014
+ return [4 /*yield*/, managed_content_enduser_access_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16616
17015
  case 78:
16617
17016
  _l.sent();
16618
- return [4 /*yield*/, formsort_tests()];
17017
+ return [4 /*yield*/, managed_content_file_access_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16619
17018
  case 79:
16620
17019
  _l.sent();
16621
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
17020
+ return [4 /*yield*/, afteraction_day_of_month_delay_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16622
17021
  case 80:
16623
17022
  _l.sent();
16624
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
17023
+ return [4 /*yield*/, bulk_assignment_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16625
17024
  case 81:
16626
17025
  _l.sent();
16627
- return [4 /*yield*/, monthly_availability_restrictions_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
17026
+ return [4 /*yield*/, formsort_tests()];
16628
17027
  case 82:
16629
17028
  _l.sent();
16630
- return [4 /*yield*/, journey_error_branching_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
17029
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
16631
17030
  case 83:
16632
17031
  _l.sent();
16633
- return [4 /*yield*/, message_assignment_trigger_tests({ sdk: sdk })];
17032
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
16634
17033
  case 84:
16635
17034
  _l.sent();
16636
- return [4 /*yield*/, inbox_threads_building_tests()];
17035
+ return [4 /*yield*/, monthly_availability_restrictions_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16637
17036
  case 85:
16638
17037
  _l.sent();
16639
- return [4 /*yield*/, inbox_threads_loading_tests()];
17038
+ return [4 /*yield*/, journey_error_branching_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16640
17039
  case 86:
16641
17040
  _l.sent();
16642
- return [4 /*yield*/, load_inbox_data_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
17041
+ return [4 /*yield*/, message_assignment_trigger_tests({ sdk: sdk })];
16643
17042
  case 87:
16644
17043
  _l.sent();
16645
- return [4 /*yield*/, enduser_observations_acknowledge_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
17044
+ return [4 /*yield*/, inbox_threads_building_tests()];
16646
17045
  case 88:
16647
17046
  _l.sent();
16648
- return [4 /*yield*/, create_user_notifications_trigger_tests({ sdk: sdk })];
17047
+ return [4 /*yield*/, inbox_threads_loading_tests()];
16649
17048
  case 89:
16650
17049
  _l.sent();
16651
- return [4 /*yield*/, group_mms_active_tests()];
17050
+ return [4 /*yield*/, load_inbox_data_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16652
17051
  case 90:
16653
17052
  _l.sent();
16654
- return [4 /*yield*/, auto_reply_tests()];
17053
+ return [4 /*yield*/, enduser_observations_acknowledge_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16655
17054
  case 91:
16656
17055
  _l.sent();
16657
- return [4 /*yield*/, relationships_tests()];
17056
+ return [4 /*yield*/, create_user_notifications_trigger_tests({ sdk: sdk })];
16658
17057
  case 92:
16659
17058
  _l.sent();
16660
- return [4 /*yield*/, rate_limit_tests()];
17059
+ return [4 /*yield*/, group_mms_active_tests()];
16661
17060
  case 93:
16662
17061
  _l.sent();
16663
- return [4 /*yield*/, ip_address_form_tests()];
17062
+ return [4 /*yield*/, auto_reply_tests()];
16664
17063
  case 94:
16665
17064
  _l.sent();
16666
- return [4 /*yield*/, bulk_update_tests()];
17065
+ return [4 /*yield*/, relationships_tests()];
16667
17066
  case 95:
16668
17067
  _l.sent();
16669
- return [4 /*yield*/, calendar_events_bulk_update_tests({ sdk: sdk })];
17068
+ return [4 /*yield*/, rate_limit_tests()];
16670
17069
  case 96:
16671
17070
  _l.sent();
16672
- return [4 /*yield*/, cancel_upcoming_appointments_journey_action_test()];
17071
+ return [4 /*yield*/, ip_address_form_tests()];
16673
17072
  case 97:
16674
17073
  _l.sent();
16675
- return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
17074
+ return [4 /*yield*/, bulk_update_tests()];
16676
17075
  case 98:
17076
+ _l.sent();
17077
+ return [4 /*yield*/, calendar_events_bulk_update_tests({ sdk: sdk })];
17078
+ case 99:
17079
+ _l.sent();
17080
+ return [4 /*yield*/, cancel_upcoming_appointments_journey_action_test()];
17081
+ case 100:
17082
+ _l.sent();
17083
+ return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
17084
+ case 101:
16677
17085
  _l.sent(); // should come right after setup tests
16678
17086
  return [4 /*yield*/, sync_tests_with_access_tags()]; // should come directly after setup to avoid extra sync values
16679
- case 99:
17087
+ case 102:
16680
17088
  _l.sent(); // should come directly after setup to avoid extra sync values
16681
17089
  return [4 /*yield*/, sync_tests()]; // should come directly after setup to avoid extra sync values
16682
- case 100:
17090
+ case 103:
16683
17091
  _l.sent(); // should come directly after setup to avoid extra sync values
16684
17092
  return [4 /*yield*/, get_templated_message_tests()];
16685
- case 101:
17093
+ case 104:
16686
17094
  _l.sent();
16687
17095
  return [4 /*yield*/, updatedAt_tests()];
16688
- case 102:
17096
+ case 105:
16689
17097
  _l.sent();
16690
17098
  return [4 /*yield*/, file_source_tests()];
16691
- case 103:
17099
+ case 106:
16692
17100
  _l.sent();
16693
17101
  return [4 /*yield*/, enduser_access_tags_tests()];
16694
- case 104:
17102
+ case 107:
16695
17103
  _l.sent();
16696
17104
  return [4 /*yield*/, enduserAccessTests()];
16697
- case 105:
17105
+ case 108:
16698
17106
  _l.sent();
16699
17107
  return [4 /*yield*/, test_form_response_search()];
16700
- case 106:
17108
+ case 109:
16701
17109
  _l.sent();
16702
17110
  return [4 /*yield*/, date_parsing_tests()];
16703
- case 107:
17111
+ case 110:
16704
17112
  _l.sent();
16705
17113
  return [4 /*yield*/, fromEmailOverride_tests()];
16706
- case 108:
17114
+ case 111:
16707
17115
  _l.sent();
16708
17116
  return [4 /*yield*/, ticket_tests()];
16709
- case 109:
17117
+ case 112:
16710
17118
  _l.sent();
16711
17119
  return [4 /*yield*/, uniqueness_tests()];
16712
- case 110:
17120
+ case 113:
16713
17121
  _l.sent();
16714
17122
  return [4 /*yield*/, enduser_orders_tests()];
16715
- case 111:
17123
+ case 114:
16716
17124
  _l.sent();
16717
17125
  return [4 /*yield*/, calendar_event_care_team_tests()];
16718
- case 112:
17126
+ case 115:
16719
17127
  _l.sent();
16720
17128
  return [4 /*yield*/, merge_enduser_tests()];
16721
- case 113:
17129
+ case 116:
16722
17130
  _l.sent();
16723
17131
  return [4 /*yield*/, input_modifier_tests()];
16724
- case 114:
17132
+ case 117:
16725
17133
  _l.sent();
16726
17134
  return [4 /*yield*/, switch_to_related_contacts_tests()];
16727
- case 115:
17135
+ case 118:
16728
17136
  _l.sent();
16729
17137
  return [4 /*yield*/, redaction_tests()];
16730
- case 116:
17138
+ case 119:
16731
17139
  _l.sent();
16732
17140
  return [4 /*yield*/, no_chained_triggers_tests()];
16733
- case 117:
17141
+ case 120:
16734
17142
  _l.sent();
16735
17143
  return [4 /*yield*/, mdb_filter_tests()];
16736
- case 118:
17144
+ case 121:
16737
17145
  _l.sent();
16738
17146
  return [4 /*yield*/, superadmin_tests()];
16739
- case 119:
17147
+ case 122:
16740
17148
  _l.sent();
16741
17149
  return [4 /*yield*/, ticket_queue_tests()];
16742
- case 120:
17150
+ case 123:
16743
17151
  _l.sent();
16744
17152
  return [4 /*yield*/, vital_trigger_tests()];
16745
- case 121:
17153
+ case 124:
16746
17154
  _l.sent();
16747
17155
  return [4 /*yield*/, close_reasons_no_duplicates_tests()];
16748
- case 122:
17156
+ case 125:
16749
17157
  _l.sent();
16750
17158
  return [4 /*yield*/, register_as_enduser_tests()];
16751
- case 123:
17159
+ case 126:
16752
17160
  _l.sent();
16753
17161
  return [4 /*yield*/, lockout_tests()];
16754
- case 124:
17162
+ case 127:
16755
17163
  _l.sent();
16756
17164
  return [4 /*yield*/, delete_user_tests()
16757
17165
  // await test_send_with_template()
16758
17166
  ];
16759
- case 125:
17167
+ case 128:
16760
17168
  _l.sent();
16761
17169
  // await test_send_with_template()
16762
17170
  return [4 /*yield*/, bulk_read_tests()];
16763
- case 126:
17171
+ case 129:
16764
17172
  // await test_send_with_template()
16765
17173
  _l.sent();
16766
17174
  return [4 /*yield*/, ticket_reminder_tests()];
16767
- case 127:
17175
+ case 130:
16768
17176
  _l.sent();
16769
17177
  return [4 /*yield*/, marketing_email_unsubscribe_tests()];
16770
- case 128:
17178
+ case 131:
16771
17179
  _l.sent();
16772
17180
  return [4 /*yield*/, unique_strings_tests()];
16773
- case 129:
17181
+ case 132:
16774
17182
  _l.sent();
16775
17183
  return [4 /*yield*/, alternate_phones_tests()];
16776
- case 130:
17184
+ case 133:
16777
17185
  _l.sent();
16778
17186
  return [4 /*yield*/, role_based_access_tests()];
16779
- case 131:
17187
+ case 134:
16780
17188
  _l.sent();
16781
17189
  return [4 /*yield*/, enduser_session_tests()];
16782
- case 132:
17190
+ case 135:
16783
17191
  _l.sent();
16784
17192
  return [4 /*yield*/, nextReminderInMS_tests()];
16785
- case 133:
17193
+ case 136:
16786
17194
  _l.sent();
16787
17195
  return [4 /*yield*/, wait_for_trigger_tests()];
16788
- case 134:
17196
+ case 137:
16789
17197
  _l.sent();
16790
17198
  return [4 /*yield*/, pdf_generation()];
16791
- case 135:
17199
+ case 138:
16792
17200
  _l.sent();
16793
17201
  return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests().catch(console.error)]; // timing is unreliable, uncomment if changing logic
16794
- case 136:
17202
+ case 139:
16795
17203
  _l.sent(); // timing is unreliable, uncomment if changing logic
16796
17204
  return [4 /*yield*/, sub_organization_enduser_tests()];
16797
- case 137:
17205
+ case 140:
16798
17206
  _l.sent();
16799
17207
  return [4 /*yield*/, sub_organization_tests()];
16800
- case 138:
17208
+ case 141:
16801
17209
  _l.sent();
16802
17210
  return [4 /*yield*/, filter_by_date_tests()];
16803
- case 139:
17211
+ case 142:
16804
17212
  _l.sent();
16805
17213
  return [4 /*yield*/, generate_user_auth_tests()];
16806
- case 140:
17214
+ case 143:
16807
17215
  _l.sent();
16808
17216
  return [4 /*yield*/, generateEnduserAuthTests()];
16809
- case 141:
17217
+ case 144:
16810
17218
  _l.sent();
16811
17219
  return [4 /*yield*/, public_form_tests()];
16812
- case 142:
17220
+ case 145:
16813
17221
  _l.sent();
16814
17222
  return [4 /*yield*/, badInputTests()];
16815
- case 143:
17223
+ case 146:
16816
17224
  _l.sent();
16817
17225
  return [4 /*yield*/, filterTests()];
16818
- case 144:
17226
+ case 147:
16819
17227
  _l.sent();
16820
17228
  return [4 /*yield*/, updatesTests()];
16821
- case 145:
17229
+ case 148:
16822
17230
  _l.sent();
16823
- return [3 /*break*/, 147];
16824
- case 146:
17231
+ return [3 /*break*/, 150];
17232
+ case 149:
16825
17233
  err_1 = _l.sent();
16826
17234
  console.error("Failed during custom test");
16827
17235
  if (err_1.message && err_1.info) {
@@ -16831,18 +17239,18 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16831
17239
  console.error(err_1);
16832
17240
  }
16833
17241
  process.exit(1);
16834
- return [3 /*break*/, 147];
16835
- case 147:
17242
+ return [3 /*break*/, 150];
17243
+ case 150:
16836
17244
  _a = schema;
16837
17245
  _b = [];
16838
17246
  for (_c in _a)
16839
17247
  _b.push(_c);
16840
17248
  _i = 0;
16841
- _l.label = 148;
16842
- case 148:
16843
- if (!(_i < _b.length)) return [3 /*break*/, 151];
17249
+ _l.label = 151;
17250
+ case 151:
17251
+ if (!(_i < _b.length)) return [3 /*break*/, 154];
16844
17252
  _c = _b[_i];
16845
- if (!(_c in _a)) return [3 /*break*/, 150];
17253
+ if (!(_c in _a)) return [3 /*break*/, 153];
16846
17254
  n = _c;
16847
17255
  returnValidation = (_k = (_j = schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
16848
17256
  return [4 /*yield*/, run_generated_tests({
@@ -16853,41 +17261,41 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16853
17261
  create: returnValidation // ModelFields<ClientModel>,
16854
17262
  }
16855
17263
  })];
16856
- case 149:
17264
+ case 152:
16857
17265
  _l.sent();
16858
- _l.label = 150;
16859
- case 150:
17266
+ _l.label = 153;
17267
+ case 153:
16860
17268
  _i++;
16861
- return [3 /*break*/, 148];
16862
- case 151:
17269
+ return [3 /*break*/, 151];
17270
+ case 154:
16863
17271
  _d = tests;
16864
17272
  _f = [];
16865
17273
  for (_g in _d)
16866
17274
  _f.push(_g);
16867
17275
  _h = 0;
16868
- _l.label = 152;
16869
- case 152:
16870
- if (!(_h < _f.length)) return [3 /*break*/, 157];
17276
+ _l.label = 155;
17277
+ case 155:
17278
+ if (!(_h < _f.length)) return [3 /*break*/, 160];
16871
17279
  _g = _f[_h];
16872
- if (!(_g in _d)) return [3 /*break*/, 156];
17280
+ if (!(_g in _d)) return [3 /*break*/, 159];
16873
17281
  t = _g;
16874
- _l.label = 153;
16875
- case 153:
16876
- _l.trys.push([153, 155, , 156]);
17282
+ _l.label = 156;
17283
+ case 156:
17284
+ _l.trys.push([156, 158, , 159]);
16877
17285
  return [4 /*yield*/, tests[t]()];
16878
- case 154:
17286
+ case 157:
16879
17287
  _l.sent();
16880
- return [3 /*break*/, 156];
16881
- case 155:
17288
+ return [3 /*break*/, 159];
17289
+ case 158:
16882
17290
  err_2 = _l.sent();
16883
17291
  console.error("Error running test:");
16884
17292
  console.error(err_2);
16885
17293
  process.exit(1);
16886
- return [3 /*break*/, 156];
16887
- case 156:
17294
+ return [3 /*break*/, 159];
17295
+ case 159:
16888
17296
  _h++;
16889
- return [3 /*break*/, 152];
16890
- case 157:
17297
+ return [3 /*break*/, 155];
17298
+ case 160:
16891
17299
  process.exit();
16892
17300
  return [2 /*return*/];
16893
17301
  }