@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.
@@ -6003,7 +6003,7 @@ var nextReminderInMS_tests = function () { return __awaiter(void 0, void 0, void
6003
6003
  }
6004
6004
  });
6005
6005
  }); };
6006
- var pollForResults = function (f, intervalInMS, iterations) {
6006
+ var pollForResults = function (f, evaluate, intervalInMS, iterations) {
6007
6007
  if (intervalInMS === void 0) { intervalInMS = 500; }
6008
6008
  if (iterations === void 0) { iterations = 20; }
6009
6009
  return __awaiter(void 0, void 0, void 0, function () {
@@ -6021,7 +6021,7 @@ var pollForResults = function (f, intervalInMS, iterations) {
6021
6021
  return [4 /*yield*/, f()];
6022
6022
  case 3:
6023
6023
  result = _a.sent();
6024
- if (result.length)
6024
+ if (evaluate(result))
6025
6025
  return [2 /*return*/, result];
6026
6026
  _a.label = 4;
6027
6027
  case 4:
@@ -6129,7 +6129,7 @@ var test_ticket_automation_assignment_and_optimization = function () { return __
6129
6129
  case 9:
6130
6130
  _d.sent();
6131
6131
  if (!testDelayedChild) return [3 /*break*/, 11];
6132
- return [4 /*yield*/, 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; } })];
6132
+ return [4 /*yield*/, 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; } })];
6133
6133
  case 10:
6134
6134
  _d.sent();
6135
6135
  _d.label = 11;
@@ -6266,7 +6266,7 @@ var test_ticket_automation_assignment_and_optimization = function () { return __
6266
6266
  })];
6267
6267
  case 3:
6268
6268
  _c.sent();
6269
- return [4 /*yield*/, 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); } })];
6269
+ return [4 /*yield*/, 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); } })];
6270
6270
  case 4:
6271
6271
  _c.sent();
6272
6272
  return [4 /*yield*/, sdk.api.endusers.deleteOne(e.id)];
@@ -6377,6 +6377,115 @@ var test_ticket_automation_assignment_and_optimization = function () { return __
6377
6377
  }
6378
6378
  });
6379
6379
  }); };
