@tellescope/sdk 1.6.1 → 1.7.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.
@@ -3268,7 +3268,7 @@ var addToJourneyTests = function () { return __awaiter(void 0, void 0, void 0, f
3268
3268
  return [4 /*yield*/, wait(undefined, 250)];
3269
3269
  case 6:
3270
3270
  _a.sent();
3271
- return [4 /*yield*/, async_test("Journey state correctly set by add_to_journey (to default state)", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a; return ((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) === 'New'; } })];
3271
+ return [4 /*yield*/, async_test("Journey state correctly set by add_to_journey (to default state)", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a; return ((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) === ''; } })];
3272
3272
  case 7:
3273
3273
  _a.sent();
3274
3274
  return [4 /*yield*/, wait(undefined, 4000)]; // allow onJourneyStart step to trigger
@@ -3384,6 +3384,128 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
3384
3384
  }
3385
3385
  });
3386
3386
  }); };
3387
+ var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, void 0, function () {
3388
+ var enduser, journey1, journey2, journey3, form, field, active, dupActive, inactive, accessCode;
3389
+ return __generator(this, function (_a) {
3390
+ switch (_a.label) {
3391
+ case 0:
3392
+ log_header("Automation Trigger: Form Response --> Add To Journey");
3393
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'test' })];
3394
+ case 1:
3395
+ enduser = _a.sent();
3396
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'journey' })];
3397
+ case 2:
3398
+ journey1 = _a.sent();
3399
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'journey2' })];
3400
+ case 3:
3401
+ journey2 = _a.sent();
3402
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'journey3' })];
3403
+ case 4:
3404
+ journey3 = _a.sent();
3405
+ return [4 /*yield*/, sdk.api.forms.createOne({ title: 'form' })];
3406
+ case 5:
3407
+ form = _a.sent();
3408
+ return [4 /*yield*/, sdk.api.form_fields.createOne({
3409
+ formId: form.id,
3410
+ type: 'string',
3411
+ title: 'Test',
3412
+ previousFields: [
3413
+ {
3414
+ type: 'root',
3415
+ info: {},
3416
+ }
3417
+ ],
3418
+ })];
3419
+ case 6:
3420
+ field = _a.sent();
3421
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3422
+ event: { type: 'Form Submitted', info: { formId: form.id } },
3423
+ action: { type: 'Add To Journey', info: { journeyId: journey1.id } },
3424
+ status: 'Active',
3425
+ title: "Active"
3426
+ })];
3427
+ case 7:
3428
+ active = _a.sent();
3429
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3430
+ event: { type: 'Form Submitted', info: { formId: form.id } },
3431
+ action: { type: 'Add To Journey', info: { journeyId: journey2.id } },
3432
+ status: 'Active',
3433
+ title: "Dup Active"
3434
+ })];
3435
+ case 8:
3436
+ dupActive = _a.sent();
3437
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
3438
+ event: { type: 'Form Submitted', info: { formId: form.id } },
3439
+ action: { type: 'Add To Journey', info: { journeyId: journey3.id } },
3440
+ status: 'Inactive',
3441
+ title: "Inactive"
3442
+ })];
3443
+ case 9:
3444
+ inactive = _a.sent();
3445
+ return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({
3446
+ enduserId: enduser.id,
3447
+ formId: form.id,
3448
+ })];
3449
+ case 10:
3450
+ accessCode = (_a.sent()).accessCode;
3451
+ return [4 /*yield*/, sdk.api.form_responses.submit_form_response({
3452
+ accessCode: accessCode,
3453
+ responses: [
3454
+ {
3455
+ fieldId: field.id,
3456
+ fieldTitle: field.title,
3457
+ answer: {
3458
+ type: 'string',
3459
+ value: 'trigger 2',
3460
+ },
3461
+ },
3462
+ ],
3463
+ })
3464
+ // allow triggers to happen
3465
+ ];
3466
+ case 11:
3467
+ _a.sent();
3468
+ // allow triggers to happen
3469
+ return [4 /*yield*/, wait(undefined, 1000)];
3470
+ case 12:
3471
+ // allow triggers to happen
3472
+ _a.sent();
3473
+ return [4 /*yield*/, async_test("Automated triggers work", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) {
3474
+ var _a, _b, _c;
3475
+ return !!(((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[journey1.id]) === ''
3476
+ && ((_b = e.journeys) === null || _b === void 0 ? void 0 : _b[journey2.id]) === ''
3477
+ && ((_c = e.journeys) === null || _c === void 0 ? void 0 : _c[journey3.id]) === undefined);
3478
+ } })];
3479
+ case 13:
3480
+ _a.sent();
3481
+ return [4 /*yield*/, Promise.all([
3482
+ sdk.api.journeys.deleteOne(journey1.id),
3483
+ sdk.api.journeys.deleteOne(journey2.id),
3484
+ sdk.api.journeys.deleteOne(journey3.id),
3485
+ sdk.api.endusers.deleteOne(enduser.id),
3486
+ sdk.api.forms.deleteOne(form.id),
3487
+ sdk.api.automation_triggers.deleteOne(active.id),
3488
+ sdk.api.automation_triggers.deleteOne(dupActive.id),
3489
+ sdk.api.automation_triggers.deleteOne(inactive.id),
3490
+ ])];
3491
+ case 14:
3492
+ _a.sent();
3493
+ return [2 /*return*/];
3494
+ }
3495
+ });
3496
+ }); };
3497
+ var automation_trigger_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
3498
+ return __generator(this, function (_a) {
3499
+ switch (_a.label) {
3500
+ case 0:
3501
+ log_header("Automation Trigger Tests");
3502
+ return [4 /*yield*/, formSubmittedTriggerTests()];
3503
+ case 1:
3504
+ _a.sent();
3505
+ return [2 /*return*/];
3506
+ }
3507
+ });
3508
+ }); };
3387
3509
  var form_response_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
