@tellescope/sdk 1.3.42 → 1.3.44
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/tests/tests.d.ts +1 -0
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +290 -18
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/cjs/tests/webhooks_tests.js +4 -4
- package/lib/cjs/tests/webhooks_tests.js.map +1 -1
- package/lib/esm/tests/tests.d.ts +1 -0
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +288 -17
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/esm/tests/webhooks_tests.js +4 -4
- package/lib/esm/tests/webhooks_tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/tests/tests.ts +220 -11
- package/src/tests/webhooks_tests.ts +4 -4
package/lib/cjs/tests/tests.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAy0DA,eAAO,MAAM,qBAAqB,qBA8IjC,CAAA;AA4FD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AA0eD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAoED,eAAO,MAAM,eAAe,qBA8C3B,CAAA"}
|
package/lib/cjs/tests/tests.js
CHANGED
|
@@ -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.databases_tests = exports.calendar_event_RSVPs_tests = exports.managed_content_records_tests = exports.meetings_tests = void 0;
|
|
85
|
+
exports.databases_tests = exports.calendar_event_RSVPs_tests = exports.managed_content_records_tests = exports.meetings_tests = exports.cancelConditionsTests = 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
|
|
@@ -1856,7 +1856,7 @@ var formEventTests = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
1856
1856
|
field = _a.sent();
|
|
1857
1857
|
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
1858
1858
|
journeyId: journey.id,
|
|
1859
|
-
|
|
1859
|
+
events: [{ type: 'onJourneyStart', info: {} }],
|
|
1860
1860
|
// in practice, this would send a form, so that the next step(s) could handle the response
|
|
1861
1861
|
// but we don't want to send emails in testing, and can still attach this Id to a form response to test a trigger
|
|
1862
1862
|
action: {
|
|
@@ -1868,10 +1868,10 @@ var formEventTests = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
1868
1868
|
triggerStep = _a.sent();
|
|
1869
1869
|
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
1870
1870
|
journeyId: journey.id,
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1871
|
+
events: [{
|
|
1872
|
+
type: 'formResponse',
|
|
1873
|
+
info: { automationStepId: triggerStep.id }
|
|
1874
|
+
}],
|
|
1875
1875
|
action: {
|
|
1876
1876
|
type: 'setEnduserStatus',
|
|
1877
1877
|
info: { status: 'placeholder' },
|
|
@@ -1939,7 +1939,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
1939
1939
|
nullJourney = _c.sent();
|
|
1940
1940
|
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
1941
1941
|
journeyId: journey.id,
|
|
1942
|
-
|
|
1942
|
+
events: [{ type: 'onJourneyStart', info: {} }],
|
|
1943
1943
|
action: {
|
|
1944
1944
|
type: 'createTicket',
|
|
1945
1945
|
info: {
|
|
@@ -1957,7 +1957,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
1957
1957
|
root = _c.sent();
|
|
1958
1958
|
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
1959
1959
|
journeyId: nullJourney.id,
|
|
1960
|
-
|
|
1960
|
+
events: [{ type: 'onJourneyStart', info: {} }],
|
|
1961
1961
|
action: {
|
|
1962
1962
|
type: 'createTicket',
|
|
1963
1963
|
info: {
|
|
@@ -1975,7 +1975,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
1975
1975
|
nullRoot = _c.sent();
|
|
1976
1976
|
createStep = function (journeyId, automationStepId, closedForReason) { return (sdk.api.automation_steps.createOne({
|
|
1977
1977
|
journeyId: journeyId,
|
|
1978
|
-
|
|
1978
|
+
events: [{ type: 'ticketCompleted', info: { automationStepId: automationStepId, closedForReason: closedForReason, } }],
|
|
1979
1979
|
action: { type: 'setEnduserStatus', info: { status: closedForReason !== null && closedForReason !== void 0 ? closedForReason : 'Null' }, },
|
|
1980
1980
|
})); };
|
|
1981
1981
|
return [4 /*yield*/, createStep(nullJourney.id, nullRoot.id)];
|
|
@@ -2008,7 +2008,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2008
2008
|
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserWithTeam.id, { journeys: (_b = {}, _b[nullJourney.id] = 'Added (Null)', _b) })];
|
|
2009
2009
|
case 16:
|
|
2010
2010
|
_c.sent();
|
|
2011
|
-
return [4 /*yield*/, (0, testing_1.wait)(undefined,
|
|
2011
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 2200)]; // wait for tickets to be automatically created
|
|
2012
2012
|
case 17:
|
|
2013
2013
|
_c.sent(); // wait for tickets to be automatically created
|
|
2014
2014
|
return [4 /*yield*/, (0, testing_1.async_test)("Tickets automatically created", function () { return sdk.api.tickets.getSome(); }, { onResult: function (tickets) { return (tickets === null || tickets === void 0 ? void 0 : tickets.length) === 2; } })];
|
|
@@ -2078,13 +2078,92 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2078
2078
|
});
|
|
2079
2079
|
}); };
|
|
2080
2080
|
var removeFromJourneyTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2081
|
-
var journey,
|
|
2081
|
+
var journey, enduser, TEST_DELAY, step;
|
|
2082
2082
|
var _a;
|
|
2083
2083
|
return __generator(this, function (_b) {
|
|
2084
2084
|
switch (_b.label) {
|
|
2085
2085
|
case 0:
|
|
2086
2086
|
(0, testing_1.log_header)("Remove from Journey");
|
|
2087
2087
|
return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test journey' })];
|
|
2088
|
+
case 1:
|
|
2089
|
+
journey = _b.sent();
|
|
2090
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'test@tellescope.com' })];
|
|
2091
|
+
case 2:
|
|
2092
|
+
enduser = _b.sent();
|
|
2093
|
+
TEST_DELAY = 1000;
|
|
2094
|
+
return [4 /*yield*/, (sdk.api.automation_steps.createOne({
|
|
2095
|
+
journeyId: journey.id,
|
|
2096
|
+
events: [{ type: 'onJourneyStart', info: {} }],
|
|
2097
|
+
action: { type: 'setEnduserStatus', info: { status: 'Root' }, },
|
|
2098
|
+
}))];
|
|
2099
|
+
case 3:
|
|
2100
|
+
step = _b.sent();
|
|
2101
|
+
return [4 /*yield*/, (sdk.api.automation_steps.createOne({
|
|
2102
|
+
journeyId: journey.id,
|
|
2103
|
+
events: [{ type: 'afterAction', info: {
|
|
2104
|
+
automationStepId: step.id,
|
|
2105
|
+
delay: TEST_DELAY / 1000,
|
|
2106
|
+
delayInMS: TEST_DELAY,
|
|
2107
|
+
unit: 'Seconds',
|
|
2108
|
+
} }],
|
|
2109
|
+
action: { type: 'setEnduserStatus', info: { status: 'Delayed Step' }, },
|
|
2110
|
+
}))
|
|
2111
|
+
// test empty events step doesn't get triggered or cause errors
|
|
2112
|
+
];
|
|
2113
|
+
case 4:
|
|
2114
|
+
_b.sent();
|
|
2115
|
+
// test empty events step doesn't get triggered or cause errors
|
|
2116
|
+
return [4 /*yield*/, (sdk.api.automation_steps.createOne({
|
|
2117
|
+
journeyId: journey.id,
|
|
2118
|
+
events: [],
|
|
2119
|
+
action: { type: 'setEnduserStatus', info: { status: 'INVARIANT_VIOLATION' }, },
|
|
2120
|
+
}))
|
|
2121
|
+
// add to journey to trigger initial action
|
|
2122
|
+
];
|
|
2123
|
+
case 5:
|
|
2124
|
+
// test empty events step doesn't get triggered or cause errors
|
|
2125
|
+
_b.sent();
|
|
2126
|
+
// add to journey to trigger initial action
|
|
2127
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(enduser.id, { journeys: (_a = {}, _a[journey.id] = 'New', _a) }, { replaceObjectFields: true })];
|
|
2128
|
+
case 6:
|
|
2129
|
+
// add to journey to trigger initial action
|
|
2130
|
+
_b.sent();
|
|
2131
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 500)];
|
|
2132
|
+
case 7:
|
|
2133
|
+
_b.sent();
|
|
2134
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Root action triggered (only root)", function () { return sdk.api.automated_actions.getSome({ filter: { enduserId: enduser.id } }); }, { onResult: function (es) { return es.length === 1; } })];
|
|
2135
|
+
case 8:
|
|
2136
|
+
_b.sent();
|
|
2137
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 500)];
|
|
2138
|
+
case 9:
|
|
2139
|
+
_b.sent();
|
|
2140
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Next step not trigged early", 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]) !== 'Delayed Step'; } })];
|
|
2141
|
+
case 10:
|
|
2142
|
+
_b.sent();
|
|
2143
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 3 * TEST_DELAY)]; // wait long enough for automation to process and delay to pass
|
|
2144
|
+
case 11:
|
|
2145
|
+
_b.sent(); // wait long enough for automation to process and delay to pass
|
|
2146
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Sequenced action triggered", 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]) === 'Delayed Step'; } })];
|
|
2147
|
+
case 12:
|
|
2148
|
+
_b.sent();
|
|
2149
|
+
return [4 /*yield*/, Promise.all([
|
|
2150
|
+
sdk.api.journeys.deleteOne(journey.id),
|
|
2151
|
+
sdk.api.endusers.deleteOne(enduser.id),
|
|
2152
|
+
])];
|
|
2153
|
+
case 13:
|
|
2154
|
+
_b.sent();
|
|
2155
|
+
return [2 /*return*/];
|
|
2156
|
+
}
|
|
2157
|
+
});
|
|
2158
|
+
}); };
|
|
2159
|
+
var sequenceTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2160
|
+
var journey, journey2, enduser, enduser2, step, step2, createAction, numberOfActions, i;
|
|
2161
|
+
var _a;
|
|
2162
|
+
return __generator(this, function (_b) {
|
|
2163
|
+
switch (_b.label) {
|
|
2164
|
+
case 0:
|
|
2165
|
+
(0, testing_1.log_header)("Automation Sequencing");
|
|
2166
|
+
return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test journey' })];
|
|
2088
2167
|
case 1:
|
|
2089
2168
|
journey = _b.sent();
|
|
2090
2169
|
return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'other journey' })];
|
|
@@ -2101,14 +2180,14 @@ var removeFromJourneyTests = function () { return __awaiter(void 0, void 0, void
|
|
|
2101
2180
|
_b.sent();
|
|
2102
2181
|
return [4 /*yield*/, (sdk.api.automation_steps.createOne({
|
|
2103
2182
|
journeyId: journey.id,
|
|
2104
|
-
|
|
2183
|
+
events: [{ type: 'onJourneyStart', info: {} }],
|
|
2105
2184
|
action: { type: 'setEnduserStatus', info: { status: 'Root' }, },
|
|
2106
2185
|
}))];
|
|
2107
2186
|
case 6:
|
|
2108
2187
|
step = _b.sent();
|
|
2109
2188
|
return [4 /*yield*/, (sdk.api.automation_steps.createOne({
|
|
2110
2189
|
journeyId: journey2.id,
|
|
2111
|
-
|
|
2190
|
+
events: [{ type: 'onJourneyStart', info: {} }],
|
|
2112
2191
|
action: { type: 'setEnduserStatus', info: { status: 'Root' }, },
|
|
2113
2192
|
}))];
|
|
2114
2193
|
case 7:
|
|
@@ -2116,7 +2195,6 @@ var removeFromJourneyTests = function () { return __awaiter(void 0, void 0, void
|
|
|
2116
2195
|
createAction = function (journeyId, step, enduserId) { return (sdk.api.automated_actions.createOne({
|
|
2117
2196
|
journeyId: journeyId,
|
|
2118
2197
|
automationStepId: step.id,
|
|
2119
|
-
cancelConditions: [],
|
|
2120
2198
|
enduserId: enduserId !== null && enduserId !== void 0 ? enduserId : enduser.id,
|
|
2121
2199
|
processAfter: Date.now() + 1000000,
|
|
2122
2200
|
status: 'active',
|
|
@@ -2169,19 +2247,213 @@ var removeFromJourneyTests = function () { return __awaiter(void 0, void 0, void
|
|
|
2169
2247
|
}
|
|
2170
2248
|
});
|
|
2171
2249
|
}); };
|
|
2250
|
+
var cancelConditionsTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2251
|
+
var enduser, journey, form, field, triggerStep, unsub, fastFollowup, accessCode;
|
|
2252
|
+
return __generator(this, function (_a) {
|
|
2253
|
+
switch (_a.label) {
|
|
2254
|
+
case 0:
|
|
2255
|
+
(0, testing_1.log_header)("Cancel Condition Tests");
|
|
2256
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'deletemeee@tellescope.com' })];
|
|
2257
|
+
case 1:
|
|
2258
|
+
enduser = _a.sent();
|
|
2259
|
+
return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'test journey ' })];
|
|
2260
|
+
case 2:
|
|
2261
|
+
journey = _a.sent();
|
|
2262
|
+
return [4 /*yield*/, sdk.api.forms.createOne({ title: 'test form' })];
|
|
2263
|
+
case 3:
|
|
2264
|
+
form = _a.sent();
|
|
2265
|
+
return [4 /*yield*/, sdk.api.form_fields.createOne({
|
|
2266
|
+
formId: form.id, title: 'question', type: 'string',
|
|
2267
|
+
previousFields: [{ type: 'root', info: {} }]
|
|
2268
|
+
})
|
|
2269
|
+
// this action won't be fired, because patient isn't added to journey as part of tests
|
|
2270
|
+
];
|
|
2271
|
+
case 4:
|
|
2272
|
+
field = _a.sent();
|
|
2273
|
+
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
2274
|
+
journeyId: journey.id,
|
|
2275
|
+
events: [{ type: 'onJourneyStart', info: {} }],
|
|
2276
|
+
// in practice, this would send a form, so that the next step(s) could handle the response
|
|
2277
|
+
// but we don't want to send emails in testing, and can still attach this Id to a form response to test a trigger
|
|
2278
|
+
action: {
|
|
2279
|
+
type: 'setEnduserStatus',
|
|
2280
|
+
info: { status: 'start' },
|
|
2281
|
+
},
|
|
2282
|
+
})];
|
|
2283
|
+
case 5:
|
|
2284
|
+
triggerStep = _a.sent();
|
|
2285
|
+
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
2286
|
+
journeyId: journey.id,
|
|
2287
|
+
events: [{
|
|
2288
|
+
type: 'formUnsubmitted',
|
|
2289
|
+
info: {
|
|
2290
|
+
automationStepId: triggerStep.id,
|
|
2291
|
+
delayInMS: 0,
|
|
2292
|
+
delay: 0, unit: 'Seconds',
|
|
2293
|
+
cancelConditions: [{ type: 'formResponse', info: { automationStepId: triggerStep.id } }]
|
|
2294
|
+
}
|
|
2295
|
+
}],
|
|
2296
|
+
action: {
|
|
2297
|
+
type: 'setEnduserStatus',
|
|
2298
|
+
info: { status: 'triggered' },
|
|
2299
|
+
},
|
|
2300
|
+
})];
|
|
2301
|
+
case 6:
|
|
2302
|
+
unsub = _a.sent();
|
|
2303
|
+
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
2304
|
+
journeyId: journey.id,
|
|
2305
|
+
events: [{
|
|
2306
|
+
type: 'afterAction',
|
|
2307
|
+
info: {
|
|
2308
|
+
automationStepId: unsub.id,
|
|
2309
|
+
delayInMS: 0,
|
|
2310
|
+
delay: 0, unit: 'Seconds',
|
|
2311
|
+
cancelConditions: [{ type: 'formResponse', info: { automationStepId: triggerStep.id } }]
|
|
2312
|
+
}
|
|
2313
|
+
}],
|
|
2314
|
+
action: {
|
|
2315
|
+
type: 'setEnduserStatus',
|
|
2316
|
+
info: { status: 'triggered again' },
|
|
2317
|
+
},
|
|
2318
|
+
})];
|
|
2319
|
+
case 7:
|
|
2320
|
+
fastFollowup = _a.sent();
|
|
2321
|
+
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
2322
|
+
journeyId: journey.id,
|
|
2323
|
+
events: [{
|
|
2324
|
+
type: 'afterAction',
|
|
2325
|
+
info: {
|
|
2326
|
+
automationStepId: unsub.id,
|
|
2327
|
+
delayInMS: 1000000,
|
|
2328
|
+
delay: 0, unit: 'Seconds',
|
|
2329
|
+
cancelConditions: [{ type: 'formResponse', info: { automationStepId: triggerStep.id } }]
|
|
2330
|
+
}
|
|
2331
|
+
}],
|
|
2332
|
+
action: {
|
|
2333
|
+
type: 'setEnduserStatus',
|
|
2334
|
+
info: { status: 'violation 1' },
|
|
2335
|
+
},
|
|
2336
|
+
})
|
|
2337
|
+
// a second followup to the unsub event (to create example of two actions with same cancel condition)
|
|
2338
|
+
];
|
|
2339
|
+
case 8:
|
|
2340
|
+
_a.sent();
|
|
2341
|
+
// a second followup to the unsub event (to create example of two actions with same cancel condition)
|
|
2342
|
+
return [4 /*yield*/, sdk.api.automation_steps.createOne({
|
|
2343
|
+
journeyId: journey.id,
|
|
2344
|
+
events: [{
|
|
2345
|
+
type: 'afterAction',
|
|
2346
|
+
info: {
|
|
2347
|
+
automationStepId: unsub.id,
|
|
2348
|
+
delayInMS: 1000000,
|
|
2349
|
+
delay: 0, unit: 'Seconds',
|
|
2350
|
+
cancelConditions: [{ type: 'formResponse', info: { automationStepId: triggerStep.id } }]
|
|
2351
|
+
}
|
|
2352
|
+
}],
|
|
2353
|
+
action: {
|
|
2354
|
+
type: 'setEnduserStatus',
|
|
2355
|
+
info: { status: 'violation 2' },
|
|
2356
|
+
},
|
|
2357
|
+
})];
|
|
2358
|
+
case 9:
|
|
2359
|
+
// a second followup to the unsub event (to create example of two actions with same cancel condition)
|
|
2360
|
+
_a.sent();
|
|
2361
|
+
return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({
|
|
2362
|
+
formId: form.id,
|
|
2363
|
+
automationStepId: triggerStep.id,
|
|
2364
|
+
enduserId: enduser.id
|
|
2365
|
+
})
|
|
2366
|
+
// allow formUnsubmitted to trigger
|
|
2367
|
+
// await wait(undefined, 1500) // allow background creation with generous pause
|
|
2368
|
+
// await async_test(
|
|
2369
|
+
// `formUnsubmitted event with short delay is triggered`,
|
|
2370
|
+
// () => sdk.api.endusers.getOne(enduser.id),
|
|
2371
|
+
// { onResult: e => e?.journeys?.[journey.id] === 'triggered' }
|
|
2372
|
+
// )
|
|
2373
|
+
// allow fast followup to trigger
|
|
2374
|
+
];
|
|
2375
|
+
case 10:
|
|
2376
|
+
accessCode = (_a.sent()).accessCode;
|
|
2377
|
+
// allow formUnsubmitted to trigger
|
|
2378
|
+
// await wait(undefined, 1500) // allow background creation with generous pause
|
|
2379
|
+
// await async_test(
|
|
2380
|
+
// `formUnsubmitted event with short delay is triggered`,
|
|
2381
|
+
// () => sdk.api.endusers.getOne(enduser.id),
|
|
2382
|
+
// { onResult: e => e?.journeys?.[journey.id] === 'triggered' }
|
|
2383
|
+
// )
|
|
2384
|
+
// allow fast followup to trigger
|
|
2385
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 4000)]; // allow background creation with generous pause
|
|
2386
|
+
case 11:
|
|
2387
|
+
// allow formUnsubmitted to trigger
|
|
2388
|
+
// await wait(undefined, 1500) // allow background creation with generous pause
|
|
2389
|
+
// await async_test(
|
|
2390
|
+
// `formUnsubmitted event with short delay is triggered`,
|
|
2391
|
+
// () => sdk.api.endusers.getOne(enduser.id),
|
|
2392
|
+
// { onResult: e => e?.journeys?.[journey.id] === 'triggered' }
|
|
2393
|
+
// )
|
|
2394
|
+
// allow fast followup to trigger
|
|
2395
|
+
_a.sent(); // allow background creation with generous pause
|
|
2396
|
+
return [4 /*yield*/, (0, testing_1.async_test)("formUnsubmitted event with short delay is triggered", 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 again'; } })
|
|
2397
|
+
// trigger cancel conditions
|
|
2398
|
+
];
|
|
2399
|
+
case 12:
|
|
2400
|
+
_a.sent();
|
|
2401
|
+
// trigger cancel conditions
|
|
2402
|
+
return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: accessCode, automationStepId: triggerStep.id, responses: [{
|
|
2403
|
+
answer: {
|
|
2404
|
+
type: 'string',
|
|
2405
|
+
value: 'answer'
|
|
2406
|
+
},
|
|
2407
|
+
fieldId: field.id,
|
|
2408
|
+
fieldTitle: field.title,
|
|
2409
|
+
}] })];
|
|
2410
|
+
case 13:
|
|
2411
|
+
// trigger cancel conditions
|
|
2412
|
+
_a.sent();
|
|
2413
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 1500)]; // allow background creation with generous pause
|
|
2414
|
+
case 14:
|
|
2415
|
+
_a.sent(); // allow background creation with generous pause
|
|
2416
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Cancel conditions work for followup", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (as) {
|
|
2417
|
+
var _a, _b;
|
|
2418
|
+
return as.length === 4
|
|
2419
|
+
&& ((_a = as.find(function (a) { return a.automationStepId === unsub.id; })) === null || _a === void 0 ? void 0 : _a.status) === 'finished'
|
|
2420
|
+
&& ((_b = as.find(function (a) { return a.automationStepId === fastFollowup.id; })) === null || _b === void 0 ? void 0 : _b.status) === 'finished'
|
|
2421
|
+
&& as.filter(function (a) { return a.status === 'cancelled'; }).length === 2;
|
|
2422
|
+
}
|
|
2423
|
+
})];
|
|
2424
|
+
case 15:
|
|
2425
|
+
_a.sent();
|
|
2426
|
+
return [4 /*yield*/, Promise.all([
|
|
2427
|
+
sdk.api.forms.deleteOne(form.id),
|
|
2428
|
+
sdk.api.journeys.deleteOne(journey.id),
|
|
2429
|
+
sdk.api.endusers.deleteOne(enduser.id)
|
|
2430
|
+
])];
|
|
2431
|
+
case 16:
|
|
2432
|
+
_a.sent();
|
|
2433
|
+
return [2 /*return*/];
|
|
2434
|
+
}
|
|
2435
|
+
});
|
|
2436
|
+
}); };
|
|
2437
|
+
exports.cancelConditionsTests = cancelConditionsTests;
|
|
2172
2438
|
var automation_events_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2173
2439
|
return __generator(this, function (_a) {
|
|
2174
2440
|
switch (_a.label) {
|
|
2175
2441
|
case 0:
|
|
2176
2442
|
(0, testing_1.log_header)("Automation Events");
|
|
2177
|
-
return [4 /*yield*/,
|
|
2443
|
+
return [4 /*yield*/, (0, exports.cancelConditionsTests)()];
|
|
2178
2444
|
case 1:
|
|
2179
2445
|
_a.sent();
|
|
2180
|
-
return [4 /*yield*/,
|
|
2446
|
+
return [4 /*yield*/, sequenceTests()];
|
|
2181
2447
|
case 2:
|
|
2182
2448
|
_a.sent();
|
|
2183
|
-
return [4 /*yield*/,
|
|
2449
|
+
return [4 /*yield*/, formEventTests()];
|
|
2184
2450
|
case 3:
|
|
2451
|
+
_a.sent();
|
|
2452
|
+
return [4 /*yield*/, ticketEventTests()];
|
|
2453
|
+
case 4:
|
|
2454
|
+
_a.sent();
|
|
2455
|
+
return [4 /*yield*/, removeFromJourneyTests()];
|
|
2456
|
+
case 5:
|
|
2185
2457
|
_a.sent();
|
|
2186
2458
|
return [2 /*return*/];
|
|
2187
2459
|
}
|
|
@@ -3172,6 +3444,7 @@ var databases_tests = function () { return __awaiter(void 0, void 0, void 0, fun
|
|
|
3172
3444
|
exports.databases_tests = databases_tests;
|
|
3173
3445
|
var NO_TEST = function () { };
|
|
3174
3446
|
var tests = {
|
|
3447
|
+
automation_steps: automation_events_tests,
|
|
3175
3448
|
calendar_event_templates: NO_TEST,
|
|
3176
3449
|
databases: exports.databases_tests,
|
|
3177
3450
|
database_records: NO_TEST,
|
|
@@ -3197,7 +3470,6 @@ var tests = {
|
|
|
3197
3470
|
form_responses: form_response_tests,
|
|
3198
3471
|
calendar_events: calendar_events_tests,
|
|
3199
3472
|
webhooks: NO_TEST,
|
|
3200
|
-
automation_steps: automation_events_tests,
|
|
3201
3473
|
sequence_automations: NO_TEST,
|
|
3202
3474
|
automated_actions: NO_TEST,
|
|
3203
3475
|
enduser_status_updates: status_update_tests,
|