@tellescope/sdk 1.4.88 → 1.4.90

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.
@@ -1,5 +1,6 @@
1
1
  export declare const formUnsubmittedCancelConditionTest: () => Promise<void>;
2
2
  export declare const formsUnsubmittedCancelConditionTest: () => Promise<void>;
3
+ export declare const formsUnsubmittedTest: () => Promise<void>;
3
4
  export declare const meetings_tests: () => Promise<void>;
4
5
  export declare const managed_content_records_tests: () => Promise<void>;
5
6
  export declare const calendar_event_RSVPs_tests: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAw/DA,eAAO,MAAM,kCAAkC,qBA4I9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAsK/C,CAAA;AA6ID,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AA0eD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAoED,eAAO,MAAM,eAAe,qBA8C3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBAmJhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAw/DA,eAAO,MAAM,kCAAkC,qBA4I9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAsK/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAkHhC,CAAA;AA8ID,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AA0eD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAoED,eAAO,MAAM,eAAe,qBA8C3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBAmJhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA"}
@@ -82,7 +82,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
82
82
  return (mod && mod.__esModule) ? mod : { "default": mod };
83
83
  };
84
84
  Object.defineProperty(exports, "__esModule", { value: true });
85
- exports.role_based_access_permissions_tests = exports.self_serve_appointment_booking_tests = exports.filter_by_date_tests = exports.databases_tests = exports.calendar_event_RSVPs_tests = exports.managed_content_records_tests = exports.meetings_tests = exports.formsUnsubmittedCancelConditionTest = exports.formUnsubmittedCancelConditionTest = void 0;
85
+ exports.role_based_access_permissions_tests = exports.self_serve_appointment_booking_tests = exports.filter_by_date_tests = exports.databases_tests = exports.calendar_event_RSVPs_tests = exports.managed_content_records_tests = exports.meetings_tests = exports.formsUnsubmittedTest = exports.formsUnsubmittedCancelConditionTest = exports.formUnsubmittedCancelConditionTest = void 0;
86
86
  require('source-map-support').install();
87
87
  var crypto_1 = __importDefault(require("crypto"));
88
88
  var buffer = __importStar(require("buffer")); // only node >=15.7.0
@@ -2946,6 +2946,153 @@ var formsUnsubmittedCancelConditionTest = function () { return __awaiter(void 0,
2946
2946
  });
2947
2947
  }); };
2948
2948
  exports.formsUnsubmittedCancelConditionTest = formsUnsubmittedCancelConditionTest;
