@tellescope/sdk 1.67.1 → 1.67.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.
@@ -6044,7 +6044,7 @@ var nextReminderInMS_tests = function () { return __awaiter(void 0, void 0, void
6044
6044
  }
6045
6045
  });
6046
6046
  }); };
6047
- var pollForResults = function (f, intervalInMS, iterations) {
6047
+ var pollForResults = function (f, evaluate, intervalInMS, iterations) {
6048
6048
  if (intervalInMS === void 0) { intervalInMS = 500; }
6049
6049
  if (iterations === void 0) { iterations = 20; }
6050
6050
  return __awaiter(void 0, void 0, void 0, function () {
@@ -6062,7 +6062,7 @@ var pollForResults = function (f, intervalInMS, iterations) {
6062
6062
  return [4 /*yield*/, f()];
6063
6063
  case 3:
6064
6064
  result = _a.sent();
6065
- if (result.length)
6065
+ if (evaluate(result))
6066
6066
  return [2 /*return*/, result];
6067
6067
  _a.label = 4;
6068
6068
  case 4:
@@ -6170,7 +6170,7 @@ var test_ticket_automation_assignment_and_optimization = function () { return __
6170
6170
  case 9:
6171
6171
  _d.sent();
6172
6172
  if (!testDelayedChild) return [3 /*break*/, 11];
6173
- return [4 /*yield*/, (0, testing_1.async_test)("Delayed child ticket", function () { return pollForResults(function () { return sdk.api.automated_actions.getSome({ filter: { automationStepId: child.id } }); }); }, { onResult: function (steps) { return steps.length === 1 && !steps[0].isNOP; } })];
6173
+ return [4 /*yield*/, (0, testing_1.async_test)("Delayed child ticket", function () { return pollForResults(function () { return sdk.api.automated_actions.getSome({ filter: { automationStepId: child.id } }); }, function (t) { return !!t.length; }); }, { onResult: function (steps) { return steps.length === 1 && !steps[0].isNOP; } })];
6174
6174
  case 10:
6175
6175
  _d.sent();
6176
6176
  _d.label = 11;
@@ -6307,7 +6307,7 @@ var test_ticket_automation_assignment_and_optimization = function () { return __
6307
6307
  })];
6308
6308
  case 3:
6309
6309
  _c.sent();
6310
- return [4 /*yield*/, (0, testing_1.async_test)("Background ticket assignment ".concat(++backgroundTestCounter), function () { return pollForResults(function () { return sdk.api.tickets.getSome({ filter: { enduserId: e.id, title: 'background ticket' } }); }); }, { onResult: function (ts) { return ts.length === 1 && !!ts[0].owner && validOwners.includes(ts[0].owner); } })];
6310
+ return [4 /*yield*/, (0, testing_1.async_test)("Background ticket assignment ".concat(++backgroundTestCounter), function () { return pollForResults(function () { return sdk.api.tickets.getSome({ filter: { enduserId: e.id, title: 'background ticket' } }); }, function (t) { return !!t.length; }); }, { onResult: function (ts) { return ts.length === 1 && !!ts[0].owner && validOwners.includes(ts[0].owner); } })];
6311
6311
  case 4:
6312
6312
  _c.sent();
6313
6313
  return [4 /*yield*/, sdk.api.endusers.deleteOne(e.id)];
@@ -6418,6 +6418,115 @@ var test_ticket_automation_assignment_and_optimization = function () { return __
6418
6418
  }
6419
6419
  });
6420
6420
  }); };
