@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/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.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.formsSubmittedNoUnsubmittedTest = exports.formsUnsubmittedTest = exports.formsUnsubmittedCancelConditionTest = exports.formUnsubmittedCancelConditionTest = void 0;
|
|
85
|
+
exports.no_chained_triggers_tests = 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.formsSubmittedNoUnsubmittedTest = exports.formsUnsubmittedTest = exports.formsUnsubmittedCancelConditionTest = exports.formUnsubmittedCancelConditionTest = void 0;
|
|
86
86
|
require('source-map-support').install();
|
|
87
87
|
var axios_1 = __importDefault(require("axios"));
|
|
88
88
|
var crypto_1 = __importDefault(require("crypto"));
|
|
@@ -906,18 +906,24 @@ var run_generated_tests = function (_a) {
|
|
|
906
906
|
case 5: return [4 /*yield*/, (0, testing_1.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); } })];
|
|
907
907
|
case 6:
|
|
908
908
|
_c.sent();
|
|
909
|
-
return [4 /*yield*/, (0, testing_1.
|
|
909
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
|
|
910
910
|
case 7:
|
|
911
911
|
_c.sent();
|
|
912
|
-
|
|
913
|
-
return [4 /*yield*/, (0, testing_1.async_test)("update-".concat(singularName), function () { return queries.updateOne(_id, updates, { replaceObjectFields: true }); }, { onResult: function (u) { return typeof u === 'object' && u.id === _id; } })];
|
|
912
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
914
913
|
case 8:
|
|
915
914
|
_c.sent();
|
|
916
|
-
|
|
915
|
+
if (!model.defaultActions.update) return [3 /*break*/, 12];
|
|
916
|
+
return [4 /*yield*/, (0, testing_1.async_test)("update-".concat(singularName), function () { return queries.updateOne(_id, updates, { replaceObjectFields: true }); }, { onResult: function (u) { return typeof u === 'object' && u.id === _id; } })];
|
|
917
917
|
case 9:
|
|
918
918
|
_c.sent();
|
|
919
|
-
|
|
920
|
-
case 10:
|
|
919
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
|
|
920
|
+
case 10:
|
|
921
|
+
_c.sent();
|
|
922
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
923
|
+
case 11:
|
|
924
|
+
_c.sent();
|
|
925
|
+
_c.label = 12;
|
|
926
|
+
case 12: return [4 /*yield*/, (0, testing_1.async_test)("get-".concat(singularName), function () { return queries.getOne(_id); }, { onResult: function (d) {
|
|
921
927
|
if (!(d === null || d === void 0 ? void 0 : d.id))
|
|
922
928
|
return false;
|
|
923
929
|
for (var k in instance) {
|
|
@@ -928,7 +934,7 @@ var run_generated_tests = function (_a) {
|
|
|
928
934
|
return true;
|
|
929
935
|
}
|
|
930
936
|
})];
|
|
931
|
-
case
|
|
937
|
+
case 13:
|
|
932
938
|
_c.sent();
|
|
933
939
|
return [4 /*yield*/, (0, testing_1.async_test)("get-".concat(safeName), function () { return queries.getSome({ filter: filter }); }, { onResult: function (_a) {
|
|
934
940
|
var d = _a[0];
|
|
@@ -943,27 +949,30 @@ var run_generated_tests = function (_a) {
|
|
|
943
949
|
return true;
|
|
944
950
|
}
|
|
945
951
|
})];
|
|
946
|
-
case
|
|
952
|
+
case 14:
|
|
947
953
|
_c.sent();
|
|
948
954
|
return [4 /*yield*/, (0, testing_1.async_test)("delete-".concat(singularName), function () { return queries.deleteOne(_id); }, passOnVoid)];
|
|
949
|
-
case
|
|
955
|
+
case 15:
|
|
956
|
+
_c.sent();
|
|
957
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
|
|
958
|
+
case 16:
|
|
950
959
|
_c.sent();
|
|
951
960
|
return [4 /*yield*/, (0, testing_1.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'; } })
|
|
952
961
|
// lots of side effects
|
|
953
962
|
];
|
|
954
|
-
case
|
|
963
|
+
case 17:
|
|
955
964
|
_c.sent();
|
|
956
|
-
if (!(name === 'endusers')) return [3 /*break*/,
|
|
965
|
+
if (!(name === 'endusers')) return [3 /*break*/, 19];
|
|
957
966
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
|
|
958
|
-
case
|
|
967
|
+
case 18:
|
|
959
968
|
_c.sent();
|
|
960
|
-
return [3 /*break*/,
|
|
961
|
-
case
|
|
962
|
-
case
|
|
969
|
+
return [3 /*break*/, 21];
|
|
970
|
+
case 19: return [4 /*yield*/, (0, testing_1.wait)(undefined, 50)];
|
|
971
|
+
case 20:
|
|
963
972
|
_c.sent();
|
|
964
|
-
_c.label =
|
|
965
|
-
case
|
|
966
|
-
case
|
|
973
|
+
_c.label = 21;
|
|
974
|
+
case 21: return [4 /*yield*/, (0, testing_1.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; } })];
|
|
975
|
+
case 22:
|
|
967
976
|
_c.sent();
|
|
968
977
|
return [2 /*return*/];
|
|
969
978
|
}
|
|
@@ -1927,21 +1936,24 @@ var files_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
1927
1936
|
return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
|
|
1928
1937
|
case 3:
|
|
1929
1938
|
_c.sent();
|
|
1939
|
+
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // to use new role, handle logout on role change
|
|
1940
|
+
case 4:
|
|
1941
|
+
_c.sent(); // to use new role, handle logout on role change
|
|
1930
1942
|
buff = buffer.Buffer.from('test file data');
|
|
1931
1943
|
return [4 /*yield*/, (0, testing_1.async_test)("non admin can prepare file upload", function () { return sdkNonAdmin.api.files.prepare_file_upload({
|
|
1932
1944
|
name: 'Test File', size: buff.byteLength, type: 'text/plain'
|
|
1933
1945
|
}); }, { onResult: function (t) { return true; } })];
|
|
1934
|
-
case
|
|
1946
|
+
case 5:
|
|
1935
1947
|
_c.sent();
|
|
1936
1948
|
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1937
1949
|
name: 'Test Private', size: buff.byteLength, type: 'text/plain', enduserId: enduser.id,
|
|
1938
1950
|
})];
|
|
1939
|
-
case
|
|
1951
|
+
case 6:
|
|
1940
1952
|
_a = _c.sent(), presignedUpload = _a.presignedUpload, file = _a.file;
|
|
1941
1953
|
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1942
1954
|
name: 'Test Private (no enduser)', size: buff.byteLength, type: 'text/plain',
|
|
1943
1955
|
})];
|
|
1944
|
-
case
|
|
1956
|
+
case 7:
|
|
1945
1957
|
_b = _c.sent(), presignedNonEnduser = _b.presignedUpload, fileNonEnduser = _b.file;
|
|
1946
1958
|
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1947
1959
|
name: 'Test Public', size: buff.byteLength, type: 'text/plain',
|
|
@@ -1949,62 +1961,62 @@ var files_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
1949
1961
|
publicRead: true,
|
|
1950
1962
|
publicName: 'public',
|
|
1951
1963
|
})];
|
|
1952
|
-
case
|
|
1964
|
+
case 8:
|
|
1953
1965
|
presigned2 = (_c.sent()).presignedUpload;
|
|
1954
1966
|
return [4 /*yield*/, sdk.UPLOAD(
|
|
1955
1967
|
// @ts-ignore
|
|
1956
1968
|
presignedUpload, buff)];
|
|
1957
|
-
case
|
|
1969
|
+
case 9:
|
|
1958
1970
|
_c.sent();
|
|
1959
1971
|
return [4 /*yield*/, sdk.UPLOAD(
|
|
1960
1972
|
// @ts-ignore
|
|
1961
1973
|
presignedNonEnduser, buff)];
|
|
1962
|
-
case
|
|
1974
|
+
case 10:
|
|
1963
1975
|
_c.sent();
|
|
1964
1976
|
return [4 /*yield*/, sdk.UPLOAD(
|
|
1965
1977
|
// @ts-ignore
|
|
1966
1978
|
presigned2, buff)];
|
|
1967
|
-
case
|
|
1979
|
+
case 11:
|
|
1968
1980
|
_c.sent();
|
|
1969
1981
|
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
1970
|
-
case
|
|
1982
|
+
case 12:
|
|
1971
1983
|
_c.sent();
|
|
1972
1984
|
return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1973
|
-
case
|
|
1985
|
+
case 13:
|
|
1974
1986
|
downloadURL = (_c.sent()).downloadURL;
|
|
1975
1987
|
return [4 /*yield*/, sdk.DOWNLOAD(downloadURL)];
|
|
1976
|
-
case
|
|
1988
|
+
case 14:
|
|
1977
1989
|
downloaded = _c.sent();
|
|
1978
1990
|
(0, testing_1.assert)(downloaded === buff.toString(), 'downloaded file does not match uploaded file', 'upload, download comparison');
|
|
1979
1991
|
return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1980
|
-
case
|
|
1992
|
+
case 15:
|
|
1981
1993
|
cachedURL = (_c.sent()).downloadURL;
|
|
1982
1994
|
(0, testing_1.assert)(downloadURL === cachedURL, 'cache download url failed', 'download url cache');
|
|
1983
1995
|
return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1984
|
-
case
|
|
1996
|
+
case 16:
|
|
1985
1997
|
urlForEnduser = (_c.sent()).downloadURL;
|
|
1986
1998
|
(0, testing_1.assert)(downloadURL === urlForEnduser, 'failed to get download url for enduser', 'download url for enduser');
|
|
1987
1999
|
return [4 /*yield*/, Promise.all([
|
|
1988
2000
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
1989
2001
|
])];
|
|
1990
|
-
case
|
|
2002
|
+
case 17:
|
|
1991
2003
|
_c.sent();
|
|
1992
2004
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 2000)]; // wait for files to be deleted as side effect
|
|
1993
|
-
case
|
|
2005
|
+
case 18:
|
|
1994
2006
|
_c.sent(); // wait for files to be deleted as side effect
|
|
1995
2007
|
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
1996
|
-
case
|
|
2008
|
+
case 19:
|
|
1997
2009
|
_c.sent();
|
|
1998
2010
|
return [4 /*yield*/, (0, testing_1.async_test)("Non-enduser file is left", function () { return sdk.api.files.getSome(); }, { onResult: function (fs) { return fs.length > 0; } })
|
|
1999
2011
|
// cleanup other file
|
|
2000
2012
|
];
|
|
2001
|
-
case
|
|
2013
|
+
case 20:
|
|
2002
2014
|
_c.sent();
|
|
2003
2015
|
// cleanup other file
|
|
2004
2016
|
return [4 /*yield*/, Promise.all([
|
|
2005
2017
|
sdk.api.files.deleteOne(fileNonEnduser.id),
|
|
2006
2018
|
])];
|
|
2007
|
-
case
|
|
2019
|
+
case 21:
|
|
2008
2020
|
// cleanup other file
|
|
2009
2021
|
_c.sent();
|
|
2010
2022
|
return [2 /*return*/];
|
|
@@ -2445,11 +2457,8 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2445
2457
|
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserWithTeam.id, { journeys: (_b = {}, _b[nullJourney.id] = 'Added (Null)', _b) })];
|
|
2446
2458
|
case 16:
|
|
2447
2459
|
_c.sent();
|
|
2448
|
-
return [4 /*yield*/, (0, testing_1.
|
|
2460
|
+
return [4 /*yield*/, (0, testing_1.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)];
|
|
2449
2461
|
case 17:
|
|
2450
|
-
_c.sent(); // wait for tickets to be automatically created
|
|
2451
|
-
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; } })];
|
|
2452
|
-
case 18:
|
|
2453
2462
|
_c.sent();
|
|
2454
2463
|
return [4 /*yield*/, (0, testing_1.async_test)("Ticket for enduser, default assignment, testCloseReasons", function () { return sdk.api.tickets.getSome({ filter: { enduserId: enduser.id } }); }, { onResult: function (tickets) {
|
|
2455
2464
|
var _a;
|
|
@@ -2457,10 +2466,10 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2457
2466
|
&& ((_a = tickets[0].closeReasons) === null || _a === void 0 ? void 0 : _a.length) === 3
|
|
2458
2467
|
&& tickets[0].owner === sdk.userInfo.id);
|
|
2459
2468
|
} })];
|
|
2460
|
-
case
|
|
2469
|
+
case 18:
|
|
2461
2470
|
_c.sent();
|
|
2462
2471
|
return [4 /*yield*/, sdk.api.tickets.getOne({ enduserId: enduser.id })];
|
|
2463
|
-
case
|
|
2472
|
+
case 19:
|
|
2464
2473
|
ticket = _c.sent();
|
|
2465
2474
|
return [4 /*yield*/, (0, testing_1.async_test)("Ticket for enduser, care team assignment, no reasons", function () { return sdk.api.tickets.getSome({ filter: { enduserId: enduserWithTeam.id } }); }, { onResult: function (tickets) {
|
|
2466
2475
|
var _a;
|
|
@@ -2469,19 +2478,19 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2469
2478
|
&& tickets[0].owner === sdkNonAdmin.userInfo.id;
|
|
2470
2479
|
}
|
|
2471
2480
|
})];
|
|
2472
|
-
case
|
|
2481
|
+
case 20:
|
|
2473
2482
|
_c.sent();
|
|
2474
2483
|
return [4 /*yield*/, sdk.api.tickets.getOne({ enduserId: enduserWithTeam.id })];
|
|
2475
|
-
case
|
|
2484
|
+
case 21:
|
|
2476
2485
|
ticketNull = _c.sent();
|
|
2477
2486
|
return [4 /*yield*/, sdk.api.tickets.updateOne(ticket.id, { closedForReason: 'Maybe', closedAt: new Date() })];
|
|
2478
|
-
case
|
|
2487
|
+
case 22:
|
|
2479
2488
|
_c.sent();
|
|
2480
2489
|
return [4 /*yield*/, sdk.api.tickets.updateOne(ticketNull.id, { closedAt: new Date() })];
|
|
2481
|
-
case
|
|
2490
|
+
case 23:
|
|
2482
2491
|
_c.sent();
|
|
2483
2492
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)]; // wait for actions to be automatically created
|
|
2484
|
-
case
|
|
2493
|
+
case 24:
|
|
2485
2494
|
_c.sent(); // wait for actions to be automatically created
|
|
2486
2495
|
return [4 /*yield*/, (0, testing_1.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
|
|
2487
2496
|
&& (!!actions.find(function (a) {
|
|
@@ -2498,7 +2507,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2498
2507
|
&& a.action.info.status === 'Null';
|
|
2499
2508
|
} // null branch when completed without closedForReason
|
|
2500
2509
|
)); }) })];
|
|
2501
|
-
case
|
|
2510
|
+
case 25:
|
|
2502
2511
|
_c.sent();
|
|
2503
2512
|
return [4 /*yield*/, Promise.all([
|
|
2504
2513
|
sdk.api.journeys.deleteOne(journey.id),
|
|
@@ -2508,7 +2517,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
2508
2517
|
sdk.api.tickets.deleteOne(ticket.id),
|
|
2509
2518
|
sdk.api.tickets.deleteOne(ticketNull.id),
|
|
2510
2519
|
])];
|
|
2511
|
-
case
|
|
2520
|
+
case 26:
|
|
2512
2521
|
_c.sent();
|
|
2513
2522
|
return [2 /*return*/];
|
|
2514
2523
|
}
|
|
@@ -2577,17 +2586,14 @@ var removeFromJourneyTests = function () { return __awaiter(void 0, void 0, void
|
|
|
2577
2586
|
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'; } })];
|
|
2578
2587
|
case 10:
|
|
2579
2588
|
_b.sent();
|
|
2580
|
-
return [4 /*yield*/, (0, testing_1.
|
|
2589
|
+
return [4 /*yield*/, (0, testing_1.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)];
|
|
2581
2590
|
case 11:
|
|
2582
|
-
_b.sent(); // wait long enough for automation to process and delay to pass
|
|
2583
|
-
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'; } })];
|
|
2584
|
-
case 12:
|
|
2585
2591
|
_b.sent();
|
|
2586
2592
|
return [4 /*yield*/, Promise.all([
|
|
2587
2593
|
sdk.api.journeys.deleteOne(journey.id),
|
|
2588
2594
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
2589
2595
|
])];
|
|
2590
|
-
case
|
|
2596
|
+
case 12:
|
|
2591
2597
|
_b.sent();
|
|
2592
2598
|
return [2 /*return*/];
|
|
2593
2599
|
}
|
|
@@ -2818,14 +2824,11 @@ var formUnsubmittedCancelConditionTest = function () { return __awaiter(void 0,
|
|
|
2818
2824
|
case 10:
|
|
2819
2825
|
accessCode = (_a.sent()).accessCode;
|
|
2820
2826
|
// allow fast followup to trigger
|
|
2821
|
-
return [4 /*yield*/, (0, testing_1.
|
|
2822
|
-
case 11:
|
|
2823
|
-
// allow fast followup to trigger
|
|
2824
|
-
_a.sent(); // allow background creation with generous pause
|
|
2825
|
-
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'; } })
|
|
2827
|
+
return [4 /*yield*/, (0, testing_1.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)
|
|
2826
2828
|
// trigger cancel conditions
|
|
2827
2829
|
];
|
|
2828
|
-
case
|
|
2830
|
+
case 11:
|
|
2831
|
+
// allow fast followup to trigger
|
|
2829
2832
|
_a.sent();
|
|
2830
2833
|
// trigger cancel conditions
|
|
2831
2834
|
return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: accessCode, automationStepId: triggerStep.id, responses: [{
|
|
@@ -2836,11 +2839,11 @@ var formUnsubmittedCancelConditionTest = function () { return __awaiter(void 0,
|
|
|
2836
2839
|
fieldId: field.id,
|
|
2837
2840
|
fieldTitle: field.title,
|
|
2838
2841
|
}] })];
|
|
2839
|
-
case
|
|
2842
|
+
case 12:
|
|
2840
2843
|
// trigger cancel conditions
|
|
2841
2844
|
_a.sent();
|
|
2842
2845
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 1500)]; // allow background creation with generous pause
|
|
2843
|
-
case
|
|
2846
|
+
case 13:
|
|
2844
2847
|
_a.sent(); // allow background creation with generous pause
|
|
2845
2848
|
return [4 /*yield*/, (0, testing_1.async_test)("Cancel conditions work for followup", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (as) {
|
|
2846
2849
|
var _a, _b;
|
|
@@ -2850,14 +2853,14 @@ var formUnsubmittedCancelConditionTest = function () { return __awaiter(void 0,
|
|
|
2850
2853
|
&& as.filter(function (a) { return a.status === 'cancelled'; }).length === 2;
|
|
2851
2854
|
}
|
|
2852
2855
|
})];
|
|
2853
|
-
case
|
|
2856
|
+
case 14:
|
|
2854
2857
|
_a.sent();
|
|
2855
2858
|
return [4 /*yield*/, Promise.all([
|
|
2856
2859
|
sdk.api.forms.deleteOne(form.id),
|
|
2857
2860
|
sdk.api.journeys.deleteOne(journey.id),
|
|
2858
2861
|
sdk.api.endusers.deleteOne(enduser.id)
|
|
2859
2862
|
])];
|
|
2860
|
-
case
|
|
2863
|
+
case 15:
|
|
2861
2864
|
_a.sent();
|
|
2862
2865
|
return [2 /*return*/];
|
|
2863
2866
|
}
|
|
@@ -3037,7 +3040,7 @@ var formsUnsubmittedCancelConditionTest = function () { return __awaiter(void 0,
|
|
|
3037
3040
|
} })];
|
|
3038
3041
|
case 19:
|
|
3039
3042
|
_a.sent();
|
|
3040
|
-
return [4 /*yield*/, (0, testing_1.async_test)("formResponses triggered after both forms submitted", function () { return sdk.api.endusers.getOne(enduser.id); },
|
|
3043
|
+
return [4 /*yield*/, (0, testing_1.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)];
|
|
3041
3044
|
case 20:
|
|
3042
3045
|
_a.sent();
|
|
3043
3046
|
return [4 /*yield*/, Promise.all([
|
|
@@ -3138,20 +3141,13 @@ var formsUnsubmittedTest = function () { return __awaiter(void 0, void 0, void 0
|
|
|
3138
3141
|
case 8:
|
|
3139
3142
|
// triggers formsUnsubmitted automated actions to be created when forms generated in templated message
|
|
3140
3143
|
_a.sent();
|
|
3141
|
-
return [4 /*yield*/, sdk.api.form_responses.getSome()
|
|
3142
|
-
// allow fast followup to trigger
|
|
3143
|
-
];
|
|
3144
|
+
return [4 /*yield*/, sdk.api.form_responses.getSome()];
|
|
3144
3145
|
case 9:
|
|
3145
3146
|
form_responses = _a.sent();
|
|
3146
|
-
|
|
3147
|
-
return [4 /*yield*/, (0, testing_1.wait)(undefined, 5000)]; // allow background creation with generous pause
|
|
3148
|
-
case 10:
|
|
3149
|
-
// allow fast followup to trigger
|
|
3150
|
-
_a.sent(); // allow background creation with generous pause
|
|
3151
|
-
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'; } })
|
|
3147
|
+
return [4 /*yield*/, (0, testing_1.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)
|
|
3152
3148
|
// trigger cancel conditions
|
|
3153
3149
|
];
|
|
3154
|
-
case
|
|
3150
|
+
case 10:
|
|
3155
3151
|
_a.sent();
|
|
3156
3152
|
// trigger cancel conditions
|
|
3157
3153
|
return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: form_responses[0].accessCode, automationStepId: triggerStep.id, responses: [{
|
|
@@ -3162,14 +3158,14 @@ var formsUnsubmittedTest = function () { return __awaiter(void 0, void 0, void 0
|
|
|
3162
3158
|
fieldId: field.id,
|
|
3163
3159
|
fieldTitle: field.title,
|
|
3164
3160
|
}] })];
|
|
3165
|
-
case
|
|
3161
|
+
case 11:
|
|
3166
3162
|
// trigger cancel conditions
|
|
3167
3163
|
_a.sent();
|
|
3168
3164
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 5000)]; // allow background creation with generous pause
|
|
3169
|
-
case
|
|
3165
|
+
case 12:
|
|
3170
3166
|
_a.sent(); // allow background creation with generous pause
|
|
3171
3167
|
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'; } })];
|
|
3172
|
-
case
|
|
3168
|
+
case 13:
|
|
3173
3169
|
_a.sent();
|
|
3174
3170
|
return [4 /*yield*/, sdk.api.form_responses.submit_form_response({ accessCode: form_responses[1].accessCode, automationStepId: triggerStep.id, responses: [{
|
|
3175
3171
|
answer: {
|
|
@@ -3179,20 +3175,20 @@ var formsUnsubmittedTest = function () { return __awaiter(void 0, void 0, void 0
|
|
|
3179
3175
|
fieldId: field.id,
|
|
3180
3176
|
fieldTitle: field.title,
|
|
3181
3177
|
}] })];
|
|
3182
|
-
case
|
|
3178
|
+
case 14:
|
|
3183
3179
|
_a.sent();
|
|
3184
3180
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 5000)]; // allow background creation with generous pause
|
|
3185
|
-
case
|
|
3181
|
+
case 15:
|
|
3186
3182
|
_a.sent(); // allow background creation with generous pause
|
|
3187
3183
|
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'; } })];
|
|
3188
|
-
case
|
|
3184
|
+
case 16:
|
|
3189
3185
|
_a.sent();
|
|
3190
3186
|
return [4 /*yield*/, Promise.all([
|
|
3191
3187
|
sdk.api.forms.deleteOne(form.id),
|
|
3192
3188
|
sdk.api.journeys.deleteOne(journey.id),
|
|
3193
3189
|
sdk.api.endusers.deleteOne(enduser.id)
|
|
3194
3190
|
])];
|
|
3195
|
-
case
|
|
3191
|
+
case 17:
|
|
3196
3192
|
_a.sent();
|
|
3197
3193
|
return [2 /*return*/];
|
|
3198
3194
|
}
|
|
@@ -3401,33 +3397,35 @@ var addToJourneyTests = function () { return __awaiter(void 0, void 0, void 0, f
|
|
|
3401
3397
|
case 5:
|
|
3402
3398
|
// add to journey and re-add
|
|
3403
3399
|
_a.sent();
|
|
3404
|
-
return [4 /*yield*/, (0, testing_1.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'; } })
|
|
3400
|
+
return [4 /*yield*/, (0, testing_1.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'; } })
|
|
3401
|
+
// ensure that second step is generated before first is cancelled
|
|
3402
|
+
];
|
|
3405
3403
|
case 6:
|
|
3406
3404
|
_a.sent();
|
|
3407
|
-
|
|
3405
|
+
// ensure that second step is generated before first is cancelled
|
|
3406
|
+
return [4 /*yield*/, pollForResults(sdk.api.automated_actions.getSome, function (es) { return es.length === 2; }, 100, 50)];
|
|
3408
3407
|
case 7:
|
|
3409
|
-
|
|
3408
|
+
// ensure that second step is generated before first is cancelled
|
|
3409
|
+
_a.sent();
|
|
3410
3410
|
return [4 /*yield*/, sdk.api.endusers.add_to_journey({ enduserIds: [enduser.id], journeyId: journey.id })];
|
|
3411
3411
|
case 8:
|
|
3412
|
+
// ensure that second step is generated before first is cancelled
|
|
3412
3413
|
_a.sent();
|
|
3413
|
-
return [4 /*yield*/, (0, testing_1.async_test)("Enduser
|
|
3414
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser correctly added and re-added", function () { return pollForResults(sdk.api.automated_actions.getSome, function (es) { return (es.length === 4
|
|
3415
|
+
&& es.filter(function (e) { return e.status === 'cancelled' && e.automationStepId === follow.id; }).length === 1 // one afterAction is cancelled
|
|
3416
|
+
&& es.filter(function (e) { return e.status === 'active' && e.automationStepId === follow.id; }).length === 1 // one afterAction is still active
|
|
3417
|
+
&& es.filter(function (e) { return e.status === 'finished' && e.automationStepId === root.id; }).length === 2 // two initial onJourneyStart
|
|
3418
|
+
); }, 250, 40); }, passOnAnyResult)];
|
|
3414
3419
|
case 9:
|
|
3415
3420
|
_a.sent();
|
|
3416
|
-
return [4 /*yield*/, (0, testing_1.
|
|
3421
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Enduser throttle journey add working", function () { return sdk.api.endusers.add_to_journey({ enduserIds: [enduser.id], journeyId: journey.id, throttle: true }); }, handleAnyError)];
|
|
3417
3422
|
case 10:
|
|
3418
|
-
_a.sent(); // allow onJourneyStart step to trigger
|
|
3419
|
-
return [4 /*yield*/, (0, testing_1.async_test)("Enduser correctly added and re-added", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (es) { return es.length === 4
|
|
3420
|
-
&& es.filter(function (e) { return e.status === 'cancelled' && e.automationStepId === follow.id; }).length === 1 // one afterAction is cancelled
|
|
3421
|
-
&& es.filter(function (e) { return e.status === 'active' && e.automationStepId === follow.id; }).length === 1 // one afterAction is still active
|
|
3422
|
-
&& es.filter(function (e) { return e.status === 'finished' && e.automationStepId === root.id; }).length === 2; } // two initial onJourneyStart
|
|
3423
|
-
})];
|
|
3424
|
-
case 11:
|
|
3425
3423
|
_a.sent();
|
|
3426
3424
|
return [4 /*yield*/, Promise.all([
|
|
3427
3425
|
sdk.api.journeys.deleteOne(journey.id),
|
|
3428
3426
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
3429
3427
|
])];
|
|
3430
|
-
case
|
|
3428
|
+
case 11:
|
|
3431
3429
|
_a.sent();
|
|
3432
3430
|
return [2 /*return*/];
|
|
3433
3431
|
}
|
|
@@ -3459,20 +3457,17 @@ var directAutomatedActionTest = function () { return __awaiter(void 0, void 0, v
|
|
|
3459
3457
|
})];
|
|
3460
3458
|
case 2:
|
|
3461
3459
|
action = _a.sent();
|
|
3462
|
-
return [4 /*yield*/, (0, testing_1.
|
|
3460
|
+
return [4 /*yield*/, (0, testing_1.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[constants_1.PLACEHOLDER_ID]) === 'Working'; }, 1000, 10); }, passOnAnyResult)];
|
|
3463
3461
|
case 3:
|
|
3464
|
-
_a.sent();
|
|
3465
|
-
return [4 /*yield*/, (0, testing_1.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[constants_1.PLACEHOLDER_ID]) === 'Working'; } })];
|
|
3466
|
-
case 4:
|
|
3467
3462
|
_a.sent();
|
|
3468
3463
|
return [4 /*yield*/, (0, testing_1.async_test)("Automated action is finished", function () { return sdk.api.automated_actions.getOne(action.id); }, { onResult: function (e) { return e.status === 'finished'; } })];
|
|
3469
|
-
case
|
|
3464
|
+
case 4:
|
|
3470
3465
|
_a.sent();
|
|
3471
3466
|
return [4 /*yield*/, Promise.all([
|
|
3472
3467
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
3473
3468
|
sdk.api.automated_actions.deleteOne(action.id),
|
|
3474
3469
|
])];
|
|
3475
|
-
case
|
|
3470
|
+
case 5:
|
|
3476
3471
|
_a.sent();
|
|
3477
3472
|
return [2 /*return*/];
|
|
3478
3473
|
}
|
|
@@ -5194,29 +5189,26 @@ var run_autoreply_test = function (title, _a) {
|
|
|
5194
5189
|
return [4 /*yield*/, enduserSDK.api.chats.createOne({ roomId: room.id, message: 'enduser' })];
|
|
5195
5190
|
case 8:
|
|
5196
5191
|
_b.sent();
|
|
5197
|
-
return [4 /*yield*/, (0, testing_1.
|
|
5192
|
+
return [4 /*yield*/, (0, testing_1.async_test)('Main test', function () { return pollForResults(function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, function (cs) { return (expectingAutoreply
|
|
5193
|
+
? cs.length === 3
|
|
5194
|
+
: cs.length === 2); }, 25, 10); }, passOnAnyResult)];
|
|
5198
5195
|
case 9:
|
|
5199
|
-
_b.sent();
|
|
5200
|
-
return [4 /*yield*/, (0, testing_1.async_test)('Main test', function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function (cs) { return (expectingAutoreply
|
|
5201
|
-
? cs.length === 3
|
|
5202
|
-
: cs.length === 2); } })];
|
|
5203
|
-
case 10:
|
|
5204
5196
|
_b.sent();
|
|
5205
5197
|
return [4 /*yield*/, enduserSDK.api.chats.createOne({ roomId: room.id, message: 'enduser again' })];
|
|
5206
|
-
case
|
|
5198
|
+
case 10:
|
|
5207
5199
|
_b.sent();
|
|
5208
5200
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 50)];
|
|
5209
|
-
case
|
|
5201
|
+
case 11:
|
|
5210
5202
|
_b.sent();
|
|
5211
5203
|
return [4 /*yield*/, (0, testing_1.async_test)("Duplicate autoreply avoided", function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function (cs) { return (expectingAutoreply
|
|
5212
5204
|
? cs.length === 4
|
|
5213
5205
|
: cs.length === 3); } })
|
|
5214
5206
|
// cleanup, including any availability blocks
|
|
5215
5207
|
];
|
|
5216
|
-
case
|
|
5208
|
+
case 12:
|
|
5217
5209
|
_b.sent();
|
|
5218
5210
|
return [4 /*yield*/, sdk.api.availability_blocks.getSome()];
|
|
5219
|
-
case
|
|
5211
|
+
case 13:
|
|
5220
5212
|
blocks = _b.sent();
|
|
5221
5213
|
return [4 /*yield*/, Promise.all(__spreadArray([
|
|
5222
5214
|
sdk.api.endusers.deleteOne(enduser.id),
|
|
@@ -5228,7 +5220,7 @@ var run_autoreply_test = function (title, _a) {
|
|
|
5228
5220
|
replaceObjectFields: true
|
|
5229
5221
|
})
|
|
5230
5222
|
], blocks.map(function (b) { return (sdk.api.availability_blocks.deleteOne(b.id)); }), true))];
|
|
5231
|
-
case
|
|
5223
|
+
case 14:
|
|
5232
5224
|
_b.sent();
|
|
5233
5225
|
return [2 /*return*/];
|
|
5234
5226
|
}
|
|
@@ -5551,14 +5543,11 @@ var wait_for_trigger_tests = function () { return __awaiter(void 0, void 0, void
|
|
|
5551
5543
|
// cleanup
|
|
5552
5544
|
_b.sent();
|
|
5553
5545
|
// test trigger cleaned up on journey delete
|
|
5554
|
-
return [4 /*yield*/, (0, testing_1.
|
|
5555
|
-
case 15:
|
|
5556
|
-
// test trigger cleaned up on journey delete
|
|
5557
|
-
_b.sent();
|
|
5558
|
-
return [4 /*yield*/, (0, testing_1.async_test)("Trigger did not fire while not journey", function () { return sdk.api.automation_triggers.getOne(trigger.id); }, handleAnyError)
|
|
5546
|
+
return [4 /*yield*/, (0, testing_1.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)
|
|
5559
5547
|
// double-check that wait for trigger step triggers were deleted
|
|
5560
5548
|
];
|
|
5561
|
-
case
|
|
5549
|
+
case 15:
|
|
5550
|
+
// test trigger cleaned up on journey delete
|
|
5562
5551
|
_b.sent();
|
|
5563
5552
|
return [2 /*return*/];
|
|
5564
5553
|
}
|
|
@@ -5729,41 +5718,37 @@ var remove_from_journey_on_incoming_comms_tests = function () { return __awaiter
|
|
|
5729
5718
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, senderId: e1.id, message: 'cancel' })];
|
|
5730
5719
|
case 11:
|
|
5731
5720
|
_e.sent();
|
|
5732
|
-
return [4 /*yield*/, (0, testing_1.
|
|
5733
|
-
|
|
5734
|
-
|
|
5735
|
-
|
|
5736
|
-
|
|
5721
|
+
return [4 /*yield*/, (0, testing_1.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) {
|
|
5722
|
+
return a.journeyId === jRemove.id
|
|
5723
|
+
&& a.automationStepId === removeStep1.id
|
|
5724
|
+
&& a.enduserId === e1.id
|
|
5725
|
+
&& a.status === 'cancelled';
|
|
5726
|
+
})
|
|
5727
|
+
&& !!actions.find(function (a) {
|
|
5737
5728
|
return a.journeyId === jRemove.id
|
|
5738
5729
|
&& a.automationStepId === removeStep1.id
|
|
5730
|
+
&& a.enduserId === e2.id
|
|
5731
|
+
&& a.status === 'active';
|
|
5732
|
+
})
|
|
5733
|
+
&& !!actions.find(function (a) {
|
|
5734
|
+
return a.journeyId === jDontRemove.id
|
|
5735
|
+
&& a.automationStepId === dontRemoveStep1.id
|
|
5739
5736
|
&& a.enduserId === e1.id
|
|
5740
|
-
&& a.status === '
|
|
5737
|
+
&& a.status === 'active';
|
|
5741
5738
|
})
|
|
5742
|
-
|
|
5743
|
-
|
|
5744
|
-
|
|
5745
|
-
|
|
5746
|
-
|
|
5747
|
-
|
|
5748
|
-
|
|
5749
|
-
return a.journeyId === jDontRemove.id
|
|
5750
|
-
&& a.automationStepId === dontRemoveStep1.id
|
|
5751
|
-
&& a.enduserId === e1.id
|
|
5752
|
-
&& a.status === 'active';
|
|
5753
|
-
})
|
|
5754
|
-
&& !!actions.find(function (a) {
|
|
5755
|
-
return a.journeyId === jDontRemove.id
|
|
5756
|
-
&& a.automationStepId === dontRemoveStep1.id
|
|
5757
|
-
&& a.enduserId === e2.id
|
|
5758
|
-
&& a.status === 'active';
|
|
5759
|
-
})); } })];
|
|
5760
|
-
case 13:
|
|
5739
|
+
&& !!actions.find(function (a) {
|
|
5740
|
+
return a.journeyId === jDontRemove.id
|
|
5741
|
+
&& a.automationStepId === dontRemoveStep1.id
|
|
5742
|
+
&& a.enduserId === e2.id
|
|
5743
|
+
&& a.status === 'active';
|
|
5744
|
+
})); }, 25, 20); }, passOnAnyResult)];
|
|
5745
|
+
case 12:
|
|
5761
5746
|
_e.sent();
|
|
5762
5747
|
return [4 /*yield*/, sdk.api.journeys.handle_incoming_communication({ enduserId: e2.id })];
|
|
5763
|
-
case
|
|
5748
|
+
case 13:
|
|
5764
5749
|
_e.sent();
|
|
5765
5750
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)];
|
|
5766
|
-
case
|
|
5751
|
+
case 14:
|
|
5767
5752
|
_e.sent();
|
|
5768
5753
|
return [4 /*yield*/, (0, testing_1.async_test)("handle_incoming_communication test for other enduser", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (actions) { return (!!actions.find(function (a) {
|
|
5769
5754
|
return a.journeyId === jRemove.id
|
|
@@ -5771,7 +5756,7 @@ var remove_from_journey_on_incoming_comms_tests = function () { return __awaiter
|
|
|
5771
5756
|
&& a.enduserId === e2.id
|
|
5772
5757
|
&& a.status === 'cancelled';
|
|
5773
5758
|
})); } })];
|
|
5774
|
-
case
|
|
5759
|
+
case 15:
|
|
5775
5760
|
_e.sent();
|
|
5776
5761
|
return [4 /*yield*/, Promise.all([
|
|
5777
5762
|
sdk.api.endusers.deleteOne(e1.id),
|
|
@@ -5780,7 +5765,7 @@ var remove_from_journey_on_incoming_comms_tests = function () { return __awaiter
|
|
|
5780
5765
|
sdk.api.journeys.deleteOne(jDontRemove.id),
|
|
5781
5766
|
sdk.api.chat_rooms.deleteOne(room.id),
|
|
5782
5767
|
])];
|
|
5783
|
-
case
|
|
5768
|
+
case 16:
|
|
5784
5769
|
_e.sent();
|
|
5785
5770
|
return [2 /*return*/];
|
|
5786
5771
|
}
|
|
@@ -5790,9 +5775,11 @@ var pdf_generation = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
5790
5775
|
var e, responses, i, fr;
|
|
5791
5776
|
return __generator(this, function (_a) {
|
|
5792
5777
|
switch (_a.label) {
|
|
5793
|
-
case 0:
|
|
5794
|
-
|
|
5795
|
-
|
|
5778
|
+
case 0:
|
|
5779
|
+
(0, testing_1.log_header)("pdf_generation Tests");
|
|
5780
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'test' })
|
|
5781
|
+
// include lots of answers to ensure PDF height doesn't produce any cut-off
|
|
5782
|
+
];
|
|
5796
5783
|
case 1:
|
|
5797
5784
|
e = _a.sent();
|
|
5798
5785
|
responses = [];
|
|
@@ -5821,7 +5808,6 @@ var pdf_generation = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
5821
5808
|
.then(function (d) { return (fs_1.default.writeFileSync('test_generated.pdf', d.data)); });
|
|
5822
5809
|
return [4 /*yield*/, Promise.all([
|
|
5823
5810
|
sdk.api.endusers.deleteOne(e.id),
|
|
5824
|
-
sdk.api.form_responses.deleteOne(fr.id),
|
|
5825
5811
|
])];
|
|
5826
5812
|
case 3:
|
|
5827
5813
|
_a.sent();
|
|
@@ -6048,10 +6034,11 @@ var pollForResults = function (f, evaluate, intervalInMS, iterations) {
|
|
|
6048
6034
|
if (intervalInMS === void 0) { intervalInMS = 500; }
|
|
6049
6035
|
if (iterations === void 0) { iterations = 20; }
|
|
6050
6036
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
6051
|
-
var i, result;
|
|
6037
|
+
var lastResult, i, result;
|
|
6052
6038
|
return __generator(this, function (_a) {
|
|
6053
6039
|
switch (_a.label) {
|
|
6054
6040
|
case 0:
|
|
6041
|
+
lastResult = undefined;
|
|
6055
6042
|
i = 0;
|
|
6056
6043
|
_a.label = 1;
|
|
6057
6044
|
case 1:
|
|
@@ -6062,13 +6049,16 @@ var pollForResults = function (f, evaluate, intervalInMS, iterations) {
|
|
|
6062
6049
|
return [4 /*yield*/, f()];
|
|
6063
6050
|
case 3:
|
|
6064
6051
|
result = _a.sent();
|
|
6052
|
+
lastResult = result;
|
|
6065
6053
|
if (evaluate(result))
|
|
6066
6054
|
return [2 /*return*/, result];
|
|
6067
6055
|
_a.label = 4;
|
|
6068
6056
|
case 4:
|
|
6069
6057
|
i++;
|
|
6070
6058
|
return [3 /*break*/, 1];
|
|
6071
|
-
case 5:
|
|
6059
|
+
case 5:
|
|
6060
|
+
console.log(lastResult);
|
|
6061
|
+
throw new Error("failed pollForResults");
|
|
6072
6062
|
}
|
|
6073
6063
|
});
|
|
6074
6064
|
});
|
|
@@ -6527,6 +6517,81 @@ var field_equals_trigger_tests = function () { return __awaiter(void 0, void 0,
|
|
|
6527
6517
|
}
|
|
6528
6518
|
});
|
|
6529
6519
|
}); };
|
|
6520
|
+
var no_chained_triggers_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
6521
|
+
var t1, t2, enduser;
|
|
6522
|
+
return __generator(this, function (_a) {
|
|
6523
|
+
switch (_a.label) {
|
|
6524
|
+
case 0:
|
|
6525
|
+
(0, testing_1.log_header)("No Chained Triggers Tests");
|
|
6526
|
+
return [4 /*yield*/, sdk.api.automation_triggers.createOne({
|
|
6527
|
+
title: 't1', status: 'Active',
|
|
6528
|
+
event: {
|
|
6529
|
+
type: 'Field Equals',
|
|
6530
|
+
info: {
|
|
6531
|
+
field: 'fname',
|
|
6532
|
+
value: 'Trigger'
|
|
6533
|
+
},
|
|
6534
|
+
},
|
|
6535
|
+
action: {
|
|
6536
|
+
type: 'Add Tags',
|
|
6537
|
+
info: { tags: ['t1'] }
|
|
6538
|
+
}
|
|
6539
|
+
})];
|
|
6540
|
+
case 1:
|
|
6541
|
+
t1 = _a.sent();
|
|
6542
|
+
return [4 /*yield*/, sdk.api.automation_triggers.createOne({
|
|
6543
|
+
title: 't2', status: 'Active',
|
|
6544
|
+
event: {
|
|
6545
|
+
type: 'Field Equals',
|
|
6546
|
+
info: {
|
|
6547
|
+
field: 'fname',
|
|
6548
|
+
value: '$exists'
|
|
6549
|
+
},
|
|
6550
|
+
},
|
|
6551
|
+
action: {
|
|
6552
|
+
type: 'Add Tags',
|
|
6553
|
+
info: { tags: ['t2'] }
|
|
6554
|
+
},
|
|
6555
|
+
enduserCondition: { $and: [{ condition: { tags: 't1' } }] },
|
|
6556
|
+
})
|
|
6557
|
+
// should only trigger t1, t1 would trigger t2 if allowed, but should not
|
|
6558
|
+
];
|
|
6559
|
+
case 2:
|
|
6560
|
+
t2 = _a.sent();
|
|
6561
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Trigger' })];
|
|
6562
|
+
case 3:
|
|
6563
|
+
enduser = _a.sent();
|
|
6564
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)];
|
|
6565
|
+
case 4:
|
|
6566
|
+
_a.sent();
|
|
6567
|
+
return [4 /*yield*/, (0, testing_1.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'))); } })
|
|
6568
|
+
// should cover both triggers now, which results in adding only the second tag
|
|
6569
|
+
];
|
|
6570
|
+
case 5:
|
|
6571
|
+
_a.sent();
|
|
6572
|
+
// should cover both triggers now, which results in adding only the second tag
|
|
6573
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(enduser.id, { fname: "Updated" })];
|
|
6574
|
+
case 6:
|
|
6575
|
+
// should cover both triggers now, which results in adding only the second tag
|
|
6576
|
+
_a.sent();
|
|
6577
|
+
return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)];
|
|
6578
|
+
case 7:
|
|
6579
|
+
_a.sent();
|
|
6580
|
+
return [4 /*yield*/, (0, testing_1.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')); } })];
|
|
6581
|
+
case 8:
|
|
6582
|
+
_a.sent();
|
|
6583
|
+
return [4 /*yield*/, Promise.all([
|
|
6584
|
+
sdk.api.automation_triggers.deleteOne(t1.id),
|
|
6585
|
+
sdk.api.automation_triggers.deleteOne(t2.id),
|
|
6586
|
+
sdk.api.endusers.deleteOne(enduser.id)
|
|
6587
|
+
])];
|
|
6588
|
+
case 9:
|
|
6589
|
+
_a.sent();
|
|
6590
|
+
return [2 /*return*/];
|
|
6591
|
+
}
|
|
6592
|
+
});
|
|
6593
|
+
}); };
|
|
6594
|
+
exports.no_chained_triggers_tests = no_chained_triggers_tests;
|
|
6530
6595
|
var NO_TEST = function () { };
|
|
6531
6596
|
var tests = {
|
|
6532
6597
|
phone_trees: NO_TEST,
|
|
@@ -6631,7 +6696,7 @@ var validate_schema = function () {
|
|
|
6631
6696
|
_k.sent();
|
|
6632
6697
|
_k.label = 2;
|
|
6633
6698
|
case 2:
|
|
6634
|
-
_k.trys.push([2,
|
|
6699
|
+
_k.trys.push([2, 37, , 38]);
|
|
6635
6700
|
return [4 /*yield*/, validate_schema()];
|
|
6636
6701
|
case 3:
|
|
6637
6702
|
_k.sent();
|
|
@@ -6665,86 +6730,89 @@ var validate_schema = function () {
|
|
|
6665
6730
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
6666
6731
|
case 9:
|
|
6667
6732
|
_k.sent(); // should come right after setup tests
|
|
6668
|
-
return [4 /*yield*/,
|
|
6733
|
+
return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
|
|
6669
6734
|
case 10:
|
|
6670
6735
|
_k.sent();
|
|
6671
|
-
return [4 /*yield*/,
|
|
6736
|
+
return [4 /*yield*/, field_equals_trigger_tests()];
|
|
6672
6737
|
case 11:
|
|
6673
6738
|
_k.sent();
|
|
6674
|
-
return [4 /*yield*/,
|
|
6739
|
+
return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
|
|
6675
6740
|
case 12:
|
|
6676
6741
|
_k.sent();
|
|
6677
|
-
return [4 /*yield*/,
|
|
6742
|
+
return [4 /*yield*/, role_based_access_tests()];
|
|
6678
6743
|
case 13:
|
|
6679
6744
|
_k.sent();
|
|
6680
|
-
return [4 /*yield*/,
|
|
6745
|
+
return [4 /*yield*/, automation_trigger_tests()];
|
|
6681
6746
|
case 14:
|
|
6682
6747
|
_k.sent();
|
|
6683
|
-
return [4 /*yield*/,
|
|
6748
|
+
return [4 /*yield*/, enduser_session_tests()];
|
|
6684
6749
|
case 15:
|
|
6685
6750
|
_k.sent();
|
|
6686
|
-
return [4 /*yield*/,
|
|
6751
|
+
return [4 /*yield*/, nextReminderInMS_tests()];
|
|
6687
6752
|
case 16:
|
|
6688
6753
|
_k.sent();
|
|
6689
|
-
return [4 /*yield*/,
|
|
6754
|
+
return [4 /*yield*/, search_tests()];
|
|
6690
6755
|
case 17:
|
|
6691
6756
|
_k.sent();
|
|
6692
|
-
return [4 /*yield*/,
|
|
6757
|
+
return [4 /*yield*/, wait_for_trigger_tests()];
|
|
6693
6758
|
case 18:
|
|
6694
6759
|
_k.sent();
|
|
6695
|
-
return [4 /*yield*/,
|
|
6760
|
+
return [4 /*yield*/, pdf_generation()];
|
|
6696
6761
|
case 19:
|
|
6697
6762
|
_k.sent();
|
|
6698
|
-
return [4 /*yield*/,
|
|
6763
|
+
return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
|
|
6699
6764
|
case 20:
|
|
6700
6765
|
_k.sent();
|
|
6701
|
-
return [4 /*yield*/,
|
|
6766
|
+
return [4 /*yield*/, rate_limit_tests()];
|
|
6702
6767
|
case 21:
|
|
6703
6768
|
_k.sent();
|
|
6704
|
-
return [4 /*yield*/, (
|
|
6769
|
+
return [4 /*yield*/, merge_enduser_tests()];
|
|
6705
6770
|
case 22:
|
|
6706
6771
|
_k.sent();
|
|
6707
|
-
return [4 /*yield*/,
|
|
6772
|
+
return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
|
|
6708
6773
|
case 23:
|
|
6709
6774
|
_k.sent();
|
|
6710
|
-
return [4 /*yield*/,
|
|
6775
|
+
return [4 /*yield*/, auto_reply_tests()];
|
|
6711
6776
|
case 24:
|
|
6712
6777
|
_k.sent();
|
|
6713
|
-
return [4 /*yield*/,
|
|
6778
|
+
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
6714
6779
|
case 25:
|
|
6715
6780
|
_k.sent();
|
|
6716
|
-
return [4 /*yield*/, (
|
|
6781
|
+
return [4 /*yield*/, sub_organization_tests()];
|
|
6717
6782
|
case 26:
|
|
6718
6783
|
_k.sent();
|
|
6719
|
-
return [4 /*yield*/,
|
|
6784
|
+
return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
|
|
6720
6785
|
case 27:
|
|
6721
6786
|
_k.sent();
|
|
6722
|
-
return [4 /*yield*/,
|
|
6787
|
+
return [4 /*yield*/, generate_user_auth_tests()];
|
|
6723
6788
|
case 28:
|
|
6724
6789
|
_k.sent();
|
|
6725
|
-
return [4 /*yield*/,
|
|
6790
|
+
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
6726
6791
|
case 29:
|
|
6727
6792
|
_k.sent();
|
|
6728
|
-
return [4 /*yield*/,
|
|
6793
|
+
return [4 /*yield*/, public_form_tests()];
|
|
6729
6794
|
case 30:
|
|
6730
6795
|
_k.sent();
|
|
6731
|
-
return [4 /*yield*/,
|
|
6796
|
+
return [4 /*yield*/, badInputTests()];
|
|
6732
6797
|
case 31:
|
|
6733
6798
|
_k.sent();
|
|
6734
|
-
return [4 /*yield*/,
|
|
6799
|
+
return [4 /*yield*/, filterTests()];
|
|
6735
6800
|
case 32:
|
|
6736
6801
|
_k.sent();
|
|
6737
|
-
return [4 /*yield*/,
|
|
6802
|
+
return [4 /*yield*/, updatesTests()];
|
|
6738
6803
|
case 33:
|
|
6739
6804
|
_k.sent();
|
|
6740
|
-
return [4 /*yield*/,
|
|
6805
|
+
return [4 /*yield*/, threadKeyTests()];
|
|
6741
6806
|
case 34:
|
|
6742
6807
|
_k.sent();
|
|
6743
|
-
return [4 /*yield*/,
|
|
6808
|
+
return [4 /*yield*/, enduserAccessTests()];
|
|
6744
6809
|
case 35:
|
|
6745
6810
|
_k.sent();
|
|
6746
|
-
return [
|
|
6811
|
+
return [4 /*yield*/, enduser_redaction_tests()];
|
|
6747
6812
|
case 36:
|
|
6813
|
+
_k.sent();
|
|
6814
|
+
return [3 /*break*/, 38];
|
|
6815
|
+
case 37:
|
|
6748
6816
|
err_1 = _k.sent();
|
|
6749
6817
|
console.error("Failed during custom test");
|
|
6750
6818
|
if (err_1.message && err_1.info) {
|
|
@@ -6754,18 +6822,18 @@ var validate_schema = function () {
|
|
|
6754
6822
|
console.error(err_1);
|
|
6755
6823
|
}
|
|
6756
6824
|
process.exit(1);
|
|
6757
|
-
return [3 /*break*/,
|
|
6758
|
-
case
|
|
6825
|
+
return [3 /*break*/, 38];
|
|
6826
|
+
case 38:
|
|
6759
6827
|
_a = schema_1.schema;
|
|
6760
6828
|
_b = [];
|
|
6761
6829
|
for (_c in _a)
|
|
6762
6830
|
_b.push(_c);
|
|
6763
6831
|
_i = 0;
|
|
6764
|
-
_k.label =
|
|
6765
|
-
case
|
|
6766
|
-
if (!(_i < _b.length)) return [3 /*break*/,
|
|
6832
|
+
_k.label = 39;
|
|
6833
|
+
case 39:
|
|
6834
|
+
if (!(_i < _b.length)) return [3 /*break*/, 42];
|
|
6767
6835
|
_c = _b[_i];
|
|
6768
|
-
if (!(_c in _a)) return [3 /*break*/,
|
|
6836
|
+
if (!(_c in _a)) return [3 /*break*/, 41];
|
|
6769
6837
|
n = _c;
|
|
6770
6838
|
returnValidation = (_j = (_h = schema_1.schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
|
|
6771
6839
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -6776,41 +6844,41 @@ var validate_schema = function () {
|
|
|
6776
6844
|
create: returnValidation // ModelFields<ClientModel>,
|
|
6777
6845
|
}
|
|
6778
6846
|
})];
|
|
6779
|
-
case 39:
|
|
6780
|
-
_k.sent();
|
|
6781
|
-
_k.label = 40;
|
|
6782
6847
|
case 40:
|
|
6783
|
-
|
|
6784
|
-
|
|
6848
|
+
_k.sent();
|
|
6849
|
+
_k.label = 41;
|
|
6785
6850
|
case 41:
|
|
6851
|
+
_i++;
|
|
6852
|
+
return [3 /*break*/, 39];
|
|
6853
|
+
case 42:
|
|
6786
6854
|
_d = tests;
|
|
6787
6855
|
_e = [];
|
|
6788
6856
|
for (_f in _d)
|
|
6789
6857
|
_e.push(_f);
|
|
6790
6858
|
_g = 0;
|
|
6791
|
-
_k.label = 42;
|
|
6792
|
-
case 42:
|
|
6793
|
-
if (!(_g < _e.length)) return [3 /*break*/, 47];
|
|
6794
|
-
_f = _e[_g];
|
|
6795
|
-
if (!(_f in _d)) return [3 /*break*/, 46];
|
|
6796
|
-
t = _f;
|
|
6797
6859
|
_k.label = 43;
|
|
6798
6860
|
case 43:
|
|
6799
|
-
|
|
6800
|
-
|
|
6861
|
+
if (!(_g < _e.length)) return [3 /*break*/, 48];
|
|
6862
|
+
_f = _e[_g];
|
|
6863
|
+
if (!(_f in _d)) return [3 /*break*/, 47];
|
|
6864
|
+
t = _f;
|
|
6865
|
+
_k.label = 44;
|
|
6801
6866
|
case 44:
|
|
6802
|
-
_k.
|
|
6803
|
-
return [
|
|
6867
|
+
_k.trys.push([44, 46, , 47]);
|
|
6868
|
+
return [4 /*yield*/, tests[t]()];
|
|
6804
6869
|
case 45:
|
|
6870
|
+
_k.sent();
|
|
6871
|
+
return [3 /*break*/, 47];
|
|
6872
|
+
case 46:
|
|
6805
6873
|
err_2 = _k.sent();
|
|
6806
6874
|
console.error("Error running test:");
|
|
6807
6875
|
console.error(err_2);
|
|
6808
6876
|
process.exit(1);
|
|
6809
|
-
return [3 /*break*/,
|
|
6810
|
-
case 46:
|
|
6811
|
-
_g++;
|
|
6812
|
-
return [3 /*break*/, 42];
|
|
6877
|
+
return [3 /*break*/, 47];
|
|
6813
6878
|
case 47:
|
|
6879
|
+
_g++;
|
|
6880
|
+
return [3 /*break*/, 43];
|
|
6881
|
+
case 48:
|
|
6814
6882
|
process.exit();
|
|
6815
6883
|
return [2 /*return*/];
|
|
6816
6884
|
}
|