6380
+ var field_equals_trigger_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
6381
+ var journey, step, existsTriggerTags, existsTriggerAddToJourney, equalsTriggerTags, equalsTriggerAddToJourney, conditionalTriggerTags, conditionalTriggerAddToJourney, endusers;
6382
+ return __generator(this, function (_a) {
6383
+ switch (_a.label) {
6384
+ case 0:
6385
+ log_header("Field Equals / Trigger Tests");
6386
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test' })];
6387
+ case 1:
6388
+ journey = _a.sent();
6389
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
6390
+ journeyId: journey.id,
6391
+ events: [{
6392
+ type: 'onJourneyStart',
6393
+ info: {}
6394
+ }],
6395
+ action: {
6396
+ type: 'addEnduserTags',
6397
+ info: { tags: ['Journey Tag'] }
6398
+ },
6399
+ })];
6400
+ case 2:
6401
+ step = _a.sent();
6402
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6403
+ event: { type: 'Field Equals', info: { field: 'fname', value: "$exists" } },
6404
+ action: { type: 'Add Tags', info: { tags: ["Tag"] } },
6405
+ status: "Active",
6406
+ title: 'existsTriggerTags',
6407
+ })];
6408
+ case 3:
6409
+ existsTriggerTags = _a.sent();
6410
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6411
+ event: { type: 'Field Equals', info: { field: 'fname', value: "$exists" } },
6412
+ action: { type: 'Add To Journey', info: { journeyId: journey.id } },
6413
+ status: "Active",
6414
+ title: 'existsTriggerAddToJourney',
6415
+ })];
6416
+ case 4:
6417
+ existsTriggerAddToJourney = _a.sent();
6418
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6419
+ event: { type: 'Field Equals', info: { field: 'lname', value: "Explicit" } },
6420
+ action: { type: 'Add Tags', info: { tags: ["Tag"] } },
6421
+ status: "Active",
6422
+ title: 'equalsTriggerTags',
6423
+ })];
6424
+ case 5:
6425
+ equalsTriggerTags = _a.sent();
6426
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6427
+ event: { type: 'Field Equals', info: { field: 'lname', value: "Explicit" } },
6428
+ action: { type: 'Add To Journey', info: { journeyId: journey.id } },
6429
+ enduserCondition: { $and: [{ condition: { lname: 'Explicit' } }] },
6430
+ status: "Active",
6431
+ title: 'equalsTriggerAddToJourney',
6432
+ })];
6433
+ case 6:
6434
+ equalsTriggerAddToJourney = _a.sent();
6435
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6436
+ event: { type: 'Field Equals', info: { field: 'mname', value: "$exists" } },
6437
+ action: { type: 'Add Tags', info: { tags: ["Tag"] } },
6438
+ status: "Active",
6439
+ enduserCondition: { $and: [{ condition: { lname: 'Conditional' } }] },
6440
+ title: 'conditionalTriggerTags',
6441
+ })];
6442
+ case 7:
6443
+ conditionalTriggerTags = _a.sent();
6444
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
6445
+ event: { type: 'Field Equals', info: { field: 'mname', value: "$exists" } },
6446
+ action: { type: 'Add To Journey', info: { journeyId: journey.id } },
6447
+ enduserCondition: { $and: [{ condition: { lname: 'Conditional' } }] },
6448
+ status: "Active",
6449
+ title: 'conditionalTriggerAddToJourney',
6450
+ })
6451
+ // names are capitalized automatically, so make sure that is reflected in conditions
6452
+ ];
6453
+ case 8:
6454
+ conditionalTriggerAddToJourney = _a.sent();
6455
+ return [4 /*yield*/, sdk.api.endusers.createSome([
6456
+ { fname: 'Test' },
6457
+ { fname: 'Test' },
6458
+ { lname: 'Test' },
6459
+ { lname: 'Explicit' },
6460
+ { mname: 'Test' },
6461
+ { mname: 'Test' },
6462
+ { mname: 'Test', lname: 'Nonconditional' },
6463
+ { mname: 'Test', lname: 'Conditional' },
6464
+ ])];
6465
+ case 9:
6466
+ endusers = (_a.sent()).created;
6467
+ return [4 /*yield*/, 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)];
6468
+ case 10:
6469
+ _a.sent();
6470
+ return [4 /*yield*/, 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)];
6471
+ case 11:
6472
+ _a.sent();
6473
+ return [4 /*yield*/, 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; } })];
6474
+ case 12:
6475
+ _a.sent();
6476
+ return [4 /*yield*/, Promise.all(__spreadArray([
6477
+ sdk.api.journeys.deleteOne(journey.id),
6478
+ sdk.api.automation_triggers.deleteOne(existsTriggerTags.id),
6479
+ sdk.api.automation_triggers.deleteOne(existsTriggerAddToJourney.id),
6480
+ sdk.api.automation_triggers.deleteOne(equalsTriggerAddToJourney.id),
6481
+ sdk.api.automation_triggers.deleteOne(equalsTriggerTags.id),
6482
+ sdk.api.automation_triggers.deleteOne(conditionalTriggerTags.id),
6483
+ sdk.api.automation_triggers.deleteOne(conditionalTriggerAddToJourney.id)
6484
+ ], endusers.map(function (e) { return sdk.api.endusers.deleteOne(e.id); }), true))];
6485
+ case 13: return [2 /*return*/, _a.sent()];
6486
+ }
6487
+ });
6488
+ }); };
6380
6489
  var NO_TEST = function () { };