6421
+ var field_equals_trigger_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
6422
+ var journey, step, existsTriggerTags, existsTriggerAddToJourney, equalsTriggerTags, equalsTriggerAddToJourney, conditionalTriggerTags, conditionalTriggerAddToJourney, endusers;
6423
+ return __generator(this, function (_a) {
6424
+ switch (_a.label) {
6425
+ case 0:
6426
+ (0, testing_1.log_header)("Field Equals / Trigger Tests");
6427
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test' })];
6428
+ case 1:
6429
+ journey = _a.sent();
6430
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
6431
+ journeyId: journey.id,
6432
+ events: [{
6433
+ type: 'onJourneyStart',
6434
+ info: {}
6435
+ }],
6436
+ action: {
6437
+ type: 'addEnduserTags',
6438
+ info: { tags: ['Journey Tag'] }
6439
+ },
6440
+ })];
6441
+ case 2:
6442
+ step = _a.sent();
6443
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6444
+ event: { type: 'Field Equals', info: { field: 'fname', value: "$exists" } },
6445
+ action: { type: 'Add Tags', info: { tags: ["Tag"] } },
6446
+ status: "Active",
6447
+ title: 'existsTriggerTags',
6448
+ })];
6449
+ case 3:
6450
+ existsTriggerTags = _a.sent();
6451
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6452
+ event: { type: 'Field Equals', info: { field: 'fname', value: "$exists" } },
6453
+ action: { type: 'Add To Journey', info: { journeyId: journey.id } },
6454
+ status: "Active",
6455
+ title: 'existsTriggerAddToJourney',
6456
+ })];
6457
+ case 4:
6458
+ existsTriggerAddToJourney = _a.sent();
6459
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6460
+ event: { type: 'Field Equals', info: { field: 'lname', value: "Explicit" } },
6461
+ action: { type: 'Add Tags', info: { tags: ["Tag"] } },
6462
+ status: "Active",
6463
+ title: 'equalsTriggerTags',
6464
+ })];
6465
+ case 5:
6466
+ equalsTriggerTags = _a.sent();
6467
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6468
+ event: { type: 'Field Equals', info: { field: 'lname', value: "Explicit" } },
6469
+ action: { type: 'Add To Journey', info: { journeyId: journey.id } },
6470
+ enduserCondition: { $and: [{ condition: { lname: 'Explicit' } }] },
6471
+ status: "Active",
6472
+ title: 'equalsTriggerAddToJourney',
6473
+ })];
6474
+ case 6:
6475
+ equalsTriggerAddToJourney = _a.sent();
6476
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6477
+ event: { type: 'Field Equals', info: { field: 'mname', value: "$exists" } },
6478
+ action: { type: 'Add Tags', info: { tags: ["Tag"] } },
6479
+ status: "Active",
6480
+ enduserCondition: { $and: [{ condition: { lname: 'Conditional' } }] },
6481
+ title: 'conditionalTriggerTags',
6482
+ })];
6483
+ case 7:
6484
+ conditionalTriggerTags = _a.sent();
6485
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6486
+ event: { type: 'Field Equals', info: { field: 'mname', value: "$exists" } },
6487
+ action: { type: 'Add To Journey', info: { journeyId: journey.id } },
6488
+ enduserCondition: { $and: [{ condition: { lname: 'Conditional' } }] },
6489
+ status: "Active",
6490
+ title: 'conditionalTriggerAddToJourney',
6491
+ })
6492
+ // names are capitalized automatically, so make sure that is reflected in conditions
6493
+ ];
6494
+ case 8:
6495
+ conditionalTriggerAddToJourney = _a.sent();
6496
+ return [4 /*yield*/, sdk.api.endusers.createSome([
6497
+ { fname: 'Test' },
6498
+ { fname: 'Test' },
6499
+ { lname: 'Test' },
6500
+ { lname: 'Explicit' },
6501
+ { mname: 'Test' },
6502
+ { mname: 'Test' },
6503
+ { mname: 'Test', lname: 'Nonconditional' },
6504
+ { mname: 'Test', lname: 'Conditional' },
6505
+ ])];
6506
+ case 9:
6507
+ endusers = (_a.sent()).created;
6508
+ return [4 /*yield*/, (0, testing_1.async_test)("Journey and tags set", function () { return pollForResults(sdk.api.endusers.getSome, function (es) { return (es.filter(function (e) { var _a, _b; return ((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Tag')) && ((_b = e.journeys) === null || _b === void 0 ? void 0 : _b[journey.id]) !== undefined; }).length === 4); }, 200, 25); }, passOnAnyResult)];
6509
+ case 10:
6510
+ _a.sent();
6511
+ return [4 /*yield*/, (0, testing_1.async_test)("Background action queued for journey", function () { return pollForResults(sdk.api.automated_actions.getSome, function (as) { return (as.filter(function (a) { return a.automationStepId === step.id && endusers.find(function (e) { return e.id === a.enduserId; }); }).length === 4); }, 200, 25); }, passOnAnyResult)];
6512
+ case 11:
6513
+ _a.sent();
6514
+ return [4 /*yield*/, (0, testing_1.async_test)("Endusers have trigger ids", sdk.api.endusers.getSome, { onResult: function (es) { return es.filter(function (e) { var _a; return ((_a = e.triggerIds) === null || _a === void 0 ? void 0 : _a.length) === 2; }).length === 4; } })];
6515
+ case 12:
6516
+ _a.sent();
6517
+ return [4 /*yield*/, Promise.all(__spreadArray([
6518
+ sdk.api.journeys.deleteOne(journey.id),
6519
+ sdk.api.automation_triggers.deleteOne(existsTriggerTags.id),
6520
+ sdk.api.automation_triggers.deleteOne(existsTriggerAddToJourney.id),
6521
+ sdk.api.automation_triggers.deleteOne(equalsTriggerAddToJourney.id),
6522
+ sdk.api.automation_triggers.deleteOne(equalsTriggerTags.id),
6523
+ sdk.api.automation_triggers.deleteOne(conditionalTriggerTags.id),
6524
+ sdk.api.automation_triggers.deleteOne(conditionalTriggerAddToJourney.id)
6525
+ ], endusers.map(function (e) { return sdk.api.endusers.deleteOne(e.id); }), true))];
6526
+ case 13: return [2 /*return*/, _a.sent()];
6527
+ }
6528
+ });
6529
+ }); };
6421
6530
  var NO_TEST = function () { };
6422
6531
  var tests = {
6423
6532
  phone_trees: NO_TEST,
@@ -6521,7 +6630,7 @@ var validate_schema = function () {
6521
6630
  _k.sent();
6522
6631
  _k.label = 2;
6523
6632
  case 2:
6524
- _k.trys.push([2, 35, , 36]);
6633
+ _k.trys.push([2, 36, , 37]);
6525
6634
  return [4 /*yield*/, validate_schema()];
6526
6635
  case 3:
6527
6636
  _k.sent();
@@ -6555,83 +6664,86 @@ var validate_schema = function () {
6555
6664
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6556
6665
  case 9:
6557
6666
  _k.sent(); // should come right after setup tests
6558
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
6667
+ return [4 /*yield*/, field_equals_trigger_tests()];
6559
6668
  case 10:
6560
6669
  _k.sent();
6561
- return [4 /*yield*/, role_based_access_tests()];
6670
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
6562
6671
  case 11:
6563
6672
  _k.sent();
6564
- return [4 /*yield*/, automation_trigger_tests()];
6673
+ return [4 /*yield*/, role_based_access_tests()];
6565
6674
  case 12:
6566
6675
  _k.sent();
6567
- return [4 /*yield*/, enduser_session_tests()];
6676
+ return [4 /*yield*/, automation_trigger_tests()];
6568
6677
  case 13:
6569
6678
  _k.sent();
6570
- return [4 /*yield*/, nextReminderInMS_tests()];
6679
+ return [4 /*yield*/, enduser_session_tests()];
6571
6680
  case 14:
6572
6681
  _k.sent();
6573
- return [4 /*yield*/, search_tests()];
6682
+ return [4 /*yield*/, nextReminderInMS_tests()];
6574
6683
  case 15:
6575
6684
  _k.sent();
6576
- return [4 /*yield*/, wait_for_trigger_tests()];
6685
+ return [4 /*yield*/, search_tests()];
6577
6686
  case 16:
6578
6687
  _k.sent();
6579
- return [4 /*yield*/, pdf_generation()];
6688
+ return [4 /*yield*/, wait_for_trigger_tests()];
6580
6689
  case 17:
6581
6690
  _k.sent();
6582
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6691
+ return [4 /*yield*/, pdf_generation()];
6583
6692
  case 18:
6584
6693
  _k.sent();
6585
- return [4 /*yield*/, rate_limit_tests()];
6694
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6586
6695
  case 19:
6587
6696
  _k.sent();
6588
- return [4 /*yield*/, merge_enduser_tests()];
6697
+ return [4 /*yield*/, rate_limit_tests()];
6589
6698
  case 20:
6590
6699
  _k.sent();
6591
- return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
6700
+ return [4 /*yield*/, merge_enduser_tests()];
6592
6701
  case 21:
6593
6702
  _k.sent();
6594
- return [4 /*yield*/, auto_reply_tests()];
6703
+ return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
6595
6704
  case 22:
6596
6705
  _k.sent();
6597
- return [4 /*yield*/, sub_organization_enduser_tests()];
6706
+ return [4 /*yield*/, auto_reply_tests()];
6598
6707
  case 23:
6599
6708
  _k.sent();
6600
- return [4 /*yield*/, sub_organization_tests()];
6709
+ return [4 /*yield*/, sub_organization_enduser_tests()];
6601
6710
  case 24:
6602
6711
  _k.sent();
6603
- return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
6712
+ return [4 /*yield*/, sub_organization_tests()];
6604
6713
  case 25:
6605
6714
  _k.sent();
6606
- return [4 /*yield*/, generate_user_auth_tests()];
6715
+ return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
6607
6716
  case 26:
6608
6717
  _k.sent();
6609
- return [4 /*yield*/, generateEnduserAuthTests()];
6718
+ return [4 /*yield*/, generate_user_auth_tests()];
6610
6719
  case 27:
6611
6720
  _k.sent();
6612
- return [4 /*yield*/, public_form_tests()];
6721
+ return [4 /*yield*/, generateEnduserAuthTests()];
6613
6722
  case 28:
6614
6723
  _k.sent();
6615
- return [4 /*yield*/, badInputTests()];
6724
+ return [4 /*yield*/, public_form_tests()];
6616
6725
  case 29:
6617
6726
  _k.sent();
6618
- return [4 /*yield*/, filterTests()];
6727
+ return [4 /*yield*/, badInputTests()];
6619
6728
  case 30:
6620
6729
  _k.sent();
6621
- return [4 /*yield*/, updatesTests()];
6730
+ return [4 /*yield*/, filterTests()];
6622
6731
  case 31:
6623
6732
  _k.sent();
6624
- return [4 /*yield*/, threadKeyTests()];
6733
+ return [4 /*yield*/, updatesTests()];
6625
6734
  case 32:
6626
6735
  _k.sent();
6627
- return [4 /*yield*/, enduserAccessTests()];
6736
+ return [4 /*yield*/, threadKeyTests()];
6628
6737
  case 33:
6629
6738
  _k.sent();
6630
- return [4 /*yield*/, enduser_redaction_tests()];
6739
+ return [4 /*yield*/, enduserAccessTests()];
6631
6740
  case 34:
6632
6741
  _k.sent();
6633
- return [3 /*break*/, 36];
6742
+ return [4 /*yield*/, enduser_redaction_tests()];
6634
6743
  case 35:
6744
+ _k.sent();
6745
+ return [3 /*break*/, 37];
6746
+ case 36:
6635
6747
  err_1 = _k.sent();
6636
6748
  console.error("Failed during custom test");
6637
6749
  if (err_1.message && err_1.info) {
@@ -6641,18 +6753,18 @@ var validate_schema = function () {
6641
6753
  console.error(err_1);
6642
6754
  }
6643
6755
  process.exit(1);
6644
- return [3 /*break*/, 36];
6645
- case 36:
6756
+ return [3 /*break*/, 37];
6757
+ case 37:
6646
6758
  _a = schema_1.schema;
6647
6759
  _b = [];
6648
6760
  for (_c in _a)
6649
6761
  _b.push(_c);
6650
6762
  _i = 0;
6651
- _k.label = 37;
6652
- case 37:
6653
- if (!(_i < _b.length)) return [3 /*break*/, 40];
6763
+ _k.label = 38;
6764
+ case 38:
6765
+ if (!(_i < _b.length)) return [3 /*break*/, 41];
6654
6766
  _c = _b[_i];
6655
- if (!(_c in _a)) return [3 /*break*/, 39];
6767
+ if (!(_c in _a)) return [3 /*break*/, 40];
6656
6768
  n = _c;
6657
6769
  returnValidation = (_j = (_h = schema_1.schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
6658
6770
  return [4 /*yield*/, run_generated_tests({
@@ -6663,41 +6775,41 @@ var validate_schema = function () {
6663
6775
  create: returnValidation // ModelFields<ClientModel>,
6664
6776
  }
6665
6777
  })];
6666
- case 38:
6667
- _k.sent();
6668
- _k.label = 39;
6669
6778
  case 39:
6670
- _i++;
6671
- return [3 /*break*/, 37];
6779
+ _k.sent();
6780
+ _k.label = 40;
6672
6781
  case 40:
6782
+ _i++;
6783
+ return [3 /*break*/, 38];
6784
+ case 41:
6673
6785
  _d = tests;
6674
6786
  _e = [];
6675
6787
  for (_f in _d)
6676
6788
  _e.push(_f);
6677
6789
  _g = 0;
6678
- _k.label = 41;
6679
- case 41:
6680
- if (!(_g < _e.length)) return [3 /*break*/, 46];
6681
- _f = _e[_g];
6682
- if (!(_f in _d)) return [3 /*break*/, 45];
6683
- t = _f;
6684
6790
  _k.label = 42;
6685
6791
  case 42:
6686
- _k.trys.push([42, 44, , 45]);
6687
- return [4 /*yield*/, tests[t]()];
6792
+ if (!(_g < _e.length)) return [3 /*break*/, 47];
6793
+ _f = _e[_g];
6794
+ if (!(_f in _d)) return [3 /*break*/, 46];
6795
+ t = _f;
6796
+ _k.label = 43;
6688
6797
  case 43:
6689
- _k.sent();
6690
- return [3 /*break*/, 45];
6798
+ _k.trys.push([43, 45, , 46]);
6799
+ return [4 /*yield*/, tests[t]()];
6691
6800
  case 44:
6801
+ _k.sent();
6802
+ return [3 /*break*/, 46];
6803
+ case 45:
6692
6804
  err_2 = _k.sent();
6693
6805
  console.error("Error running test:");
6694
6806
  console.error(err_2);
6695
6807
  process.exit(1);
6696
- return [3 /*break*/, 45];
6697
- case 45:
6698
- _g++;
6699
- return [3 /*break*/, 41];
6808
+ return [3 /*break*/, 46];
6700
6809
  case 46:
6810
+ _g++;
6811
+ return [3 /*break*/, 42];
6812
+ case 47:
6701
6813
  process.exit();
6702
6814
  return [2 /*return*/];
6703
6815
  }