@tellescope/sdk 1.4.89 → 1.4.92

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.
package/lib/cjs/sdk.d.ts CHANGED
@@ -1415,6 +1415,7 @@ export declare class Session extends SessionManager {
1415
1415
  iat: number;
1416
1416
  exp: number;
1417
1417
  allowedPaths?: string[] | undefined;
1418
+ users?: number | undefined;
1418
1419
  analytics_frames?: number | undefined;
1419
1420
  endusers?: number | undefined;
1420
1421
  engagement_events?: number | undefined;
@@ -1425,7 +1426,6 @@ export declare class Session extends SessionManager {
1425
1426
  sms_messages?: number | undefined;
1426
1427
  chat_rooms?: number | undefined;
1427
1428
  chats?: number | undefined;
1428
- users?: number | undefined;
1429
1429
  templates?: number | undefined;
1430
1430
  files?: number | undefined;
1431
1431
  tickets?: number | undefined;
@@ -1505,6 +1505,7 @@ export declare class Session extends SessionManager {
1505
1505
  iat: number;
1506
1506
  exp: number;
1507
1507
  allowedPaths?: string[] | undefined;
1508
+ users?: number | undefined;
1508
1509
  analytics_frames?: number | undefined;
1509
1510
  endusers?: number | undefined;
1510
1511
  engagement_events?: number | undefined;
@@ -1515,7 +1516,6 @@ export declare class Session extends SessionManager {
1515
1516
  sms_messages?: number | undefined;
1516
1517
  chat_rooms?: number | undefined;
1517
1518
  chats?: number | undefined;
1518
- users?: number | undefined;
1519
1519
  templates?: number | undefined;
1520
1520
  files?: number | undefined;
1521
1521
  tickets?: number | undefined;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Socket } from 'socket.io-client';
3
2
  import { ReactNativeFile, S3PresignedPost } from "@tellescope/types-utilities";
4
3
  import { ClientModelForName, User } from "@tellescope/types-client";
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export declare const formUnsubmittedCancelConditionTest: () => Promise<void>;
2
2
  export declare const formsUnsubmittedCancelConditionTest: () => Promise<void>;
3
+ export declare const formsUnsubmittedTest: () => Promise<void>;
4
+ export declare const automationSameJourneyTests: () => Promise<void>;
3
5
  export declare const meetings_tests: () => Promise<void>;
4
6
  export declare const managed_content_records_tests: () => Promise<void>;
5
7
  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;AAGD,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AA+ID,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.automationSameJourneyTests = 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,201 @@ 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;
3096
+ // ensure child steps come from the same journey
3097
+ var automationSameJourneyTests = function () { return __awaiter(void 0, void 0, void 0, function () {
3098
+ var journey, journey2, badRoot;
3099
+ return __generator(this, function (_a) {
3100
+ switch (_a.label) {
3101
+ case 0:
3102
+ (0, testing_1.log_header)("automationSameJourney");
3103
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test journey' })];
3104
+ case 1:
3105
+ journey = _a.sent();
3106
+ return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test other journey' })
3107
+ // this action won't be fired, because patient isn't added to journey as part of tests
3108
+ ];
3109
+ case 2:
3110
+ journey2 = _a.sent();
3111
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
3112
+ journeyId: journey.id,
3113
+ events: [{ type: 'onJourneyStart', info: {} }],
3114
+ // in practice, this would send a form, so that the next step(s) could handle the response
3115
+ // but we don't want to send emails in testing, and can still attach this Id to a form response to test a trigger
3116
+ action: {
3117
+ type: 'setEnduserStatus',
3118
+ info: { status: 'start' },
3119
+ },
3120
+ })];
3121
+ case 3:
3122
+ badRoot = _a.sent();
3123
+ return [4 /*yield*/, (0, testing_1.async_test)("can't create child of other journey", function () { return (sdk.api.automation_steps.createOne({
3124
+ journeyId: journey2.id,
3125
+ events: [{
3126
+ type: 'afterAction',
3127
+ info: { automationStepId: badRoot.id, delay: 0, delayInMS: 0, unit: 'Days' }
3128
+ }],
3129
+ action: { type: 'setEnduserStatus', info: { status: 'irrelevant' } },
3130
+ })); }, handleAnyError)];
3131
+ case 4:
3132
+ _a.sent();
3133
+ return [4 /*yield*/, Promise.all([
3134
+ sdk.api.journeys.deleteOne(journey.id),
3135
+ sdk.api.journeys.deleteOne(journey2.id)
3136
+ ])];
3137
+ case 5:
3138
+ _a.sent();
3139
+ return [2 /*return*/];
3140
+ }
3141
+ });
3142
+ }); };
3143
+ exports.automationSameJourneyTests = automationSameJourneyTests;
2949
3144
  var addToJourneyTests = function () { return __awaiter(void 0, void 0, void 0, function () {
2950
3145
  var journey, enduser, root, follow;
2951
3146
  return __generator(this, function (_a) {
@@ -3015,26 +3210,32 @@ var automation_events_tests = function () { return __awaiter(void 0, void 0, voi
3015
3210
  switch (_a.label) {
3016
3211
  case 0:
3017
3212
  (0, testing_1.log_header)("Automation Events");
3018
- return [4 /*yield*/, (0, exports.formsUnsubmittedCancelConditionTest)()];
3213
+ return [4 /*yield*/, (0, exports.automationSameJourneyTests)()];
3019
3214
  case 1:
3020
3215
  _a.sent();
3021
- return [4 /*yield*/, (0, exports.formUnsubmittedCancelConditionTest)()];
3216
+ return [4 /*yield*/, (0, exports.formsUnsubmittedTest)()];
3022
3217
  case 2:
3023
3218
  _a.sent();
3024
- return [4 /*yield*/, addToJourneyTests()];
3219
+ return [4 /*yield*/, (0, exports.formsUnsubmittedCancelConditionTest)()];
3025
3220
  case 3:
3026
3221
  _a.sent();
3027
- return [4 /*yield*/, sequenceTests()];
3222
+ return [4 /*yield*/, (0, exports.formUnsubmittedCancelConditionTest)()];
3028
3223
  case 4:
3029
3224
  _a.sent();
3030
- return [4 /*yield*/, formEventTests()];
3225
+ return [4 /*yield*/, addToJourneyTests()];
3031
3226
  case 5:
3032
3227
  _a.sent();
3033
- return [4 /*yield*/, ticketEventTests()];
3228
+ return [4 /*yield*/, sequenceTests()];
3034
3229
  case 6:
3035
3230
  _a.sent();
3036
- return [4 /*yield*/, removeFromJourneyTests()];
3231
+ return [4 /*yield*/, formEventTests()];
3037
3232
  case 7:
3233
+ _a.sent();
3234
+ return [4 /*yield*/, ticketEventTests()];
3235
+ case 8:
3236
+ _a.sent();
3237
+ return [4 /*yield*/, removeFromJourneyTests()];
3238
+ case 9:
3038
3239
  _a.sent();
3039
3240
  return [2 /*return*/];
3040
3241
  }
@@ -4058,10 +4259,10 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
4058
4259
  switch (_a.label) {
4059
4260
  case 0:
4060
4261
  (0, testing_1.log_header)("Self Serve Appointment Booking");
4061
- return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'ny@tellescope.com', state: 'NY' })];
4262
+ return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'sebass+ny@tellescope.com', state: 'NY' })];
4062
4263
  case 1:
4063
4264
  e1 = _a.sent();
4064
- return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'ca@tellescope.com', state: 'CA' })];
4265
+ return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'sebass+ca@tellescope.com', state: 'CA' })];
4065
4266
  case 2:
4066
4267
  e2 = _a.sent();
4067
4268
  return [4 /*yield*/, sdk.api.endusers.set_password({ id: e1.id, password: password })];
@@ -4118,7 +4319,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
4118
4319
  case 8:
4119
4320
  _a.sent();
4120
4321
  // NY Enduser Tests
4121
- return [4 /*yield*/, enduserSDK.authenticate('ny@tellescope.com', password).catch(console.error)];
4322
+ return [4 /*yield*/, enduserSDK.authenticate('sebass+ny@tellescope.com', password).catch(console.error)];
4122
4323
  case 9:
4123
4324
  // NY Enduser Tests
4124
4325
  _a.sent();