@tellescope/sdk 1.67.5 → 1.67.7
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 +1 -0
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +1 -0
- package/lib/cjs/sdk.js.map +1 -1
- 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 +274 -206
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/sdk.d.ts +1 -0
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +1 -0
- package/lib/esm/sdk.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 +272 -205
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/sdk.ts +4 -0
- package/src/tests/tests.ts +182 -70
- package/test_generated.pdf +0 -0
package/lib/esm/tests/tests.js
CHANGED
|
@@ -877,18 +877,24 @@ var run_generated_tests = function (_a) {
|
|
|
877
877
|
case 5: return [4 /*yield*/, async_test("create-".concat(singularName), function () { return queries.createOne(instance); }, { onResult: function (r) { return !!(_id = r.id) && (name === 'api_keys' || !!r.creator) && validateReturnType(returns.create, r, defaultValidation); } })];
|
|
878
878
|
case 6:
|
|
879
879
|
_c.sent();
|
|
880
|
-
return [4 /*yield*/,
|
|
880
|
+
return [4 /*yield*/, wait(undefined, 25)];
|
|
881
881
|
case 7:
|
|
882
882
|
_c.sent();
|
|
883
|
-
|
|
884
|
-
return [4 /*yield*/, async_test("update-".concat(singularName), function () { return queries.updateOne(_id, updates, { replaceObjectFields: true }); }, { onResult: function (u) { return typeof u === 'object' && u.id === _id; } })];
|
|
883
|
+
return [4 /*yield*/, async_test("log-".concat(singularName, " create"), function () { return sdk.api.user_logs.getOne({ resourceId: _id, resource: name, action: 'create' }); }, { onResult: function (r) { return r && r.userId === sdk.userInfo.id; } })];
|
|
885
884
|
case 8:
|
|
886
885
|
_c.sent();
|
|
887
|
-
|
|
886
|
+
if (!model.defaultActions.update) return [3 /*break*/, 12];
|
|
887
|
+
return [4 /*yield*/, async_test("update-".concat(singularName), function () { return queries.updateOne(_id, updates, { replaceObjectFields: true }); }, { onResult: function (u) { return typeof u === 'object' && u.id === _id; } })];
|
|
888
888
|
case 9:
|
|
889
889
|
_c.sent();
|
|
890
|
-
|
|
891
|
-
case 10:
|
|
890
|
+
return [4 /*yield*/, wait(undefined, 25)];
|
|
891
|
+
case 10:
|
|
892
|
+
_c.sent();
|
|
893
|
+
return [4 /*yield*/, async_test("log-".concat(singularName, " update"), function () { return sdk.api.user_logs.getOne({ resourceId: _id, resource: name, action: 'update' }); }, { onResult: function (r) { return r && r.userId === sdk.userInfo.id; } })];
|
|
894
|
+
case 11:
|
|
895
|
+
_c.sent();
|
|
896
|
+
_c.label = 12;
|
|
897
|
+
case 12: return [4 /*yield*/, async_test("get-".concat(singularName), function () { return queries.getOne(_id); }, { onResult: function (d) {
|
|
892
898
|
if (!(d === null || d === void 0 ? void 0 : d.id))
|
|
893
899
|
return false;
|
|
894
900
|
for (var k in instance) {
|
|
@@ -899,7 +905,7 @@ var run_generated_tests = function (_a) {
|
|
|
899
905
|
return true;
|
|
900
906
|
}
|
|
901
907
|
})];
|
|
902
|
-
case
|
|
908
|
+
case 13:
|
|
903
909
|
_c.sent();
|
|
904
910
|
return [4 /*yield*/, async_test("get-".concat(safeName), function () { return queries.getSome({ filter: filter }); }, { onResult: function (_a) {
|
|
905
911
|
var d = _a[0];
|
|
@@ -914,27 +920,30 @@ var run_generated_tests = function (_a) {
|
|
|
914
920
|
return true;
|
|
915
921
|
}
|
|
916
922
|
})];
|
|
917
|
-
case
|
|
923
|
+
case 14:
|
|
918
924
|
_c.sent();
|
|
919
925
|
return [4 /*yield*/, async_test("delete-".concat(singularName), function () { return queries.deleteOne(_id); }, passOnVoid)];
|
|
920
|
-
case
|
|
926
|
+
case 15:
|
|
927
|
+
_c.sent();
|
|
928
|
+
return [4 /*yield*/, wait(undefined, 25)];
|
|
929
|
+
case 16:
|
|
921
930
|
_c.sent();
|
|
922
931
|
return [4 /*yield*/, async_test("get-".concat(singularName, " (verify delete)"), function () { return queries.getOne(_id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })
|
|
923
932
|
// lots of side effects
|
|
924
933
|
];
|
|
925
|
-
case
|
|
934
|
+
case 17:
|
|
926
935
|
_c.sent();
|
|
927
|
-
if (!(name === 'endusers')) return [3 /*break*/,
|
|
936
|
+
if (!(name === 'endusers')) return [3 /*break*/, 19];
|
|
928
937
|
return [4 /*yield*/, wait(undefined, 100)];
|
|
929
|
-
case
|
|
938
|
+
case 18:
|
|
930
939
|
_c.sent();
|
|
931
|
-
return [3 /*break*/,
|
|
932
|
-
case
|
|
933
|
-
case
|
|
940
|
+
return [3 /*break*/, 21];
|
|
941
|
+
case 19: return [4 /*yield*/, wait(undefined, 50)];
|
|
942
|
+
case 20:
|
|
934
943
|
_c.sent();
|
|
935
|
-
_c.label =
|
|
936
|
-
case
|
|
937
|
-
case
|
|
944
|
+
_c.label = 21;
|
|
945
|
+
case 21: return [4 /*yield*/, async_test("log-".concat(singularName, " delete"), function () { return sdk.api.user_logs.getOne({ resourceId: _id, resource: name, action: 'delete' }); }, { onResult: function (r) { return r && r.userId === sdk.userInfo.id; } })];
|
|
946
|
+
case 22:
|
|
938
947
|
_c.sent();
|
|
939
948
|
return [2 /*return*/];
|
|
940
949
|
}
|
|
@@ -1898,21 +1907,24 @@ var files_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
1898
1907
|
return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
|
|
1899
1908
|
case 3:
|
|
1900
1909
|
_c.sent();
|
|
1910
|
+
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // to use new role, handle logout on role change
|
|
1911
|
+
case 4:
|
|
1912
|
+
_c.sent(); // to use new role, handle logout on role change
|
|
1901
1913
|
buff = buffer.Buffer.from('test file data');
|
|
1902
1914
|
return [4 /*yield*/, async_test("non admin can prepare file upload", function () { return sdkNonAdmin.api.files.prepare_file_upload({
|
|
1903
1915
|
name: 'Test File', size: buff.byteLength, type: 'text/plain'
|
|
1904
1916
|
}); }, { onResult: function (t) { return true; } })];
|
|
1905
|
-
case
|
|
1917
|
+
case 5:
|
|
1906
1918
|
_c.sent();
|
|
1907
1919
|
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1908
1920
|
name: 'Test Private', size: buff.byteLength, type: 'text/plain', enduserId: enduser.id,
|
|
1909
1921
|
})];
|
|
1910
|
-
case
|
|
1922
|
+
case 6:
|
|
1911
1923
|
_a = _c.sent(), presignedUpload = _a.presignedUpload, file = _a.file;
|
|
1912
1924
|
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1913
1925
|
name: 'Test Private (no enduser)', size: buff.byteLength, type: 'text/plain',
|
|
1914
1926
|
})];
|
|
1915
|
-
case
|
|
1927
|
+
case 7:
|
|
1916
1928
|
_b = _c.sent(), presignedNonEnduser = _b.presignedUpload, fileNonEnduser = _b.file;
|
|
1917
1929
|
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1918
1930
|
name: 'Test Public', size: buff.byteLength, type: 'text/plain',
|
|
@@ -1920,62 +1932,62 @@ var files_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
1920
1932
|
publicRead: true,
|
|
1921
1933
|
publicName: 'public',
|
|
1922
1934
|
})];
|
|
1923
|
-
case
|
|
1935
|
+
case 8:
|
|
1924
1936
|
presigned2 = (_c.sent()).presignedUpload;
|
|
1925
1937
|
return [4 /*yield*/, sdk.UPLOAD(
|
|
1926
1938
|
// @ts-ignore
|
|
1927
1939
|
presignedUpload, buff)];
|
|
1928
|
-
case
|
|
1940
|
+
case 9:
|
|
1929
1941
|
_c.sent();
|
|
1930
1942
|
return [4 /*yield*/, sdk.UPLOAD(
|
|
1931
1943
|
// @ts-ignore
|
|
1932
1944
|
presignedNonEnduser, buff)];
|
|
1933
|
-
case
|
|
1945
|
+
case 10:
|
|
1934
1946
|
_c.sent();
|
|
1935
1947
|
return [4 /*yield*/, sdk.UPLOAD(
|
|
1936
1948
|
// @ts-ignore
|
|
1937
1949
|
presigned2, buff)];
|
|
1938
|
-
case
|
|
1950
|
+
case 11:
|
|
1939
1951
|
_c.sent();
|
|
1940
1952
|
return [4 /*yield*/, async_test("Files associated with enduser on prepare_file_upload", function () { return sdk.api.files.getSome({ filter: { enduserId: enduser.id } }); }, { onResult: function (fs) { return fs.length === 2; } })];
|
|
1941
|
-
case
|
|
1953
|
+
case 12:
|
|
1942
1954
|
_c.sent();
|
|
1943
1955
|
return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1944
|
-
case
|
|
1956
|
+
case 13:
|
|
1945
1957
|
downloadURL = (_c.sent()).downloadURL;
|
|
1946
1958
|
return [4 /*yield*/, sdk.DOWNLOAD(downloadURL)];
|
|
1947
|
-
case
|
|
1959
|
+
case 14:
|
|
1948
1960
|
downloaded = _c.sent();
|
|
1949
1961
|
assert(downloaded === buff.toString(), 'downloaded file does not match uploaded file', 'upload, download comparison');
|
|
1950
1962
|
return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1951
|
-
case
|
|
1963
|
+
case 15:
|
|
1952
1964
|
cachedURL = (_c.sent()).downloadURL;
|
|
1953
1965
|
assert(downloadURL === cachedURL, 'cache download url failed', 'download url cache');
|
|
1954
1966
|
return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1955
|
-
case
|
|
1967
|
+
case 16:
|
|
1956
1968
|
urlForEnduser = (_c.sent()).downloadURL;
|
|
1957
1969
|
assert(downloadURL === urlForEnduser, 'failed to get download url for enduser', 'download url for enduser');
|
|
1958
1970
|
return [4 /*yield*/, Promise.all([
|
|
1959
1971
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
1960
1972
|
])];
|
|
1961
|
-
case
|
|
1973
|
+
case 17:
|
|
1962
1974
|
_c.sent();
|
|
1963
1975
|
return [4 /*yield*/, wait(undefined, 2000)]; // wait for files to be deleted as side effect
|
|
1964
|
-
case
|
|
1976
|
+
case 18:
|
|
1965
1977
|
_c.sent(); // wait for files to be deleted as side effect
|
|
1966
1978
|
return [4 /*yield*/, async_test("Files cleaned up as side effect of deleting enduser", function () { return sdk.api.files.getSome({ filter: { enduserId: enduser.id } }); }, { onResult: function (fs) { return fs.length === 0; } })];
|
|
1967
|
-
case
|
|
1979
|
+
case 19:
|
|
1968
1980
|
_c.sent();
|
|
1969
1981
|
return [4 /*yield*/, async_test("Non-enduser file is left", function () { return sdk.api.files.getSome(); }, { onResult: function (fs) { return fs.length > 0; } })
|
|
1970
1982
|
// cleanup other file
|
|
1971
1983
|
];
|
|
1972
|
-
case
|
|
1984
|
+
case 20:
|
|
1973
1985
|
_c.sent();
|
|
1974
1986
|
// cleanup other file
|
|
1975
1987
|
return [4 /*yield*/, Promise.all([
|
|
1976
1988
|
sdk.api.files.deleteOne(fileNonEnduser.id),
|
|
1977
1989
|
])];
|
|
1978
|
-
case
|
|
1990
|
+
case 21:
|
|
1979
1991
|
// cleanup other file
|
|
1980
1992
|
_c.sent();
|
|
1981
1993
|
return [2 /*return*/];
|
|
@@ -2416,11 +2428,8 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2416
2428
|
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserWithTeam.id, { journeys: (_b = {}, _b[nullJourney.id] = 'Added (Null)', _b) })];
|
|
2417
2429
|
case 16:
|
|
2418
2430
|
_c.sent();
|
|
2419
|
-
return [4 /*yield*/,
|
|
2431
|
+
return [4 /*yield*/, async_test("Tickets automatically created", function () { return pollForResults(sdk.api.tickets.getSome, function (tickets) { return (tickets === null || tickets === void 0 ? void 0 : tickets.length) === 2; }, 500, 15); }, passOnAnyResult)];
|
|
2420
2432
|
case 17:
|
|
2421
|
-
_c.sent(); // wait for tickets to be automatically created
|
|
2422
|
-
return [4 /*yield*/, 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; } })];
|
|
2423
|
-
case 18:
|
|
2424
2433
|
_c.sent();
|
|
2425
2434
|
return [4 /*yield*/, async_test("Ticket for enduser, default assignment, testCloseReasons", function () { return sdk.api.tickets.getSome({ filter: { enduserId: enduser.id } }); }, { onResult: function (tickets) {
|
|
2426
2435
|
var _a;
|
|
@@ -2428,10 +2437,10 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2428
2437
|
&& ((_a = tickets[0].closeReasons) === null || _a === void 0 ? void 0 : _a.length) === 3
|
|
2429
2438
|
&& tickets[0].owner === sdk.userInfo.id);
|
|
2430
2439
|
} })];
|
|
2431
|
-
case
|
|
2440
|
+
case 18:
|
|
2432
2441
|
_c.sent();
|
|
2433
2442
|
return [4 /*yield*/, sdk.api.tickets.getOne({ enduserId: enduser.id })];
|
|
2434
|
-
case
|
|
2443
|
+
case 19:
|
|
2435
2444
|
ticket = _c.sent();
|
|
2436
2445
|
return [4 /*yield*/, async_test("Ticket for enduser, care team assignment, no reasons", function () { return sdk.api.tickets.getSome({ filter: { enduserId: enduserWithTeam.id } }); }, { onResult: function (tickets) {
|
|
2437
2446
|
var _a;
|
|
@@ -2440,19 +2449,19 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2440
2449
|
&& tickets[0].owner === sdkNonAdmin.userInfo.id;
|
|
2441
2450
|
}
|
|
2442
2451
|
})];
|
|
2443
|
-
case
|
|
2452
|
+
case 20:
|
|
2444
2453
|
_c.sent();
|
|
2445
2454
|
return [4 /*yield*/, sdk.api.tickets.getOne({ enduserId: enduserWithTeam.id })];
|
|
2446
|
-
case
|
|
2455
|
+
case 21:
|
|
2447
2456
|
ticketNull = _c.sent();
|
|
2448
2457
|
return [4 /*yield*/, sdk.api.tickets.updateOne(ticket.id, { closedForReason: 'Maybe', closedAt: new Date() })];
|
|
2449
|
-
case
|
|
2458
|
+
case 22:
|
|
2450
2459
|
_c.sent();
|
|
2451
2460
|
return [4 /*yield*/, sdk.api.tickets.updateOne(ticketNull.id, { closedAt: new Date() })];
|
|
2452
|
-
case
|
|
2461
|
+
case 23:
|
|
2453
2462
|
_c.sent();
|
|
2454
2463
|
return [4 /*yield*/, wait(undefined, 250)]; // wait for actions to be automatically created
|
|
2455
|
-
case
|
|
2464
|
+
case 24:
|
|
2456
2465
|
_c.sent(); // wait for actions to be automatically created
|
|
2457
2466
|
return [4 /*yield*/, async_test("Automated actions for handle ticket created", function () { return sdk.api.automated_actions.getSome(); }, { onResult: (function (actions) { return (actions === null || actions === void 0 ? void 0 : actions.length) === 4 // ticket creations + ticket completions = 2 + 2
|
|
2458
2467
|
&& (!!actions.find(function (a) {
|
|
@@ -2469,7 +2478,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2469
2478
|
&& a.action.info.status === 'Null';
|
|
2470
2479
|
} // null branch when completed without closedForReason
|
|
2471
2480
|
)); }) })];
|
|
2472
|
-
case
|
|
2481
|
+
case 25:
|
|
2473
2482
|
_c.sent();
|
|
2474
2483
|
return [4 /*yield*/, Promise.all([
|
|
2475
2484
|
sdk.api.journeys.deleteOne(journey.id),
|
|
@@ -2479,7 +2488,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2479
2488
|
sdk.api.tickets.deleteOne(ticket.id),
|
|
2480
2489
|
sdk.api.tickets.deleteOne(ticketNull.id),
|
|
2481
2490
|
])];
|
|
2482
|
-
case
|
|
2491
|
+
case 26:
|
|
2483
2492
|
_c.sent();
|
|
2484
2493
|
return [2 /*return*/];
|
|
2485
2494
|
}
|
|
@@ -2548,17 +2557,14 @@ var removeFromJourneyTests = function () { return __awaiter(void 0, void 0, void
|
|
|
2548
2557
|
return [4 /*yield*/, 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'; } })];
|
|
2549
2558
|
case 10:
|
|
2550
2559
|
_b.sent();
|
|
2551
|
-
return [4 /*yield*/,
|
|
2560
|
+
return [4 /*yield*/, async_test("Sequenced action triggered", function () { return pollForResults(function () { return sdk.api.endusers.getOne(enduser.id); }, function (e) { var _a; return ((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) === 'Delayed Step'; }, TEST_DELAY, 15); }, passOnAnyResult)];
|
|
2552
2561
|
case 11:
|
|
2553
|
-
_b.sent(); // wait long enough for automation to process and delay to pass
|
|
2554
|
-
return [4 /*yield*/, 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'; } })];
|
|
2555
|
-
case 12:
|
|
2556
2562
|
_b.sent();
|
|
2557
2563
|
return [4 /*yield*/, Promise.all([
|
|
2558
2564
|
sdk.api.journeys.deleteOne(journey.id),
|
|
2559
2565
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
2560
2566
|
])];
|
|
2561
|
-
case
|
|
2567
|
+
case 12:
|
|
2562
2568
|
_b.sent();
|
|
2563
2569
|
return [2 /*return*/];
|
|
2564
2570
|
}
|
|
@@ -2789,14 +2795,11 @@ export var formUnsubmittedCancelConditionTest = function () { return __awaiter(v
|
|
|
2789
2795
|
case 10:
|
|
2790
2796
|
accessCode = (_a.sent()).accessCode;
|
|
2791
2797
|
// allow fast followup to trigger
|
|
2792
|
-
return [4 /*yield*/,
|
|
2793
|
-
case 11:
|
|
2794
|
-
// allow fast followup to trigger
|
|
2795
|
-
_a.sent(); // allow background creation with generous pause
|
|
2796
|
-
return [4 /*yield*/, 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'; } })
|
|
2798
|
+
return [4 /*yield*/, async_test("formUnsubmitted event with short delay is triggered", function () { return pollForResults(function () { return sdk.api.endusers.getOne(enduser.id); }, 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'; }, 1000, 10); }, passOnAnyResult)
|
|
2797
2799
|
// trigger cancel conditions
|
|
2798
2800
|
];
|
|
2799
|
-
case
|
|
2801
|
+
case 11:
|
|
2802
|
+
// allow fast followup to trigger
|
|
2800
2803
|
_a.sent();
|
|
2801
2804
|
// trigger cancel conditions
|
|
2802
2805
|
return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: accessCode, automationStepId: triggerStep.id, responses: [{
|
|
@@ -2807,11 +2810,11 @@ export var formUnsubmittedCancelConditionTest = function () { return __awaiter(v
|
|
|
2807
2810
|
fieldId: field.id,
|
|
2808
2811
|
fieldTitle: field.title,
|
|
2809
2812
|
}] })];
|
|
2810
|
-
case
|
|
2813
|
+
case 12:
|
|
2811
2814
|
// trigger cancel conditions
|
|
2812
2815
|
_a.sent();
|
|
2813
2816
|
return [4 /*yield*/, wait(undefined, 1500)]; // allow background creation with generous pause
|
|
2814
|
-
case
|
|
2817
|
+
case 13:
|
|
2815
2818
|
_a.sent(); // allow background creation with generous pause
|
|
2816
2819
|
return [4 /*yield*/, async_test("Cancel conditions work for followup", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (as) {
|
|
2817
2820
|
var _a, _b;
|
|
@@ -2821,14 +2824,14 @@ export var formUnsubmittedCancelConditionTest = function () { return __awaiter(v
|
|
|
2821
2824
|
&& as.filter(function (a) { return a.status === 'cancelled'; }).length === 2;
|
|
2822
2825
|
}
|
|
2823
2826
|
})];
|
|
2824
|
-
case
|
|
2827
|
+
case 14:
|
|
2825
2828
|
_a.sent();
|
|
2826
2829
|
return [4 /*yield*/, Promise.all([
|
|
2827
2830
|
sdk.api.forms.deleteOne(form.id),
|
|
2828
2831
|
sdk.api.journeys.deleteOne(journey.id),
|
|
2829
2832
|
sdk.api.endusers.deleteOne(enduser.id)
|
|
2830
2833
|
])];
|
|
2831
|
-
case
|
|
2834
|
+
case 15:
|
|
2832
2835
|
_a.sent();
|
|
2833
2836
|
return [2 /*return*/];
|
|
2834
2837
|
}
|
|
@@ -3007,7 +3010,7 @@ export var formsUnsubmittedCancelConditionTest = function () { return __awaiter(
|
|
|
3007
3010
|
} })];
|
|
3008
3011
|
case 19:
|
|
3009
3012
|
_a.sent();
|
|
3010
|
-
return [4 /*yield*/, async_test("formResponses triggered after both forms submitted", function () { return sdk.api.endusers.getOne(enduser.id); },
|
|
3013
|
+
return [4 /*yield*/, async_test("formResponses triggered after both forms submitted", function () { return pollForResults(function () { return sdk.api.endusers.getOne(enduser.id); }, 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'; }, 500, 10); }, passOnAnyResult)];
|
|
3011
3014
|
case 20:
|
|
3012
3015
|
_a.sent();
|
|
3013
3016
|
return [4 /*yield*/, Promise.all([
|
|
@@ -3107,20 +3110,13 @@ export var formsUnsubmittedTest = function () { return __awaiter(void 0, void 0,
|
|
|
3107
3110
|
case 8:
|
|
3108
3111
|
// triggers formsUnsubmitted automated actions to be created when forms generated in templated message
|
|
3109
3112
|
_a.sent();
|
|
3110
|
-
return [4 /*yield*/, sdk.api.form_responses.getSome()
|
|
3111
|
-
// allow fast followup to trigger
|
|
3112
|
-
];
|
|
3113
|
+
return [4 /*yield*/, sdk.api.form_responses.getSome()];
|
|
3113
3114
|
case 9:
|
|
3114
3115
|
form_responses = _a.sent();
|
|
3115
|
-
|
|
3116
|
-
return [4 /*yield*/, wait(undefined, 5000)]; // allow background creation with generous pause
|
|
3117
|
-
case 10:
|
|
3118
|
-
// allow fast followup to trigger
|
|
3119
|
-
_a.sent(); // allow background creation with generous pause
|
|
3120
|
-
return [4 /*yield*/, 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'; } })
|
|
3116
|
+
return [4 /*yield*/, async_test("formsUnsubmitted handler worked", function () { return pollForResults(function () { return sdk.api.endusers.getOne(enduser.id); }, 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'; }, 1000, 10); }, passOnAnyResult)
|
|
3121
3117
|
// trigger cancel conditions
|
|
3122
3118
|
];
|
|
3123
|
-
case
|
|
3119
|
+
case 10:
|
|
3124
3120
|
_a.sent();
|
|
3125
3121
|
// trigger cancel conditions
|
|
3126
3122
|
return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: form_responses[0].accessCode, automationStepId: triggerStep.id, responses: [{
|
|
@@ -3131,14 +3127,14 @@ export var formsUnsubmittedTest = function () { return __awaiter(void 0, void 0,
|
|
|
3131
3127
|
fieldId: field.id,
|
|
3132
3128
|
fieldTitle: field.title,
|
|
3133
3129
|
}] })];
|
|
3134
|
-
case
|
|
3130
|
+
case 11:
|
|
3135
3131
|
// trigger cancel conditions
|
|
3136
3132
|
_a.sent();
|
|
3137
3133
|
return [4 /*yield*/, wait(undefined, 5000)]; // allow background creation with generous pause
|
|
3138
|
-
case
|
|
3134
|
+
case 12:
|
|
3139
3135
|
_a.sent(); // allow background creation with generous pause
|
|
3140
3136
|
return [4 /*yield*/, 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'; } })];
|
|
3141
|
-
case
|
|
3137
|
+
case 13:
|
|
3142
3138
|
_a.sent();
|
|
3143
3139
|
return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: form_responses[1].accessCode, automationStepId: triggerStep.id, responses: [{
|
|
3144
3140
|
answer: {
|
|
@@ -3148,20 +3144,20 @@ export var formsUnsubmittedTest = function () { return __awaiter(void 0, void 0,
|
|
|
3148
3144
|
fieldId: field.id,
|
|
3149
3145
|
fieldTitle: field.title,
|
|
3150
3146
|
}] })];
|
|
3151
|
-
case
|
|
3147
|
+
case 14:
|
|
3152
3148
|
_a.sent();
|
|
3153
3149
|
return [4 /*yield*/, wait(undefined, 5000)]; // allow background creation with generous pause
|
|
3154
|
-
case
|
|
3150
|
+
case 15:
|
|
3155
3151
|
_a.sent(); // allow background creation with generous pause
|
|
3156
3152
|
return [4 /*yield*/, 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'; } })];
|
|
3157
|
-
case
|
|
3153
|
+
case 16:
|
|
3158
3154
|
_a.sent();
|
|
3159
3155
|
return [4 /*yield*/, Promise.all([
|
|
3160
3156
|
sdk.api.forms.deleteOne(form.id),
|
|
3161
3157
|
sdk.api.journeys.deleteOne(journey.id),
|
|
3162
3158
|
sdk.api.endusers.deleteOne(enduser.id)
|
|
3163
3159
|
])];
|
|
3164
|
-
case
|
|
3160
|
+
case 17:
|
|
3165
3161
|
_a.sent();
|
|
3166
3162
|
return [2 /*return*/];
|
|
3167
3163
|
}
|
|
@@ -3367,33 +3363,35 @@ var addToJourneyTests = function () { return __awaiter(void 0, void 0, void 0, f
|
|
|
3367
3363
|
case 5:
|
|
3368
3364
|
// add to journey and re-add
|
|
3369
3365
|
_a.sent();
|
|
3370
|
-
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, _b; return ((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) === '' || ((_b = e.journeys) === null || _b === void 0 ? void 0 : _b[journey.id]) === 'Root'; } })
|
|
3366
|
+
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, _b; return ((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[journey.id]) === '' || ((_b = e.journeys) === null || _b === void 0 ? void 0 : _b[journey.id]) === 'Root'; } })
|
|
3367
|
+
// ensure that second step is generated before first is cancelled
|
|
3368
|
+
];
|
|
3371
3369
|
case 6:
|
|
3372
3370
|
_a.sent();
|
|
3373
|
-
|
|
3371
|
+
// ensure that second step is generated before first is cancelled
|
|
3372
|
+
return [4 /*yield*/, pollForResults(sdk.api.automated_actions.getSome, function (es) { return es.length === 2; }, 100, 50)];
|
|
3374
3373
|
case 7:
|
|
3375
|
-
|
|
3374
|
+
// ensure that second step is generated before first is cancelled
|
|
3375
|
+
_a.sent();
|
|
3376
3376
|
return [4 /*yield*/, sdk.api.endusers.add_to_journey({ enduserIds: [enduser.id], journeyId: journey.id })];
|
|
3377
3377
|
case 8:
|
|
3378
|
+
// ensure that second step is generated before first is cancelled
|
|
3378
3379
|
_a.sent();
|
|
3379
|
-
return [4 /*yield*/, async_test("Enduser
|
|
3380
|
+
return [4 /*yield*/, async_test("Enduser correctly added and re-added", function () { return pollForResults(sdk.api.automated_actions.getSome, function (es) { return (es.length === 4
|
|
3381
|
+
&& es.filter(function (e) { return e.status === 'cancelled' && e.automationStepId === follow.id; }).length === 1 // one afterAction is cancelled
|
|
3382
|
+
&& es.filter(function (e) { return e.status === 'active' && e.automationStepId === follow.id; }).length === 1 // one afterAction is still active
|
|
3383
|
+
&& es.filter(function (e) { return e.status === 'finished' && e.automationStepId === root.id; }).length === 2 // two initial onJourneyStart
|
|
3384
|
+
); }, 250, 40); }, passOnAnyResult)];
|
|
3380
3385
|
case 9:
|
|
3381
3386
|
_a.sent();
|
|
3382
|
-
return [4 /*yield*/,
|
|
3387
|
+
return [4 /*yield*/, async_test("Enduser throttle journey add working", function () { return sdk.api.endusers.add_to_journey({ enduserIds: [enduser.id], journeyId: journey.id, throttle: true }); }, handleAnyError)];
|
|
3383
3388
|
case 10:
|
|
3384
|
-
_a.sent(); // allow onJourneyStart step to trigger
|
|
3385
|
-
return [4 /*yield*/, async_test("Enduser correctly added and re-added", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (es) { return es.length === 4
|
|
3386
|
-
&& es.filter(function (e) { return e.status === 'cancelled' && e.automationStepId === follow.id; }).length === 1 // one afterAction is cancelled
|
|
3387
|
-
&& es.filter(function (e) { return e.status === 'active' && e.automationStepId === follow.id; }).length === 1 // one afterAction is still active
|
|
3388
|
-
&& es.filter(function (e) { return e.status === 'finished' && e.automationStepId === root.id; }).length === 2; } // two initial onJourneyStart
|
|
3389
|
-
})];
|
|
3390
|
-
case 11:
|
|
3391
3389
|
_a.sent();
|
|
3392
3390
|
return [4 /*yield*/, Promise.all([
|
|
3393
3391
|
sdk.api.journeys.deleteOne(journey.id),
|
|
3394
3392
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
3395
3393
|
])];
|
|
3396
|
-
case
|
|
3394
|
+
case 11:
|
|
3397
3395
|
_a.sent();
|
|
3398
3396
|
return [2 /*return*/];
|
|
3399
3397
|
}
|
|
@@ -3425,20 +3423,17 @@ var directAutomatedActionTest = function () { return __awaiter(void 0, void 0, v
|
|
|
3425
3423
|
})];
|
|
3426
3424
|
case 2:
|
|
3427
3425
|
action = _a.sent();
|
|
3428
|
-
return [4 /*yield*/,
|
|
3426
|
+
return [4 /*yield*/, async_test("Enduser status set by manual automated action", function () { return pollForResults(function () { return sdk.api.endusers.getOne(enduser.id); }, function (e) { var _a; return ((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[PLACEHOLDER_ID]) === 'Working'; }, 1000, 10); }, passOnAnyResult)];
|
|
3429
3427
|
case 3:
|
|
3430
|
-
_a.sent();
|
|
3431
|
-
return [4 /*yield*/, async_test("Enduser status set by manual automated action", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a; return ((_a = e.journeys) === null || _a === void 0 ? void 0 : _a[PLACEHOLDER_ID]) === 'Working'; } })];
|
|
3432
|
-
case 4:
|
|
3433
3428
|
_a.sent();
|
|
3434
3429
|
return [4 /*yield*/, async_test("Automated action is finished", function () { return sdk.api.automated_actions.getOne(action.id); }, { onResult: function (e) { return e.status === 'finished'; } })];
|
|
3435
|
-
case
|
|
3430
|
+
case 4:
|
|
3436
3431
|
_a.sent();
|
|
3437
3432
|
return [4 /*yield*/, Promise.all([
|
|
3438
3433
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
3439
3434
|
sdk.api.automated_actions.deleteOne(action.id),
|
|
3440
3435
|
])];
|
|
3441
|
-
case
|
|
3436
|
+
case 5:
|
|
3442
3437
|
_a.sent();
|
|
3443
3438
|
return [2 /*return*/];
|
|
3444
3439
|
}
|
|
@@ -5153,29 +5148,26 @@ var run_autoreply_test = function (title, _a) {
|
|
|
5153
5148
|
return [4 /*yield*/, enduserSDK.api.chats.createOne({ roomId: room.id, message: 'enduser' })];
|
|
5154
5149
|
case 8:
|
|
5155
5150
|
_b.sent();
|
|
5156
|
-
return [4 /*yield*/,
|
|
5151
|
+
return [4 /*yield*/, async_test('Main test', function () { return pollForResults(function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, function (cs) { return (expectingAutoreply
|
|
5152
|
+
? cs.length === 3
|
|
5153
|
+
: cs.length === 2); }, 25, 10); }, passOnAnyResult)];
|
|
5157
5154
|
case 9:
|
|
5158
|
-
_b.sent();
|
|
5159
|
-
return [4 /*yield*/, async_test('Main test', function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function (cs) { return (expectingAutoreply
|
|
5160
|
-
? cs.length === 3
|
|
5161
|
-
: cs.length === 2); } })];
|
|
5162
|
-
case 10:
|
|
5163
5155
|
_b.sent();
|
|
5164
5156
|
return [4 /*yield*/, enduserSDK.api.chats.createOne({ roomId: room.id, message: 'enduser again' })];
|
|
5165
|
-
case
|
|
5157
|
+
case 10:
|
|
5166
5158
|
_b.sent();
|
|
5167
5159
|
return [4 /*yield*/, wait(undefined, 50)];
|
|
5168
|
-
case
|
|
5160
|
+
case 11:
|
|
5169
5161
|
_b.sent();
|
|
5170
5162
|
return [4 /*yield*/, async_test("Duplicate autoreply avoided", function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function (cs) { return (expectingAutoreply
|
|
5171
5163
|
? cs.length === 4
|
|
5172
5164
|
: cs.length === 3); } })
|
|
5173
5165
|
// cleanup, including any availability blocks
|
|
5174
5166
|
];
|
|
5175
|
-
case
|
|
5167
|
+
case 12:
|
|
5176
5168
|
_b.sent();
|
|
5177
5169
|
return [4 /*yield*/, sdk.api.availability_blocks.getSome()];
|
|
5178
|
-
case
|
|
5170
|
+
case 13:
|
|
5179
5171
|
blocks = _b.sent();
|
|
5180
5172
|
return [4 /*yield*/, Promise.all(__spreadArray([
|
|
5181
5173
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
@@ -5187,7 +5179,7 @@ var run_autoreply_test = function (title, _a) {
|
|
|
5187
5179
|
replaceObjectFields: true
|
|
5188
5180
|
})
|
|
5189
5181
|
], blocks.map(function (b) { return (sdk.api.availability_blocks.deleteOne(b.id)); }), true))];
|
|
5190
|
-
case
|
|
5182
|
+
case 14:
|
|
5191
5183
|
_b.sent();
|
|
5192
5184
|
return [2 /*return*/];
|
|
5193
5185
|
}
|
|
@@ -5510,14 +5502,11 @@ var wait_for_trigger_tests = function () { return __awaiter(void 0, void 0, void
|
|
|
5510
5502
|
// cleanup
|
|
5511
5503
|
_b.sent();
|
|
5512
5504
|
// test trigger cleaned up on journey delete
|
|
5513
|
-
return [4 /*yield*/,
|
|
5514
|
-
case 15:
|
|
5515
|
-
// test trigger cleaned up on journey delete
|
|
5516
|
-
_b.sent();
|
|
5517
|
-
return [4 /*yield*/, async_test("Trigger did not fire while not journey", function () { return sdk.api.automation_triggers.getOne(trigger.id); }, handleAnyError)
|
|
5505
|
+
return [4 /*yield*/, async_test("Trigger cleaned up by journey deletion", function () { return pollForResults(sdk.api.automation_triggers.getSome, function (results) { return !results.find(function (r) { return r.id === trigger.id; }); }, 100, 10); }, passOnAnyResult)
|
|
5518
5506
|
// double-check that wait for trigger step triggers were deleted
|
|
5519
5507
|
];
|
|
5520
|
-
case
|
|
5508
|
+
case 15:
|
|
5509
|
+
// test trigger cleaned up on journey delete
|
|
5521
5510
|
_b.sent();
|
|
5522
5511
|
return [2 /*return*/];
|
|
5523
5512
|
}
|
|
@@ -5688,41 +5677,37 @@ var remove_from_journey_on_incoming_comms_tests = function () { return __awaiter
|
|
|
5688
5677
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, senderId: e1.id, message: 'cancel' })];
|
|
5689
5678
|
case 11:
|
|
5690
5679
|
_e.sent();
|
|
5691
|
-
return [4 /*yield*/,
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5680
|
+
return [4 /*yield*/, async_test("Appropriate Automated Actions are cancelled on incoming message", function () { return pollForResults(sdk.api.automated_actions.getSome, function (actions) { return (!!actions.find(function (a) {
|
|
5681
|
+
return a.journeyId === jRemove.id
|
|
5682
|
+
&& a.automationStepId === removeStep1.id
|
|
5683
|
+
&& a.enduserId === e1.id
|
|
5684
|
+
&& a.status === 'cancelled';
|
|
5685
|
+
})
|
|
5686
|
+
&& !!actions.find(function (a) {
|
|
5696
5687
|
return a.journeyId === jRemove.id
|
|
5697
5688
|
&& a.automationStepId === removeStep1.id
|
|
5689
|
+
&& a.enduserId === e2.id
|
|
5690
|
+
&& a.status === 'active';
|
|
5691
|
+
})
|
|
5692
|
+
&& !!actions.find(function (a) {
|
|
5693
|
+
return a.journeyId === jDontRemove.id
|
|
5694
|
+
&& a.automationStepId === dontRemoveStep1.id
|
|
5698
5695
|
&& a.enduserId === e1.id
|
|
5699
|
-
&& a.status === '
|
|
5696
|
+
&& a.status === 'active';
|
|
5700
5697
|
})
|
|
5701
|
-
|
|
5702
|
-
|
|
5703
|
-
|
|
5704
|
-
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
|
|
5708
|
-
return a.journeyId === jDontRemove.id
|
|
5709
|
-
&& a.automationStepId === dontRemoveStep1.id
|
|
5710
|
-
&& a.enduserId === e1.id
|
|
5711
|
-
&& a.status === 'active';
|
|
5712
|
-
})
|
|
5713
|
-
&& !!actions.find(function (a) {
|
|
5714
|
-
return a.journeyId === jDontRemove.id
|
|
5715
|
-
&& a.automationStepId === dontRemoveStep1.id
|
|
5716
|
-
&& a.enduserId === e2.id
|
|
5717
|
-
&& a.status === 'active';
|
|
5718
|
-
})); } })];
|
|
5719
|
-
case 13:
|
|
5698
|
+
&& !!actions.find(function (a) {
|
|
5699
|
+
return a.journeyId === jDontRemove.id
|
|
5700
|
+
&& a.automationStepId === dontRemoveStep1.id
|
|
5701
|
+
&& a.enduserId === e2.id
|
|
5702
|
+
&& a.status === 'active';
|
|
5703
|
+
})); }, 25, 20); }, passOnAnyResult)];
|
|
5704
|
+
case 12:
|
|
5720
5705
|
_e.sent();
|
|
5721
5706
|
return [4 /*yield*/, sdk.api.journeys.handle_incoming_communication({ enduserId: e2.id })];
|
|
5722
|
-
case
|
|
5707
|
+
case 13:
|
|
5723
5708
|
_e.sent();
|
|
5724
5709
|
return [4 /*yield*/, wait(undefined, 250)];
|
|
5725
|
-
case
|
|
5710
|
+
case 14:
|
|
5726
5711
|
_e.sent();
|
|
5727
5712
|
return [4 /*yield*/, async_test("handle_incoming_communication test for other enduser", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (actions) { return (!!actions.find(function (a) {
|
|
5728
5713
|
return a.journeyId === jRemove.id
|
|
@@ -5730,7 +5715,7 @@ var remove_from_journey_on_incoming_comms_tests = function () { return __awaiter
|
|
|
5730
5715
|
&& a.enduserId === e2.id
|
|
5731
5716
|
&& a.status === 'cancelled';
|
|
5732
5717
|
})); } })];
|
|
5733
|
-
case
|
|
5718
|
+
case 15:
|
|
5734
5719
|
_e.sent();
|
|
5735
5720
|
return [4 /*yield*/, Promise.all([
|
|
5736
5721
|
sdk.api.endusers.deleteOne(e1.id),
|
|
@@ -5739,7 +5724,7 @@ var remove_from_journey_on_incoming_comms_tests = function () { return __awaiter
|
|
|
5739
5724
|
sdk.api.journeys.deleteOne(jDontRemove.id),
|
|
5740
5725
|
sdk.api.chat_rooms.deleteOne(room.id),
|
|
5741
5726
|
])];
|
|
5742
|
-
case
|
|
5727
|
+
case 16:
|
|
5743
5728
|
_e.sent();
|
|
5744
5729
|
return [2 /*return*/];
|
|
5745
5730
|
}
|
|
@@ -5749,9 +5734,11 @@ var pdf_generation = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
5749
5734
|
var e, responses, i, fr;
|
|
5750
5735
|
return __generator(this, function (_a) {
|
|
5751
5736
|
switch (_a.label) {
|
|
5752
|
-
case 0:
|
|
5753
|
-
|
|
5754
|
-
|
|
5737
|
+
case 0:
|
|
5738
|
+
log_header("pdf_generation Tests");
|
|
5739
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'test' })
|
|
5740
|
+
// include lots of answers to ensure PDF height doesn't produce any cut-off
|
|
5741
|
+
];
|
|
5755
5742
|
case 1:
|
|
5756
5743
|
e = _a.sent();
|
|
5757
5744
|
responses = [];
|
|
@@ -5780,7 +5767,6 @@ var pdf_generation = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
5780
5767
|
.then(function (d) { return (fs.writeFileSync('test_generated.pdf', d.data)); });
|
|
5781
5768
|
return [4 /*yield*/, Promise.all([
|
|
5782
5769
|
sdk.api.endusers.deleteOne(e.id),
|
|
5783
|
-
sdk.api.form_responses.deleteOne(fr.id),
|
|
5784
5770
|
])];
|
|
5785
5771
|
case 3:
|
|
5786
5772
|
_a.sent();
|
|
@@ -6007,10 +5993,11 @@ var pollForResults = function (f, evaluate, intervalInMS, iterations) {
|
|
|
6007
5993
|
if (intervalInMS === void 0) { intervalInMS = 500; }
|
|
6008
5994
|
if (iterations === void 0) { iterations = 20; }
|
|
6009
5995
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
6010
|
-
var i, result;
|
|
5996
|
+
var lastResult, i, result;
|
|
6011
5997
|
return __generator(this, function (_a) {
|
|
6012
5998
|
switch (_a.label) {
|
|
6013
5999
|
case 0:
|
|
6000
|
+
lastResult = undefined;
|
|
6014
6001
|
i = 0;
|
|
6015
6002
|
_a.label = 1;
|
|
6016
6003
|
case 1:
|
|
@@ -6021,13 +6008,16 @@ var pollForResults = function (f, evaluate, intervalInMS, iterations) {
|
|
|
6021
6008
|
return [4 /*yield*/, f()];
|
|
6022
6009
|
case 3:
|
|
6023
6010
|
result = _a.sent();
|
|
6011
|
+
lastResult = result;
|
|
6024
6012
|
if (evaluate(result))
|
|
6025
6013
|
return [2 /*return*/, result];
|
|
6026
6014
|
_a.label = 4;
|
|
6027
6015
|
case 4:
|
|
6028
6016
|
i++;
|
|
6029
6017
|
return [3 /*break*/, 1];
|
|
6030
|
-
case 5:
|
|
6018
|
+
case 5:
|
|
6019
|
+
console.log(lastResult);
|
|
6020
|
+
throw new Error("failed pollForResults");
|
|
6031
6021
|
}
|
|
6032
6022
|
});
|
|
6033
6023
|
});
|
|
@@ -6486,6 +6476,80 @@ var field_equals_trigger_tests = function () { return __awaiter(void 0, void 0,
|
|
|
6486
6476
|
}
|
|
6487
6477
|
});
|
|
6488
6478
|
}); };
|
|
6479
|
+
export var no_chained_triggers_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
6480
|
+
var t1, t2, enduser;
|
|
6481
|
+
return __generator(this, function (_a) {
|
|
6482
|
+
switch (_a.label) {
|
|
6483
|
+
case 0:
|
|
6484
|
+
log_header("No Chained Triggers Tests");
|
|
6485
|
+
return [4 /*yield*/, sdk.api.automation_triggers.createOne({
|
|
6486
|
+
title: 't1', status: 'Active',
|
|
6487
|
+
event: {
|
|
6488
|
+
type: 'Field Equals',
|
|
6489
|
+
info: {
|
|
6490
|
+
field: 'fname',
|
|
6491
|
+
value: 'Trigger'
|
|
6492
|
+
},
|
|
6493
|
+
},
|
|
6494
|
+
action: {
|
|
6495
|
+
type: 'Add Tags',
|
|
6496
|
+
info: { tags: ['t1'] }
|
|
6497
|
+
}
|
|
6498
|
+
})];
|
|
6499
|
+
case 1:
|
|
6500
|
+
t1 = _a.sent();
|
|
6501
|
+
return [4 /*yield*/, sdk.api.automation_triggers.createOne({
|
|
6502
|
+
title: 't2', status: 'Active',
|
|
6503
|
+
event: {
|
|
6504
|
+
type: 'Field Equals',
|
|
6505
|
+
info: {
|
|
6506
|
+
field: 'fname',
|
|
6507
|
+
value: '$exists'
|
|
6508
|
+
},
|
|
6509
|
+
},
|
|
6510
|
+
action: {
|
|
6511
|
+
type: 'Add Tags',
|
|
6512
|
+
info: { tags: ['t2'] }
|
|
6513
|
+
},
|
|
6514
|
+
enduserCondition: { $and: [{ condition: { tags: 't1' } }] },
|
|
6515
|
+
})
|
|
6516
|
+
// should only trigger t1, t1 would trigger t2 if allowed, but should not
|
|
6517
|
+
];
|
|
6518
|
+
case 2:
|
|
6519
|
+
t2 = _a.sent();
|
|
6520
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Trigger' })];
|
|
6521
|
+
case 3:
|
|
6522
|
+
enduser = _a.sent();
|
|
6523
|
+
return [4 /*yield*/, wait(undefined, 250)];
|
|
6524
|
+
case 4:
|
|
6525
|
+
_a.sent();
|
|
6526
|
+
return [4 /*yield*/, async_test("Trigger not activated by other trigger update", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a, _b; return !!(!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('t2')) && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('t1'))); } })
|
|
6527
|
+
// should cover both triggers now, which results in adding only the second tag
|
|
6528
|
+
];
|
|
6529
|
+
case 5:
|
|
6530
|
+
_a.sent();
|
|
6531
|
+
// should cover both triggers now, which results in adding only the second tag
|
|
6532
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(enduser.id, { fname: "Updated" })];
|
|
6533
|
+
case 6:
|
|
6534
|
+
// should cover both triggers now, which results in adding only the second tag
|
|
6535
|
+
_a.sent();
|
|
6536
|
+
return [4 /*yield*/, wait(undefined, 250)];
|
|
6537
|
+
case 7:
|
|
6538
|
+
_a.sent();
|
|
6539
|
+
return [4 /*yield*/, async_test("Trigger activated directly", function () { return sdk.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a; return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('t1')) && e.tags.includes('t2')); } })];
|
|
6540
|
+
case 8:
|
|
6541
|
+
_a.sent();
|
|
6542
|
+
return [4 /*yield*/, Promise.all([
|
|
6543
|
+
sdk.api.automation_triggers.deleteOne(t1.id),
|
|
6544
|
+
sdk.api.automation_triggers.deleteOne(t2.id),
|
|
6545
|
+
sdk.api.endusers.deleteOne(enduser.id)
|
|
6546
|
+
])];
|
|
6547
|
+
case 9:
|
|
6548
|
+
_a.sent();
|
|
6549
|
+
return [2 /*return*/];
|
|
6550
|
+
}
|
|
6551
|
+
});
|
|
6552
|
+
}); };
|
|
6489
6553
|
var NO_TEST = function () { };
|
|
6490
6554
|
var tests = {
|
|
6491
6555
|
phone_trees: NO_TEST,
|
|
@@ -6590,7 +6654,7 @@ var validate_schema = function () {
|
|
|
6590
6654
|
_k.sent();
|
|
6591
6655
|
_k.label = 2;
|
|
6592
6656
|
case 2:
|
|
6593
|
-
_k.trys.push([2,
|
|
6657
|
+
_k.trys.push([2, 37, , 38]);
|
|
6594
6658
|
return [4 /*yield*/, validate_schema()];
|
|
6595
6659
|
case 3:
|
|
6596
6660
|
_k.sent();
|
|
@@ -6624,86 +6688,89 @@ var validate_schema = function () {
|
|
|
6624
6688
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
6625
6689
|
case 9:
|
|
6626
6690
|
_k.sent(); // should come right after setup tests
|
|
6627
|
-
return [4 /*yield*/,
|
|
6691
|
+
return [4 /*yield*/, no_chained_triggers_tests()];
|
|
6628
6692
|
case 10:
|
|
6629
6693
|
_k.sent();
|
|
6630
|
-
return [4 /*yield*/,
|
|
6694
|
+
return [4 /*yield*/, field_equals_trigger_tests()];
|
|
6631
6695
|
case 11:
|
|
6632
6696
|
_k.sent();
|
|
6633
|
-
return [4 /*yield*/,
|
|
6697
|
+
return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
|
|
6634
6698
|
case 12:
|
|
6635
6699
|
_k.sent();
|
|
6636
|
-
return [4 /*yield*/,
|
|
6700
|
+
return [4 /*yield*/, role_based_access_tests()];
|
|
6637
6701
|
case 13:
|
|
6638
6702
|
_k.sent();
|
|
6639
|
-
return [4 /*yield*/,
|
|
6703
|
+
return [4 /*yield*/, automation_trigger_tests()];
|
|
6640
6704
|
case 14:
|
|
6641
6705
|
_k.sent();
|
|
6642
|
-
return [4 /*yield*/,
|
|
6706
|
+
return [4 /*yield*/, enduser_session_tests()];
|
|
6643
6707
|
case 15:
|
|
6644
6708
|
_k.sent();
|
|
6645
|
-
return [4 /*yield*/,
|
|
6709
|
+
return [4 /*yield*/, nextReminderInMS_tests()];
|
|
6646
6710
|
case 16:
|
|
6647
6711
|
_k.sent();
|
|
6648
|
-
return [4 /*yield*/,
|
|
6712
|
+
return [4 /*yield*/, search_tests()];
|
|
6649
6713
|
case 17:
|
|
6650
6714
|
_k.sent();
|
|
6651
|
-
return [4 /*yield*/,
|
|
6715
|
+
return [4 /*yield*/, wait_for_trigger_tests()];
|
|
6652
6716
|
case 18:
|
|
6653
6717
|
_k.sent();
|
|
6654
|
-
return [4 /*yield*/,
|
|
6718
|
+
return [4 /*yield*/, pdf_generation()];
|
|
6655
6719
|
case 19:
|
|
6656
6720
|
_k.sent();
|
|
6657
|
-
return [4 /*yield*/,
|
|
6721
|
+
return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
|
|
6658
6722
|
case 20:
|
|
6659
6723
|
_k.sent();
|
|
6660
|
-
return [4 /*yield*/,
|
|
6724
|
+
return [4 /*yield*/, rate_limit_tests()];
|
|
6661
6725
|
case 21:
|
|
6662
6726
|
_k.sent();
|
|
6663
|
-
return [4 /*yield*/,
|
|
6727
|
+
return [4 /*yield*/, merge_enduser_tests()];
|
|
6664
6728
|
case 22:
|
|
6665
6729
|
_k.sent();
|
|
6666
|
-
return [4 /*yield*/,
|
|
6730
|
+
return [4 /*yield*/, self_serve_appointment_booking_tests()];
|
|
6667
6731
|
case 23:
|
|
6668
6732
|
_k.sent();
|
|
6669
|
-
return [4 /*yield*/,
|
|
6733
|
+
return [4 /*yield*/, auto_reply_tests()];
|
|
6670
6734
|
case 24:
|
|
6671
6735
|
_k.sent();
|
|
6672
|
-
return [4 /*yield*/,
|
|
6736
|
+
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
6673
6737
|
case 25:
|
|
6674
6738
|
_k.sent();
|
|
6675
|
-
return [4 /*yield*/,
|
|
6739
|
+
return [4 /*yield*/, sub_organization_tests()];
|
|
6676
6740
|
case 26:
|
|
6677
6741
|
_k.sent();
|
|
6678
|
-
return [4 /*yield*/,
|
|
6742
|
+
return [4 /*yield*/, filter_by_date_tests()];
|
|
6679
6743
|
case 27:
|
|
6680
6744
|
_k.sent();
|
|
6681
|
-
return [4 /*yield*/,
|
|
6745
|
+
return [4 /*yield*/, generate_user_auth_tests()];
|
|
6682
6746
|
case 28:
|
|
6683
6747
|
_k.sent();
|
|
6684
|
-
return [4 /*yield*/,
|
|
6748
|
+
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
6685
6749
|
case 29:
|
|
6686
6750
|
_k.sent();
|
|
6687
|
-
return [4 /*yield*/,
|
|
6751
|
+
return [4 /*yield*/, public_form_tests()];
|
|
6688
6752
|
case 30:
|
|
6689
6753
|
_k.sent();
|
|
6690
|
-
return [4 /*yield*/,
|
|
6754
|
+
return [4 /*yield*/, badInputTests()];
|
|
6691
6755
|
case 31:
|
|
6692
6756
|
_k.sent();
|
|
6693
|
-
return [4 /*yield*/,
|
|
6757
|
+
return [4 /*yield*/, filterTests()];
|
|
6694
6758
|
case 32:
|
|
6695
6759
|
_k.sent();
|
|
6696
|
-
return [4 /*yield*/,
|
|
6760
|
+
return [4 /*yield*/, updatesTests()];
|
|
6697
6761
|
case 33:
|
|
6698
6762
|
_k.sent();
|
|
6699
|
-
return [4 /*yield*/,
|
|
6763
|
+
return [4 /*yield*/, threadKeyTests()];
|
|
6700
6764
|
case 34:
|
|
6701
6765
|
_k.sent();
|
|
6702
|
-
return [4 /*yield*/,
|
|
6766
|
+
return [4 /*yield*/, enduserAccessTests()];
|
|
6703
6767
|
case 35:
|
|
6704
6768
|
_k.sent();
|
|
6705
|
-
return [
|
|
6769
|
+
return [4 /*yield*/, enduser_redaction_tests()];
|
|
6706
6770
|
case 36:
|
|
6771
|
+
_k.sent();
|
|
6772
|
+
return [3 /*break*/, 38];
|
|
6773
|
+
case 37:
|
|
6707
6774
|
err_1 = _k.sent();
|
|
6708
6775
|
console.error("Failed during custom test");
|
|
6709
6776
|
if (err_1.message && err_1.info) {
|
|
@@ -6713,18 +6780,18 @@ var validate_schema = function () {
|
|
|
6713
6780
|
console.error(err_1);
|
|
6714
6781
|
}
|
|
6715
6782
|
process.exit(1);
|
|
6716
|
-
return [3 /*break*/,
|
|
6717
|
-
case
|
|
6783
|
+
return [3 /*break*/, 38];
|
|
6784
|
+
case 38:
|
|
6718
6785
|
_a = schema;
|
|
6719
6786
|
_b = [];
|
|
6720
6787
|
for (_c in _a)
|
|
6721
6788
|
_b.push(_c);
|
|
6722
6789
|
_i = 0;
|
|
6723
|
-
_k.label =
|
|
6724
|
-
case
|
|
6725
|
-
if (!(_i < _b.length)) return [3 /*break*/,
|
|
6790
|
+
_k.label = 39;
|
|
6791
|
+
case 39:
|
|
6792
|
+
if (!(_i < _b.length)) return [3 /*break*/, 42];
|
|
6726
6793
|
_c = _b[_i];
|
|
6727
|
-
if (!(_c in _a)) return [3 /*break*/,
|
|
6794
|
+
if (!(_c in _a)) return [3 /*break*/, 41];
|
|
6728
6795
|
n = _c;
|
|
6729
6796
|
returnValidation = (_j = (_h = schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
|
|
6730
6797
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -6735,41 +6802,41 @@ var validate_schema = function () {
|
|
|
6735
6802
|
create: returnValidation // ModelFields<ClientModel>,
|
|
6736
6803
|
}
|
|
6737
6804
|
})];
|
|
6738
|
-
case 39:
|
|
6739
|
-
_k.sent();
|
|
6740
|
-
_k.label = 40;
|
|
6741
6805
|
case 40:
|
|
6742
|
-
|
|
6743
|
-
|
|
6806
|
+
_k.sent();
|
|
6807
|
+
_k.label = 41;
|
|
6744
6808
|
case 41:
|
|
6809
|
+
_i++;
|
|
6810
|
+
return [3 /*break*/, 39];
|
|
6811
|
+
case 42:
|
|
6745
6812
|
_d = tests;
|
|
6746
6813
|
_e = [];
|
|
6747
6814
|
for (_f in _d)
|
|
6748
6815
|
_e.push(_f);
|
|
6749
6816
|
_g = 0;
|
|
6750
|
-
_k.label = 42;
|
|
6751
|
-
case 42:
|
|
6752
|
-
if (!(_g < _e.length)) return [3 /*break*/, 47];
|
|
6753
|
-
_f = _e[_g];
|
|
6754
|
-
if (!(_f in _d)) return [3 /*break*/, 46];
|
|
6755
|
-
t = _f;
|
|
6756
6817
|
_k.label = 43;
|
|
6757
6818
|
case 43:
|
|
6758
|
-
|
|
6759
|
-
|
|
6819
|
+
if (!(_g < _e.length)) return [3 /*break*/, 48];
|
|
6820
|
+
_f = _e[_g];
|
|
6821
|
+
if (!(_f in _d)) return [3 /*break*/, 47];
|
|
6822
|
+
t = _f;
|
|
6823
|
+
_k.label = 44;
|
|
6760
6824
|
case 44:
|
|
6761
|
-
_k.
|
|
6762
|
-
return [
|
|
6825
|
+
_k.trys.push([44, 46, , 47]);
|
|
6826
|
+
return [4 /*yield*/, tests[t]()];
|
|
6763
6827
|
case 45:
|
|
6828
|
+
_k.sent();
|
|
6829
|
+
return [3 /*break*/, 47];
|
|
6830
|
+
case 46:
|
|
6764
6831
|
err_2 = _k.sent();
|
|
6765
6832
|
console.error("Error running test:");
|
|
6766
6833
|
console.error(err_2);
|
|
6767
6834
|
process.exit(1);
|
|
6768
|
-
return [3 /*break*/,
|
|
6769
|
-
case 46:
|
|
6770
|
-
_g++;
|
|
6771
|
-
return [3 /*break*/, 42];
|
|
6835
|
+
return [3 /*break*/, 47];
|
|
6772
6836
|
case 47:
|
|
6837
|
+
_g++;
|
|
6838
|
+
return [3 /*break*/, 43];
|
|
6839
|
+
case 48:
|
|
6773
6840
|
process.exit();
|
|
6774
6841
|
return [2 /*return*/];
|
|
6775
6842
|
}
|