2949
+ // to ensure that unsubmitted branch can complete and then complete form still triggers next branch
2950
+ var formsUnsubmittedTest = function () { return __awaiter(void 0, void 0, void 0, function () {
2951
+ var enduser, journey, form, field, triggerStep, form_responses;
2952
+ return __generator(this, function (_a) {
2953
+ switch (_a.label) {
2954
+ case 0:
2955
+ (0, testing_1.log_header)("formsUnsubmitted Tests");
2956
+ return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'deletemeee@tellescope.com' })];
2957
+ case 1:
2958
+ enduser = _a.sent();
2959
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test journey ' })];
2960
+ case 2:
2961
+ journey = _a.sent();
2962
+ return [4 /*yield*/, sdk.api.forms.createOne({ title: 'test form' })];
2963
+ case 3:
2964
+ form = _a.sent();
2965
+ return [4 /*yield*/, sdk.api.form_fields.createOne({
2966
+ formId: form.id, title: 'question', type: 'string',
2967
+ previousFields: [{ type: 'root', info: {} }]
2968
+ })
2969
+ // this action won't be fired, because patient isn't added to journey as part of tests
2970
+ ];
2971
+ case 4:
2972
+ field = _a.sent();
2973
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
2974
+ journeyId: journey.id,
2975
+ events: [{ type: 'onJourneyStart', info: {} }],
2976
+ // in practice, this would send a form, so that the next step(s) could handle the response
2977
+ // but we don't want to send emails in testing, and can still attach this Id to a form response to test a trigger
2978
+ action: {
2979
+ type: 'setEnduserStatus',
2980
+ info: { status: 'start' },
2981
+ },
2982
+ })];
2983
+ case 5:
2984
+ triggerStep = _a.sent();
2985
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
2986
+ journeyId: journey.id,
2987
+ events: [{
2988
+ type: 'formsUnsubmitted',
2989
+ info: {
2990
+ automationStepId: triggerStep.id,
2991
+ delayInMS: 0,
2992
+ delay: 0, unit: 'Seconds',
2993
+ cancelConditions: [
2994
+ // { type: 'formResponse', info: { automationStepId: triggerStep.id }}
2995
+ ]
2996
+ }
2997
+ }],
2998
+ action: {
2999
+ type: 'setEnduserStatus',
3000
+ info: { status: 'triggered' },
3001
+ },
3002
+ })
3003
+ // test for all forms submitted triggering update
3004
+ ];
3005
+ case 6:
3006
+ _a.sent();
3007
+ // test for all forms submitted triggering update
3008
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
3009
+ journeyId: journey.id,
3010
+ events: [{
3011
+ type: 'formResponses',
3012
+ info: { automationStepId: triggerStep.id }
3013
+ }],
3014
+ action: {
3015
+ type: 'setEnduserStatus',
3016
+ info: { status: 'formsSubmitted' },
3017
+ },
3018
+ })
3019
+ // triggers formsUnsubmitted automated actions to be created when forms generated in templated message
3020
+ ];
3021
+ case 7:
3022
+ // test for all forms submitted triggering update
3023
+ _a.sent();
3024
+ // triggers formsUnsubmitted automated actions to be created when forms generated in templated message
3025
+ return [4 /*yield*/, sdk.api.templates.get_templated_message({
3026
+ channel: 'Email',
3027
+ enduserId: enduser.id,
3028
+ message: "{{forms.".concat(form.id, ".link:title}} {{forms.").concat(form.id, ".link:title}}"),
3029
+ userId: sdk.userInfo.id,
3030
+ automationStepId: triggerStep.id,
3031
+ })];
3032
+ case 8:
3033
+ // triggers formsUnsubmitted automated actions to be created when forms generated in templated message
3034
+ _a.sent();
3035
+ return [4 /*yield*/, sdk.api.form_responses.getSome()
3036
+ // allow fast followup to trigger
3037
+ ];
3038
+ case 9:
3039
+ form_responses = _a.sent();
3040
+ // allow fast followup to trigger
3041
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 2500)]; // allow background creation with generous pause
3042
+ case 10:
3043
+ // allow fast followup to trigger
3044
+ _a.sent(); // allow background creation with generous pause
3045
+ return [4 /*yield*/, (0, testing_1.async_test)("formsUnsubmitted handler worked", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a; return ((_a = e === null || e === void 0 ? void 0 : e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) === 'triggered'; } })
3046
+ // trigger cancel conditions
3047
+ ];
3048
+ case 11:
3049
+ _a.sent();
3050
+ // trigger cancel conditions
3051
+ return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: form_responses[0].accessCode, automationStepId: triggerStep.id, responses: [{
3052
+ answer: {
3053
+ type: 'string',
3054
+ value: 'answer'
3055
+ },
3056
+ fieldId: field.id,
3057
+ fieldTitle: field.title,
3058
+ }] })];
3059
+ case 12:
3060
+ // trigger cancel conditions
3061
+ _a.sent();
3062
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 2500)]; // allow background creation with generous pause
3063
+ case 13:
3064
+ _a.sent(); // allow background creation with generous pause
3065
+ return [4 /*yield*/, (0, testing_1.async_test)("formResponses not triggered yet after 1 form remaining", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a; return ((_a = e === null || e === void 0 ? void 0 : e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) !== 'formsSubmitted'; } })];
3066
+ case 14:
3067
+ _a.sent();
3068
+ return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: form_responses[1].accessCode, automationStepId: triggerStep.id, responses: [{
3069
+ answer: {
3070
+ type: 'string',
3071
+ value: 'answer'
3072
+ },
3073
+ fieldId: field.id,
3074
+ fieldTitle: field.title,
3075
+ }] })];
3076
+ case 15:
3077
+ _a.sent();
3078
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 2500)]; // allow background creation with generous pause
3079
+ case 16:
3080
+ _a.sent(); // allow background creation with generous pause
3081
+ return [4 /*yield*/, (0, testing_1.async_test)("formResponses triggered after both forms submitted", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a; return ((_a = e === null || e === void 0 ? void 0 : e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) === 'formsSubmitted'; } })];
3082
+ case 17:
3083
+ _a.sent();
3084
+ return [4 /*yield*/, Promise.all([
3085
+ sdk.api.forms.deleteOne(form.id),
3086
+ sdk.api.journeys.deleteOne(journey.id),
3087
+ sdk.api.endusers.deleteOne(enduser.id)
3088
+ ])];
3089
+ case 18:
3090
+ _a.sent();
3091
+ return [2 /*return*/];
3092
+ }
3093
+ });
3094
+ }); };
3095
+ exports.formsUnsubmittedTest = formsUnsubmittedTest;
2949
3096
  var addToJourneyTests = function () { return __awaiter(void 0, void 0, void 0, function () {
2950
3097
  var journey, enduser, root, follow;
2951
3098
  return __generator(this, function (_a) {
@@ -3015,26 +3162,29 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
3015
3162
  switch (_a.label) {
3016
3163
  case 0:
3017
3164
  (0, testing_1.log_header)("Automation Events");
3018
- return [4 /*yield*/, (0, exports.formsUnsubmittedCancelConditionTest)()];
3165
+ return [4 /*yield*/, (0, exports.formsUnsubmittedTest)()];
3019
3166
  case 1:
3020
3167
  _a.sent();
3021
- return [4 /*yield*/, (0, exports.formUnsubmittedCancelConditionTest)()];
3168
+ return [4 /*yield*/, (0, exports.formsUnsubmittedCancelConditionTest)()];
3022
3169
  case 2:
3023
3170
  _a.sent();
3024
- return [4 /*yield*/, addToJourneyTests()];
3171
+ return [4 /*yield*/, (0, exports.formUnsubmittedCancelConditionTest)()];
3025
3172
  case 3:
3026
3173
  _a.sent();
3027
- return [4 /*yield*/, sequenceTests()];
3174
+ return [4 /*yield*/, addToJourneyTests()];
3028
3175
  case 4:
3029
3176
  _a.sent();
3030
- return [4 /*yield*/, formEventTests()];
3177
+ return [4 /*yield*/, sequenceTests()];
3031
3178
  case 5:
3032
3179
  _a.sent();
3033
- return [4 /*yield*/, ticketEventTests()];
3180
+ return [4 /*yield*/, formEventTests()];
3034
3181
  case 6:
3035
3182
  _a.sent();
3036
- return [4 /*yield*/, removeFromJourneyTests()];
3183
+ return [4 /*yield*/, ticketEventTests()];
3037
3184
  case 7:
3185
+ _a.sent();
3186
+ return [4 /*yield*/, removeFromJourneyTests()];
3187
+ case 8:
3038
3188
  _a.sent();
3039
3189
  return [2 /*return*/];
3040
3190
  }