6381
6490
  var tests = {
6382
6491
  phone_trees: NO_TEST,
@@ -6480,7 +6589,7 @@ var validate_schema = function () {
6480
6589
  _k.sent();
6481
6590
  _k.label = 2;
6482
6591
  case 2:
6483
- _k.trys.push([2, 35, , 36]);
6592
+ _k.trys.push([2, 36, , 37]);
6484
6593
  return [4 /*yield*/, validate_schema()];
6485
6594
  case 3:
6486
6595
  _k.sent();
@@ -6514,83 +6623,86 @@ var validate_schema = function () {
6514
6623
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6515
6624
  case 9:
6516
6625
  _k.sent(); // should come right after setup tests
6517
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
6626
+ return [4 /*yield*/, field_equals_trigger_tests()];
6518
6627
  case 10:
6519
6628
  _k.sent();
6520
- return [4 /*yield*/, role_based_access_tests()];
6629
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
6521
6630
  case 11:
6522
6631
  _k.sent();
6523
- return [4 /*yield*/, automation_trigger_tests()];
6632
+ return [4 /*yield*/, role_based_access_tests()];
6524
6633
  case 12:
6525
6634
  _k.sent();
6526
- return [4 /*yield*/, enduser_session_tests()];
6635
+ return [4 /*yield*/, automation_trigger_tests()];
6527
6636
  case 13:
6528
6637
  _k.sent();
6529
- return [4 /*yield*/, nextReminderInMS_tests()];
6638
+ return [4 /*yield*/, enduser_session_tests()];
6530
6639
  case 14:
6531
6640
  _k.sent();
6532
- return [4 /*yield*/, search_tests()];
6641
+ return [4 /*yield*/, nextReminderInMS_tests()];
6533
6642
  case 15:
6534
6643
  _k.sent();
6535
- return [4 /*yield*/, wait_for_trigger_tests()];
6644
+ return [4 /*yield*/, search_tests()];
6536
6645
  case 16:
6537
6646
  _k.sent();
6538
- return [4 /*yield*/, pdf_generation()];
6647
+ return [4 /*yield*/, wait_for_trigger_tests()];
6539
6648
  case 17:
6540
6649
  _k.sent();
6541
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6650
+ return [4 /*yield*/, pdf_generation()];
6542
6651
  case 18:
6543
6652
  _k.sent();
6544
- return [4 /*yield*/, rate_limit_tests()];
6653
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6545
6654
  case 19:
6546
6655
  _k.sent();
6547
- return [4 /*yield*/, merge_enduser_tests()];
6656
+ return [4 /*yield*/, rate_limit_tests()];
6548
6657
  case 20:
6549
6658
  _k.sent();
6550
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
6659
+ return [4 /*yield*/, merge_enduser_tests()];
6551
6660
  case 21:
6552
6661
  _k.sent();
6553
- return [4 /*yield*/, auto_reply_tests()];
6662
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
6554
6663
  case 22:
6555
6664
  _k.sent();
6556
- return [4 /*yield*/, sub_organization_enduser_tests()];
6665
+ return [4 /*yield*/, auto_reply_tests()];
6557
6666
  case 23:
6558
6667
  _k.sent();
6559
- return [4 /*yield*/, sub_organization_tests()];
6668
+ return [4 /*yield*/, sub_organization_enduser_tests()];
6560
6669
  case 24:
6561
6670
  _k.sent();
6562
- return [4 /*yield*/, filter_by_date_tests()];
6671
+ return [4 /*yield*/, sub_organization_tests()];
6563
6672
  case 25:
6564
6673
  _k.sent();
6565
- return [4 /*yield*/, generate_user_auth_tests()];
6674
+ return [4 /*yield*/, filter_by_date_tests()];
6566
6675
  case 26:
6567
6676
  _k.sent();
6568
- return [4 /*yield*/, generateEnduserAuthTests()];
6677
+ return [4 /*yield*/, generate_user_auth_tests()];
6569
6678
  case 27:
6570
6679
  _k.sent();
6571
- return [4 /*yield*/, public_form_tests()];
6680
+ return [4 /*yield*/, generateEnduserAuthTests()];
6572
6681
  case 28:
6573
6682
  _k.sent();
6574
- return [4 /*yield*/, badInputTests()];
6683
+ return [4 /*yield*/, public_form_tests()];
6575
6684
  case 29:
6576
6685
  _k.sent();
6577
- return [4 /*yield*/, filterTests()];
6686
+ return [4 /*yield*/, badInputTests()];
6578
6687
  case 30:
6579
6688
  _k.sent();
6580
- return [4 /*yield*/, updatesTests()];
6689
+ return [4 /*yield*/, filterTests()];
6581
6690
  case 31:
6582
6691
  _k.sent();
6583
- return [4 /*yield*/, threadKeyTests()];
6692
+ return [4 /*yield*/, updatesTests()];
6584
6693
  case 32:
6585
6694
  _k.sent();
6586
- return [4 /*yield*/, enduserAccessTests()];
6695
+ return [4 /*yield*/, threadKeyTests()];
6587
6696
  case 33:
6588
6697
  _k.sent();
6589
- return [4 /*yield*/, enduser_redaction_tests()];
6698
+ return [4 /*yield*/, enduserAccessTests()];
6590
6699
  case 34:
6591
6700
  _k.sent();
6592
- return [3 /*break*/, 36];
6701
+ return [4 /*yield*/, enduser_redaction_tests()];
6593
6702
  case 35:
6703
+ _k.sent();
6704
+ return [3 /*break*/, 37];
6705
+ case 36:
6594
6706
  err_1 = _k.sent();
6595
6707
  console.error("Failed during custom test");
6596
6708
  if (err_1.message && err_1.info) {
@@ -6600,18 +6712,18 @@ var validate_schema = function () {
6600
6712
  console.error(err_1);
6601
6713
  }
6602
6714
  process.exit(1);
6603
- return [3 /*break*/, 36];
6604
- case 36:
6715
+ return [3 /*break*/, 37];
6716
+ case 37:
6605
6717
  _a = schema;
6606
6718
  _b = [];
6607
6719
  for (_c in _a)
6608
6720
  _b.push(_c);
6609
6721
  _i = 0;
6610
- _k.label = 37;
6611
- case 37:
6612
- if (!(_i < _b.length)) return [3 /*break*/, 40];
6722
+ _k.label = 38;
6723
+ case 38:
6724
+ if (!(_i < _b.length)) return [3 /*break*/, 41];
6613
6725
  _c = _b[_i];
6614
- if (!(_c in _a)) return [3 /*break*/, 39];
6726
+ if (!(_c in _a)) return [3 /*break*/, 40];
6615
6727
  n = _c;
6616
6728
  returnValidation = (_j = (_h = schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
6617
6729
  return [4 /*yield*/, run_generated_tests({
@@ -6622,41 +6734,41 @@ var validate_schema = function () {
6622
6734
  create: returnValidation // ModelFields<ClientModel>,
6623
6735
  }
6624
6736
  })];
6625
- case 38:
6626
- _k.sent();
6627
- _k.label = 39;
6628
6737
  case 39:
6629
- _i++;
6630
- return [3 /*break*/, 37];
6738
+ _k.sent();
6739
+ _k.label = 40;
6631
6740
  case 40:
6741
+ _i++;
6742
+ return [3 /*break*/, 38];
6743
+ case 41:
6632
6744
  _d = tests;
6633
6745
  _e = [];
6634
6746
  for (_f in _d)
6635
6747
  _e.push(_f);
6636
6748
  _g = 0;
6637
- _k.label = 41;
6638
- case 41:
6639
- if (!(_g < _e.length)) return [3 /*break*/, 46];
6640
- _f = _e[_g];
6641
- if (!(_f in _d)) return [3 /*break*/, 45];
6642
- t = _f;
6643
6749
  _k.label = 42;
6644
6750
  case 42:
6645
- _k.trys.push([42, 44, , 45]);
6646
- return [4 /*yield*/, tests[t]()];
6751
+ if (!(_g < _e.length)) return [3 /*break*/, 47];
6752
+ _f = _e[_g];
6753
+ if (!(_f in _d)) return [3 /*break*/, 46];
6754
+ t = _f;
6755
+ _k.label = 43;
6647
6756
  case 43:
6648
- _k.sent();
6649
- return [3 /*break*/, 45];
6757
+ _k.trys.push([43, 45, , 46]);
6758
+ return [4 /*yield*/, tests[t]()];
6650
6759
  case 44:
6760
+ _k.sent();
6761
+ return [3 /*break*/, 46];
6762
+ case 45:
6651
6763
  err_2 = _k.sent();
6652
6764
  console.error("Error running test:");
6653
6765
  console.error(err_2);
6654
6766
  process.exit(1);
6655
- return [3 /*break*/, 45];
6656
- case 45:
6657
- _g++;
6658
- return [3 /*break*/, 41];
6767
+ return [3 /*break*/, 46];
6659
6768
  case 46:
6769
+ _g++;
6770
+ return [3 /*break*/, 42];
6771
+ case 47:
6660
6772
  process.exit();
6661
6773
  return [2 /*return*/];
6662
6774
  }