3388
3510
  var stringResponse, stringIntakeField, stringTitle, enduser, form, field, field2, accessCode, enduserWithUpdate, recordedResponse;
3389
3511
  var _a, _b, _c;
@@ -4790,6 +4912,7 @@ var auto_reply_tests = function () { return __awaiter(void 0, void 0, void 0, fu
4790
4912
  }); };
4791
4913
  var NO_TEST = function () { };
4792
4914
  var tests = {
4915
+ automation_triggers: NO_TEST,
4793
4916
  automation_steps: automation_events_tests,
4794
4917
  background_errors: NO_TEST,
4795
4918
  enduser_views: NO_TEST,
@@ -4853,7 +4976,7 @@ var tests = {
4853
4976
  log_header("API");
4854
4977
  _k.label = 1;
4855
4978
  case 1:
4856
- _k.trys.push([1, 22, , 23]);
4979
+ _k.trys.push([1, 23, , 24]);
4857
4980
  return [4 /*yield*/, Promise.all([
4858
4981
  sdk.authenticate(email, password),
4859
4982
  sdkSub.authenticate(subUserEmail, password),
@@ -4869,59 +4992,62 @@ var tests = {
4869
4992
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
4870
4993
  case 4:
4871
4994
  _k.sent(); // should come right after setup tests
4872
- return [4 /*yield*/, sub_organization_enduser_tests()];
4995
+ return [4 /*yield*/, automation_trigger_tests()];
4873
4996
  case 5:
4874
4997
  _k.sent();
4875
- return [4 /*yield*/, auto_reply_tests()];
4998
+ return [4 /*yield*/, sub_organization_enduser_tests()];
4876
4999
  case 6:
4877
5000
  _k.sent();
4878
- return [4 /*yield*/, sub_organization_tests()];
5001
+ return [4 /*yield*/, auto_reply_tests()];
4879
5002
  case 7:
4880
5003
  _k.sent();
4881
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
5004
+ return [4 /*yield*/, sub_organization_tests()];
4882
5005
  case 8:
4883
5006
  _k.sent();
4884
- return [4 /*yield*/, filter_by_date_tests()];
5007
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
4885
5008
  case 9:
4886
5009
  _k.sent();
4887
- return [4 /*yield*/, generate_user_auth_tests()];
5010
+ return [4 /*yield*/, filter_by_date_tests()];
4888
5011
  case 10:
4889
5012
  _k.sent();
4890
- return [4 /*yield*/, role_based_access_tests()];
5013
+ return [4 /*yield*/, generate_user_auth_tests()];
4891
5014
  case 11:
4892
5015
  _k.sent();
4893
- return [4 /*yield*/, generateEnduserAuthTests()];
5016
+ return [4 /*yield*/, role_based_access_tests()];
4894
5017
  case 12:
4895
5018
  _k.sent();
4896
- return [4 /*yield*/, public_form_tests()];
5019
+ return [4 /*yield*/, generateEnduserAuthTests()];
4897
5020
  case 13:
4898
5021
  _k.sent();
4899
- return [4 /*yield*/, search_tests()];
5022
+ return [4 /*yield*/, public_form_tests()];
4900
5023
  case 14:
4901
5024
  _k.sent();
4902
- return [4 /*yield*/, badInputTests()];
5025
+ return [4 /*yield*/, search_tests()];
4903
5026
  case 15:
4904
5027
  _k.sent();
4905
- return [4 /*yield*/, filterTests()];
5028
+ return [4 /*yield*/, badInputTests()];
4906
5029
  case 16:
4907
5030
  _k.sent();
4908
- return [4 /*yield*/, updatesTests()];
5031
+ return [4 /*yield*/, filterTests()];
4909
5032
  case 17:
4910
5033
  _k.sent();
4911
- return [4 /*yield*/, threadKeyTests()];
5034
+ return [4 /*yield*/, updatesTests()];
4912
5035
  case 18:
4913
5036
  _k.sent();
4914
- return [4 /*yield*/, enduserAccessTests()];
5037
+ return [4 /*yield*/, threadKeyTests()];
4915
5038
  case 19:
4916
5039
  _k.sent();
4917
- return [4 /*yield*/, enduser_session_tests()];
5040
+ return [4 /*yield*/, enduserAccessTests()];
4918
5041
  case 20:
4919
5042
  _k.sent();
4920
- return [4 /*yield*/, enduser_redaction_tests()];
5043
+ return [4 /*yield*/, enduser_session_tests()];
4921
5044
  case 21:
4922
5045
  _k.sent();
4923
- return [3 /*break*/, 23];
5046
+ return [4 /*yield*/, enduser_redaction_tests()];
4924
5047
  case 22:
5048
+ _k.sent();
5049
+ return [3 /*break*/, 24];
5050
+ case 23:
4925
5051
  err_1 = _k.sent();
4926
5052
  console.error("Failed during custom test");
4927
5053
  if (err_1.message && err_1.info) {
@@ -4931,18 +5057,18 @@ var tests = {
4931
5057
  console.error(err_1);
4932
5058
  }
4933
5059
  process.exit(1);
4934
- return [3 /*break*/, 23];
4935
- case 23:
5060
+ return [3 /*break*/, 24];
5061
+ case 24:
4936
5062
  _a = schema;
4937
5063
  _b = [];
4938
5064
  for (_c in _a)
4939
5065
  _b.push(_c);
4940
5066
  _i = 0;
4941
- _k.label = 24;
4942
- case 24:
4943
- if (!(_i < _b.length)) return [3 /*break*/, 27];
5067
+ _k.label = 25;
5068
+ case 25:
5069
+ if (!(_i < _b.length)) return [3 /*break*/, 28];
4944
5070
  _c = _b[_i];
4945
- if (!(_c in _a)) return [3 /*break*/, 26];
5071
+ if (!(_c in _a)) return [3 /*break*/, 27];
4946
5072
  n = _c;
4947
5073
  returnValidation = (_j = (_h = schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
4948
5074
  return [4 /*yield*/, run_generated_tests({
@@ -4953,41 +5079,41 @@ var tests = {
4953
5079
  create: returnValidation // ModelFields<ClientModel>,
4954
5080
  }
4955
5081
  })];
4956
- case 25:
4957
- _k.sent();
4958
- _k.label = 26;
4959
5082
  case 26:
4960
- _i++;
4961
- return [3 /*break*/, 24];
5083
+ _k.sent();
5084
+ _k.label = 27;
4962
5085
  case 27:
5086
+ _i++;
5087
+ return [3 /*break*/, 25];
5088
+ case 28:
4963
5089
  _d = tests;
4964
5090
  _e = [];
4965
5091
  for (_f in _d)
4966
5092
  _e.push(_f);
4967
5093
  _g = 0;
4968
- _k.label = 28;
4969
- case 28:
4970
- if (!(_g < _e.length)) return [3 /*break*/, 33];
4971
- _f = _e[_g];
4972
- if (!(_f in _d)) return [3 /*break*/, 32];
4973
- t = _f;
4974
5094
  _k.label = 29;
4975
5095
  case 29:
4976
- _k.trys.push([29, 31, , 32]);
4977
- return [4 /*yield*/, tests[t]()];
5096
+ if (!(_g < _e.length)) return [3 /*break*/, 34];
5097
+ _f = _e[_g];
5098
+ if (!(_f in _d)) return [3 /*break*/, 33];
5099
+ t = _f;
5100
+ _k.label = 30;
4978
5101
  case 30:
4979
- _k.sent();
4980
- return [3 /*break*/, 32];
5102
+ _k.trys.push([30, 32, , 33]);
5103
+ return [4 /*yield*/, tests[t]()];
4981
5104
  case 31:
5105
+ _k.sent();
5106
+ return [3 /*break*/, 33];
5107
+ case 32:
4982
5108
  err_2 = _k.sent();
4983
5109
  console.error("Error running test:");
4984
5110
  console.error(err_2);
4985
5111
  process.exit(1);
4986
- return [3 /*break*/, 32];
4987
- case 32:
4988
- _g++;
4989
- return [3 /*break*/, 28];
5112
+ return [3 /*break*/, 33];
4990
5113
  case 33:
5114
+ _g++;
5115
+ return [3 /*break*/, 29];
5116
+ case 34:
4991
5117
  process.exit();
4992
5118
  return [2 /*return*/];
4993
5119
  }