@tellescope/sdk 1.69.4 → 1.70.0
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 +2 -0
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +373 -59
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/sdk.d.ts +2 -0
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +373 -59
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/tests/tests.ts +213 -3
- package/test_generated.pdf +0 -0
package/lib/cjs/tests/tests.js
CHANGED
|
@@ -5074,7 +5074,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5074
5074
|
return [4 /*yield*/, sdk.api.users.updateOne(sdk.userInfo.id, {
|
|
5075
5075
|
weeklyAvailabilities: [
|
|
5076
5076
|
{
|
|
5077
|
-
dayOfWeekStartingSundayIndexedByZero:
|
|
5077
|
+
dayOfWeekStartingSundayIndexedByZero: 0,
|
|
5078
5078
|
startTimeInMinutes: 60 * 12,
|
|
5079
5079
|
endTimeInMinutes: 60 * 13, // 1pm,
|
|
5080
5080
|
},
|
|
@@ -5089,7 +5089,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5089
5089
|
return [4 /*yield*/, sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, {
|
|
5090
5090
|
weeklyAvailabilities: [
|
|
5091
5091
|
{
|
|
5092
|
-
dayOfWeekStartingSundayIndexedByZero:
|
|
5092
|
+
dayOfWeekStartingSundayIndexedByZero: 0,
|
|
5093
5093
|
startTimeInMinutes: 60 * 12,
|
|
5094
5094
|
endTimeInMinutes: 60 * 14, // 2pm,
|
|
5095
5095
|
},
|
|
@@ -5103,7 +5103,7 @@ var self_serve_appointment_booking_tests = function () { return __awaiter(void 0
|
|
|
5103
5103
|
return [4 /*yield*/, enduserSDK.api.calendar_events.get_appointment_availability({
|
|
5104
5104
|
calendarEventTemplateId: event30min.id,
|
|
5105
5105
|
from: new Date(Date.now()),
|
|
5106
|
-
to: new Date(Date.now() +
|
|
5106
|
+
to: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000),
|
|
5107
5107
|
multi: true,
|
|
5108
5108
|
userIds: [sdk.userInfo.id, sdkNonAdmin.userInfo.id]
|
|
5109
5109
|
})];
|
|
@@ -7057,6 +7057,311 @@ var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, v
|
|
|
7057
7057
|
}
|
|
7058
7058
|
});
|
|
7059
7059
|
}); };
|
|
7060
|
+
var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7061
|
+
var matchTag, dontMatchTag, matchEnduser, matchMultiTagEnduser, dontMatchEnduser, matchTicket, dontMatchTicket;
|
|
7062
|
+
return __generator(this, function (_a) {
|
|
7063
|
+
switch (_a.label) {
|
|
7064
|
+
case 0:
|
|
7065
|
+
(0, testing_1.log_header)("enduser_access_tags_tests");
|
|
7066
|
+
matchTag = 'Access';
|
|
7067
|
+
dontMatchTag = 'No Access';
|
|
7068
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ accessTags: [matchTag] })];
|
|
7069
|
+
case 1:
|
|
7070
|
+
matchEnduser = _a.sent();
|
|
7071
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ accessTags: [matchTag, dontMatchTag] })];
|
|
7072
|
+
case 2:
|
|
7073
|
+
matchMultiTagEnduser = _a.sent();
|
|
7074
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ accessTags: [dontMatchTag] })];
|
|
7075
|
+
case 3:
|
|
7076
|
+
dontMatchEnduser = _a.sent();
|
|
7077
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: matchEnduser.id, title: 'ticket' })];
|
|
7078
|
+
case 4:
|
|
7079
|
+
matchTicket = _a.sent();
|
|
7080
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: dontMatchEnduser.id, title: 'ticket' })
|
|
7081
|
+
// start with disabled setting an no tags on non-admin
|
|
7082
|
+
];
|
|
7083
|
+
case 5:
|
|
7084
|
+
dontMatchTicket = _a.sent();
|
|
7085
|
+
// start with disabled setting an no tags on non-admin
|
|
7086
|
+
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [] }, { replaceObjectFields: true })];
|
|
7087
|
+
case 6:
|
|
7088
|
+
// start with disabled setting an no tags on non-admin
|
|
7089
|
+
_a.sent();
|
|
7090
|
+
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7091
|
+
settings: { endusers: { enableAccessTags: false } }
|
|
7092
|
+
})];
|
|
7093
|
+
case 7:
|
|
7094
|
+
_a.sent();
|
|
7095
|
+
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // ensure enableAccessTags setting stored correctly on jwt
|
|
7096
|
+
case 8:
|
|
7097
|
+
_a.sent(); // ensure enableAccessTags setting stored correctly on jwt
|
|
7098
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Setting disabled, no tags, list", sdkNonAdmin.api.endusers.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7099
|
+
case 9:
|
|
7100
|
+
_a.sent();
|
|
7101
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Setting disabled, matchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(matchEnduser.id); }, handleAnyError)];
|
|
7102
|
+
case 10:
|
|
7103
|
+
_a.sent();
|
|
7104
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Setting disabled, dontMatchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id); }, handleAnyError)];
|
|
7105
|
+
case 11:
|
|
7106
|
+
_a.sent();
|
|
7107
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Setting disabled, no tags, tickets", sdkNonAdmin.api.tickets.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7108
|
+
case 12:
|
|
7109
|
+
_a.sent();
|
|
7110
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Setting disabled, matchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(matchTicket.id); }, handleAnyError)];
|
|
7111
|
+
case 13:
|
|
7112
|
+
_a.sent();
|
|
7113
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Setting disabled, dontMatchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id); }, handleAnyError)];
|
|
7114
|
+
case 14:
|
|
7115
|
+
_a.sent();
|
|
7116
|
+
return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser valid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id } }); }, {
|
|
7117
|
+
onResult: function (r) { return r.length === 0; }
|
|
7118
|
+
})];
|
|
7119
|
+
case 15:
|
|
7120
|
+
_a.sent();
|
|
7121
|
+
return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
|
|
7122
|
+
onResult: function (r) { return r.length === 0; }
|
|
7123
|
+
})
|
|
7124
|
+
// enable setting, disable tags
|
|
7125
|
+
];
|
|
7126
|
+
case 16:
|
|
7127
|
+
_a.sent();
|
|
7128
|
+
// enable setting, disable tags
|
|
7129
|
+
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7130
|
+
settings: { endusers: { enableAccessTags: true } }
|
|
7131
|
+
})];
|
|
7132
|
+
case 17:
|
|
7133
|
+
// enable setting, disable tags
|
|
7134
|
+
_a.sent();
|
|
7135
|
+
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // ensure enableAccessTags setting stored correctly on jwt
|
|
7136
|
+
case 18:
|
|
7137
|
+
_a.sent(); // ensure enableAccessTags setting stored correctly on jwt
|
|
7138
|
+
return [4 /*yield*/, (0, testing_1.async_test)("enable setting, disable tags", sdkNonAdmin.api.endusers.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7139
|
+
case 19:
|
|
7140
|
+
_a.sent();
|
|
7141
|
+
return [4 /*yield*/, (0, testing_1.async_test)("enable setting, matchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(matchEnduser.id); }, handleAnyError)];
|
|
7142
|
+
case 20:
|
|
7143
|
+
_a.sent();
|
|
7144
|
+
return [4 /*yield*/, (0, testing_1.async_test)("enable setting, dontMatchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id); }, handleAnyError)];
|
|
7145
|
+
case 21:
|
|
7146
|
+
_a.sent();
|
|
7147
|
+
return [4 /*yield*/, (0, testing_1.async_test)("enable setting, no tags, tickets", sdkNonAdmin.api.tickets.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7148
|
+
case 22:
|
|
7149
|
+
_a.sent();
|
|
7150
|
+
return [4 /*yield*/, (0, testing_1.async_test)("enable setting, matchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(matchTicket.id); }, handleAnyError)];
|
|
7151
|
+
case 23:
|
|
7152
|
+
_a.sent();
|
|
7153
|
+
return [4 /*yield*/, (0, testing_1.async_test)("enable setting, dontMatchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id); }, handleAnyError)];
|
|
7154
|
+
case 24:
|
|
7155
|
+
_a.sent();
|
|
7156
|
+
return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser valid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id } }); }, {
|
|
7157
|
+
onResult: function (r) { return r.length === 0; }
|
|
7158
|
+
})];
|
|
7159
|
+
case 25:
|
|
7160
|
+
_a.sent();
|
|
7161
|
+
return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
|
|
7162
|
+
onResult: function (r) { return r.length === 0; }
|
|
7163
|
+
})
|
|
7164
|
+
// disable setting, enable tags
|
|
7165
|
+
];
|
|
7166
|
+
case 26:
|
|
7167
|
+
_a.sent();
|
|
7168
|
+
// disable setting, enable tags
|
|
7169
|
+
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [matchTag] }, { replaceObjectFields: true })];
|
|
7170
|
+
case 27:
|
|
7171
|
+
// disable setting, enable tags
|
|
7172
|
+
_a.sent();
|
|
7173
|
+
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7174
|
+
settings: { endusers: { enableAccessTags: false } }
|
|
7175
|
+
})];
|
|
7176
|
+
case 28:
|
|
7177
|
+
_a.sent();
|
|
7178
|
+
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // ensure enableAccessTags setting stored correctly on jwt
|
|
7179
|
+
case 29:
|
|
7180
|
+
_a.sent(); // ensure enableAccessTags setting stored correctly on jwt
|
|
7181
|
+
return [4 /*yield*/, (0, testing_1.async_test)("disable setting, enable tags", sdkNonAdmin.api.endusers.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7182
|
+
case 30:
|
|
7183
|
+
_a.sent();
|
|
7184
|
+
return [4 /*yield*/, (0, testing_1.async_test)("disable setting, matchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(matchEnduser.id); }, handleAnyError)];
|
|
7185
|
+
case 31:
|
|
7186
|
+
_a.sent();
|
|
7187
|
+
return [4 /*yield*/, (0, testing_1.async_test)("disable setting, dontMatchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id); }, handleAnyError)];
|
|
7188
|
+
case 32:
|
|
7189
|
+
_a.sent();
|
|
7190
|
+
return [4 /*yield*/, (0, testing_1.async_test)("disable setting, enable tags, tickets", sdkNonAdmin.api.tickets.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7191
|
+
case 33:
|
|
7192
|
+
_a.sent();
|
|
7193
|
+
return [4 /*yield*/, (0, testing_1.async_test)("disable setting, matchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(matchTicket.id); }, handleAnyError)];
|
|
7194
|
+
case 34:
|
|
7195
|
+
_a.sent();
|
|
7196
|
+
return [4 /*yield*/, (0, testing_1.async_test)("disable setting, dontMatchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id); }, handleAnyError)];
|
|
7197
|
+
case 35:
|
|
7198
|
+
_a.sent();
|
|
7199
|
+
return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser valid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id } }); }, {
|
|
7200
|
+
onResult: function (r) { return r.length === 0; }
|
|
7201
|
+
})];
|
|
7202
|
+
case 36:
|
|
7203
|
+
_a.sent();
|
|
7204
|
+
return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
|
|
7205
|
+
onResult: function (r) { return r.length === 0; }
|
|
7206
|
+
})
|
|
7207
|
+
// enabled setting AND tags (keeps tags enabled)
|
|
7208
|
+
];
|
|
7209
|
+
case 37:
|
|
7210
|
+
_a.sent();
|
|
7211
|
+
// enabled setting AND tags (keeps tags enabled)
|
|
7212
|
+
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7213
|
+
settings: { endusers: { enableAccessTags: true } }
|
|
7214
|
+
})];
|
|
7215
|
+
case 38:
|
|
7216
|
+
// enabled setting AND tags (keeps tags enabled)
|
|
7217
|
+
_a.sent();
|
|
7218
|
+
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // ensure enableAccessTags setting stored correctly on jwt
|
|
7219
|
+
case 39:
|
|
7220
|
+
_a.sent(); // ensure enableAccessTags setting stored correctly on jwt
|
|
7221
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Access by tag with setting works", sdkNonAdmin.api.endusers.getSome, {
|
|
7222
|
+
onResult: function (r) { return r.length === 2 && !r.find(function (e) { return e.id === dontMatchEnduser.id; }); }
|
|
7223
|
+
})];
|
|
7224
|
+
case 40:
|
|
7225
|
+
_a.sent();
|
|
7226
|
+
return [4 /*yield*/, (0, testing_1.async_test)("access matchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(matchEnduser.id); }, passOnAnyResult)];
|
|
7227
|
+
case 41:
|
|
7228
|
+
_a.sent();
|
|
7229
|
+
return [4 /*yield*/, (0, testing_1.async_test)("access dontMatchEnduser bad", function () { return sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id); }, handleAnyError)];
|
|
7230
|
+
case 42:
|
|
7231
|
+
_a.sent();
|
|
7232
|
+
return [4 /*yield*/, (0, testing_1.async_test)("access setting, no tags, tickets", sdkNonAdmin.api.tickets.getSome, {
|
|
7233
|
+
onResult: function (r) { return r.length === 1 && !r.find(function (t) { return t.id === dontMatchTicket.id; }); }
|
|
7234
|
+
})];
|
|
7235
|
+
case 43:
|
|
7236
|
+
_a.sent();
|
|
7237
|
+
return [4 /*yield*/, (0, testing_1.async_test)("access, matchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(matchTicket.id); }, passOnAnyResult)];
|
|
7238
|
+
case 44:
|
|
7239
|
+
_a.sent();
|
|
7240
|
+
return [4 /*yield*/, (0, testing_1.async_test)("access, dontMatchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id); }, handleAnyError)];
|
|
7241
|
+
case 45:
|
|
7242
|
+
_a.sent();
|
|
7243
|
+
return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser valid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id } }); }, {
|
|
7244
|
+
onResult: function (r) { return r.length === 1; }
|
|
7245
|
+
})];
|
|
7246
|
+
case 46:
|
|
7247
|
+
_a.sent();
|
|
7248
|
+
return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
|
|
7249
|
+
onResult: function (r) { return r.length === 0; }
|
|
7250
|
+
})];
|
|
7251
|
+
case 47:
|
|
7252
|
+
_a.sent();
|
|
7253
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can't update tags", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: ['new tag'] }); }, handleAnyError)];
|
|
7254
|
+
case 48:
|
|
7255
|
+
_a.sent();
|
|
7256
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can't update tags (with other updates)", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: ['new tag'], bio: '' }); }, handleAnyError)];
|
|
7257
|
+
case 49:
|
|
7258
|
+
_a.sent();
|
|
7259
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can update other fields", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { bio: '' }); }, passOnAnyResult)
|
|
7260
|
+
// cleanup
|
|
7261
|
+
];
|
|
7262
|
+
case 50:
|
|
7263
|
+
_a.sent();
|
|
7264
|
+
// cleanup
|
|
7265
|
+
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7266
|
+
settings: { endusers: { enableAccessTags: false } }
|
|
7267
|
+
})];
|
|
7268
|
+
case 51:
|
|
7269
|
+
// cleanup
|
|
7270
|
+
_a.sent();
|
|
7271
|
+
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [] }, { replaceObjectFields: true })];
|
|
7272
|
+
case 52:
|
|
7273
|
+
_a.sent();
|
|
7274
|
+
return [4 /*yield*/, sdkNonAdmin.refresh_session()];
|
|
7275
|
+
case 53:
|
|
7276
|
+
_a.sent();
|
|
7277
|
+
return [4 /*yield*/, Promise.all([
|
|
7278
|
+
sdk.api.endusers.deleteOne(matchEnduser.id),
|
|
7279
|
+
sdk.api.endusers.deleteOne(matchMultiTagEnduser.id),
|
|
7280
|
+
sdk.api.endusers.deleteOne(dontMatchEnduser.id),
|
|
7281
|
+
])];
|
|
7282
|
+
case 54:
|
|
7283
|
+
_a.sent();
|
|
7284
|
+
return [2 /*return*/];
|
|
7285
|
+
}
|
|
7286
|
+
});
|
|
7287
|
+
}); };
|
|
7288
|
+
var unique_strings_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7289
|
+
var e;
|
|
7290
|
+
return __generator(this, function (_a) {
|
|
7291
|
+
switch (_a.label) {
|
|
7292
|
+
case 0:
|
|
7293
|
+
(0, testing_1.log_header)("unique_strings test");
|
|
7294
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ assignedTo: ['1', '2', '2', '1', '3'] })];
|
|
7295
|
+
case 1:
|
|
7296
|
+
e = _a.sent();
|
|
7297
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Duplicate care team assignments are prevented", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 3 && e.assignedTo.includes('1') && e.assignedTo.includes('2') && e.assignedTo.includes('3'); } })
|
|
7298
|
+
// attempt to push duplicates of each
|
|
7299
|
+
];
|
|
7300
|
+
case 2:
|
|
7301
|
+
_a.sent();
|
|
7302
|
+
// attempt to push duplicates of each
|
|
7303
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: ['1', '2', '3'] }, { replaceObjectFields: false })];
|
|
7304
|
+
case 3:
|
|
7305
|
+
// attempt to push duplicates of each
|
|
7306
|
+
_a.sent();
|
|
7307
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Duplicate care team assignments are prevented (update)", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 3 && e.assignedTo.includes('1') && e.assignedTo.includes('2') && e.assignedTo.includes('3'); } })
|
|
7308
|
+
// validate setting empty is allowed
|
|
7309
|
+
];
|
|
7310
|
+
case 4:
|
|
7311
|
+
_a.sent();
|
|
7312
|
+
// validate setting empty is allowed
|
|
7313
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Setting empty is still allowed", function () { return sdk.api.endusers.updateOne(e.id, { assignedTo: [] }, { replaceObjectFields: true }); }, passOnAnyResult)];
|
|
7314
|
+
case 5:
|
|
7315
|
+
// validate setting empty is allowed
|
|
7316
|
+
_a.sent();
|
|
7317
|
+
return [4 /*yield*/, Promise.all([
|
|
7318
|
+
sdk.api.endusers.deleteOne(e.id),
|
|
7319
|
+
])];
|
|
7320
|
+
case 6: return [2 /*return*/, _a.sent()];
|
|
7321
|
+
}
|
|
7322
|
+
});
|
|
7323
|
+
}); };
|
|
7324
|
+
var marketing_email_unsubscribe_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7325
|
+
var e;
|
|
7326
|
+
return __generator(this, function (_a) {
|
|
7327
|
+
switch (_a.label) {
|
|
7328
|
+
case 0:
|
|
7329
|
+
(0, testing_1.log_header)("marketing_email_unsubscribe_tests");
|
|
7330
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'test@tellescope.com' })];
|
|
7331
|
+
case 1:
|
|
7332
|
+
e = _a.sent();
|
|
7333
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-marketing email good", function () { return sdk.api.emails.createOne({ logOnly: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }); }, passOnAnyResult)];
|
|
7334
|
+
case 2:
|
|
7335
|
+
_a.sent();
|
|
7336
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Marketing email good when subscribed", function () { return sdk.api.emails.createOne({ logOnly: true, isMarketing: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }); }, passOnAnyResult)
|
|
7337
|
+
// attempt to push duplicates of each
|
|
7338
|
+
];
|
|
7339
|
+
case 3:
|
|
7340
|
+
_a.sent();
|
|
7341
|
+
// attempt to push duplicates of each
|
|
7342
|
+
return [4 /*yield*/, sdk.GET('/v1/unsubscribe', { enduserId: e.id })];
|
|
7343
|
+
case 4:
|
|
7344
|
+
// attempt to push duplicates of each
|
|
7345
|
+
_a.sent();
|
|
7346
|
+
return [4 /*yield*/, (0, testing_1.async_test)("GET /v1/unsubscribe works", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) { return e.unsubscribedFromMarketing === true; } })];
|
|
7347
|
+
case 5:
|
|
7348
|
+
_a.sent();
|
|
7349
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Non-marketing email good", function () { return sdk.api.emails.createOne({ logOnly: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }); }, passOnAnyResult)];
|
|
7350
|
+
case 6:
|
|
7351
|
+
_a.sent();
|
|
7352
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Marketing email bad when unsubscribed", function () { return sdk.api.emails.createOne({ logOnly: true, isMarketing: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }); }, handleAnyError)];
|
|
7353
|
+
case 7:
|
|
7354
|
+
_a.sent();
|
|
7355
|
+
return [4 /*yield*/, (0, testing_1.async_test)("Marketing email bad when unsubscribed (bulk)", function () { return sdk.api.emails.createSome([{ logOnly: true, isMarketing: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }]); }, handleAnyError)];
|
|
7356
|
+
case 8:
|
|
7357
|
+
_a.sent();
|
|
7358
|
+
return [4 /*yield*/, Promise.all([
|
|
7359
|
+
sdk.api.endusers.deleteOne(e.id),
|
|
7360
|
+
])];
|
|
7361
|
+
case 9: return [2 /*return*/, _a.sent()];
|
|
7362
|
+
}
|
|
7363
|
+
});
|
|
7364
|
+
}); };
|
|
7060
7365
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7061
7366
|
var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
|
|
7062
7367
|
var _h, _j;
|
|
@@ -7069,7 +7374,7 @@ var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, v
|
|
|
7069
7374
|
_k.sent();
|
|
7070
7375
|
_k.label = 2;
|
|
7071
7376
|
case 2:
|
|
7072
|
-
_k.trys.push([2,
|
|
7377
|
+
_k.trys.push([2, 43, , 44]);
|
|
7073
7378
|
return [4 /*yield*/, test_weighted_round_robin()];
|
|
7074
7379
|
case 3:
|
|
7075
7380
|
_k.sent();
|
|
@@ -7106,95 +7411,104 @@ var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, v
|
|
|
7106
7411
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
7107
7412
|
case 10:
|
|
7108
7413
|
_k.sent(); // should come right after setup tests
|
|
7109
|
-
return [4 /*yield*/, (
|
|
7414
|
+
return [4 /*yield*/, marketing_email_unsubscribe_tests()];
|
|
7110
7415
|
case 11:
|
|
7111
7416
|
_k.sent();
|
|
7112
|
-
return [4 /*yield*/, (
|
|
7417
|
+
return [4 /*yield*/, unique_strings_tests()];
|
|
7113
7418
|
case 12:
|
|
7114
7419
|
_k.sent();
|
|
7115
|
-
return [4 /*yield*/, (
|
|
7420
|
+
return [4 /*yield*/, enduser_access_tags_tests()];
|
|
7116
7421
|
case 13:
|
|
7117
7422
|
_k.sent();
|
|
7118
|
-
return [4 /*yield*/, (0, exports.
|
|
7423
|
+
return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
|
|
7119
7424
|
case 14:
|
|
7120
7425
|
_k.sent();
|
|
7121
|
-
return [4 /*yield*/,
|
|
7426
|
+
return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
|
|
7122
7427
|
case 15:
|
|
7123
7428
|
_k.sent();
|
|
7124
|
-
return [4 /*yield*/,
|
|
7429
|
+
return [4 /*yield*/, (0, exports.ticket_queue_tests)()];
|
|
7125
7430
|
case 16:
|
|
7126
7431
|
_k.sent();
|
|
7127
|
-
return [4 /*yield*/,
|
|
7432
|
+
return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
|
|
7128
7433
|
case 17:
|
|
7129
7434
|
_k.sent();
|
|
7130
|
-
return [4 /*yield*/,
|
|
7435
|
+
return [4 /*yield*/, field_equals_trigger_tests()];
|
|
7131
7436
|
case 18:
|
|
7132
7437
|
_k.sent();
|
|
7133
|
-
return [4 /*yield*/,
|
|
7438
|
+
return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
|
|
7134
7439
|
case 19:
|
|
7135
7440
|
_k.sent();
|
|
7136
|
-
return [4 /*yield*/,
|
|
7441
|
+
return [4 /*yield*/, role_based_access_tests()];
|
|
7137
7442
|
case 20:
|
|
7138
7443
|
_k.sent();
|
|
7139
|
-
return [4 /*yield*/,
|
|
7444
|
+
return [4 /*yield*/, automation_trigger_tests()];
|
|
7140
7445
|
case 21:
|
|
7141
7446
|
_k.sent();
|
|
7142
|
-
return [4 /*yield*/,
|
|
7447
|
+
return [4 /*yield*/, enduser_session_tests()];
|
|
7143
7448
|
case 22:
|
|
7144
7449
|
_k.sent();
|
|
7145
|
-
return [4 /*yield*/,
|
|
7450
|
+
return [4 /*yield*/, nextReminderInMS_tests()];
|
|
7146
7451
|
case 23:
|
|
7147
7452
|
_k.sent();
|
|
7148
|
-
return [4 /*yield*/,
|
|
7453
|
+
return [4 /*yield*/, search_tests()];
|
|
7149
7454
|
case 24:
|
|
7150
7455
|
_k.sent();
|
|
7151
|
-
return [4 /*yield*/,
|
|
7456
|
+
return [4 /*yield*/, wait_for_trigger_tests()];
|
|
7152
7457
|
case 25:
|
|
7153
7458
|
_k.sent();
|
|
7154
|
-
return [4 /*yield*/,
|
|
7459
|
+
return [4 /*yield*/, pdf_generation()];
|
|
7155
7460
|
case 26:
|
|
7156
7461
|
_k.sent();
|
|
7157
|
-
return [4 /*yield*/,
|
|
7462
|
+
return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
|
|
7158
7463
|
case 27:
|
|
7159
7464
|
_k.sent();
|
|
7160
|
-
return [4 /*yield*/,
|
|
7465
|
+
return [4 /*yield*/, rate_limit_tests()];
|
|
7161
7466
|
case 28:
|
|
7162
7467
|
_k.sent();
|
|
7163
|
-
return [4 /*yield*/,
|
|
7468
|
+
return [4 /*yield*/, merge_enduser_tests()];
|
|
7164
7469
|
case 29:
|
|
7165
7470
|
_k.sent();
|
|
7166
|
-
return [4 /*yield*/, (
|
|
7471
|
+
return [4 /*yield*/, auto_reply_tests()];
|
|
7167
7472
|
case 30:
|
|
7168
7473
|
_k.sent();
|
|
7169
|
-
return [4 /*yield*/,
|
|
7474
|
+
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
7170
7475
|
case 31:
|
|
7171
7476
|
_k.sent();
|
|
7172
|
-
return [4 /*yield*/,
|
|
7477
|
+
return [4 /*yield*/, sub_organization_tests()];
|
|
7173
7478
|
case 32:
|
|
7174
7479
|
_k.sent();
|
|
7175
|
-
return [4 /*yield*/,
|
|
7480
|
+
return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
|
|
7176
7481
|
case 33:
|
|
7177
7482
|
_k.sent();
|
|
7178
|
-
return [4 /*yield*/,
|
|
7483
|
+
return [4 /*yield*/, generate_user_auth_tests()];
|
|
7179
7484
|
case 34:
|
|
7180
7485
|
_k.sent();
|
|
7181
|
-
return [4 /*yield*/,
|
|
7486
|
+
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
7182
7487
|
case 35:
|
|
7183
7488
|
_k.sent();
|
|
7184
|
-
return [4 /*yield*/,
|
|
7489
|
+
return [4 /*yield*/, public_form_tests()];
|
|
7185
7490
|
case 36:
|
|
7186
7491
|
_k.sent();
|
|
7187
|
-
return [4 /*yield*/,
|
|
7492
|
+
return [4 /*yield*/, badInputTests()];
|
|
7188
7493
|
case 37:
|
|
7189
7494
|
_k.sent();
|
|
7190
|
-
return [4 /*yield*/,
|
|
7495
|
+
return [4 /*yield*/, filterTests()];
|
|
7191
7496
|
case 38:
|
|
7192
7497
|
_k.sent();
|
|
7193
|
-
return [4 /*yield*/,
|
|
7498
|
+
return [4 /*yield*/, updatesTests()];
|
|
7194
7499
|
case 39:
|
|
7195
7500
|
_k.sent();
|
|
7196
|
-
return [
|
|
7501
|
+
return [4 /*yield*/, threadKeyTests()];
|
|
7197
7502
|
case 40:
|
|
7503
|
+
_k.sent();
|
|
7504
|
+
return [4 /*yield*/, enduserAccessTests()];
|
|
7505
|
+
case 41:
|
|
7506
|
+
_k.sent();
|
|
7507
|
+
return [4 /*yield*/, enduser_redaction_tests()];
|
|
7508
|
+
case 42:
|
|
7509
|
+
_k.sent();
|
|
7510
|
+
return [3 /*break*/, 44];
|
|
7511
|
+
case 43:
|
|
7198
7512
|
err_1 = _k.sent();
|
|
7199
7513
|
console.error("Failed during custom test");
|
|
7200
7514
|
if (err_1.message && err_1.info) {
|
|
@@ -7204,18 +7518,18 @@ var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, v
|
|
|
7204
7518
|
console.error(err_1);
|
|
7205
7519
|
}
|
|
7206
7520
|
process.exit(1);
|
|
7207
|
-
return [3 /*break*/,
|
|
7208
|
-
case
|
|
7521
|
+
return [3 /*break*/, 44];
|
|
7522
|
+
case 44:
|
|
7209
7523
|
_a = schema_1.schema;
|
|
7210
7524
|
_b = [];
|
|
7211
7525
|
for (_c in _a)
|
|
7212
7526
|
_b.push(_c);
|
|
7213
7527
|
_i = 0;
|
|
7214
|
-
_k.label =
|
|
7215
|
-
case
|
|
7216
|
-
if (!(_i < _b.length)) return [3 /*break*/,
|
|
7528
|
+
_k.label = 45;
|
|
7529
|
+
case 45:
|
|
7530
|
+
if (!(_i < _b.length)) return [3 /*break*/, 48];
|
|
7217
7531
|
_c = _b[_i];
|
|
7218
|
-
if (!(_c in _a)) return [3 /*break*/,
|
|
7532
|
+
if (!(_c in _a)) return [3 /*break*/, 47];
|
|
7219
7533
|
n = _c;
|
|
7220
7534
|
returnValidation = (_j = (_h = schema_1.schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
|
|
7221
7535
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -7226,41 +7540,41 @@ var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, v
|
|
|
7226
7540
|
create: returnValidation // ModelFields<ClientModel>,
|
|
7227
7541
|
}
|
|
7228
7542
|
})];
|
|
7229
|
-
case
|
|
7543
|
+
case 46:
|
|
7230
7544
|
_k.sent();
|
|
7231
|
-
_k.label =
|
|
7232
|
-
case
|
|
7545
|
+
_k.label = 47;
|
|
7546
|
+
case 47:
|
|
7233
7547
|
_i++;
|
|
7234
|
-
return [3 /*break*/,
|
|
7235
|
-
case
|
|
7548
|
+
return [3 /*break*/, 45];
|
|
7549
|
+
case 48:
|
|
7236
7550
|
_d = tests;
|
|
7237
7551
|
_e = [];
|
|
7238
7552
|
for (_f in _d)
|
|
7239
7553
|
_e.push(_f);
|
|
7240
7554
|
_g = 0;
|
|
7241
|
-
_k.label =
|
|
7242
|
-
case
|
|
7243
|
-
if (!(_g < _e.length)) return [3 /*break*/,
|
|
7555
|
+
_k.label = 49;
|
|
7556
|
+
case 49:
|
|
7557
|
+
if (!(_g < _e.length)) return [3 /*break*/, 54];
|
|
7244
7558
|
_f = _e[_g];
|
|
7245
|
-
if (!(_f in _d)) return [3 /*break*/,
|
|
7559
|
+
if (!(_f in _d)) return [3 /*break*/, 53];
|
|
7246
7560
|
t = _f;
|
|
7247
|
-
_k.label =
|
|
7248
|
-
case
|
|
7249
|
-
_k.trys.push([
|
|
7561
|
+
_k.label = 50;
|
|
7562
|
+
case 50:
|
|
7563
|
+
_k.trys.push([50, 52, , 53]);
|
|
7250
7564
|
return [4 /*yield*/, tests[t]()];
|
|
7251
|
-
case
|
|
7565
|
+
case 51:
|
|
7252
7566
|
_k.sent();
|
|
7253
|
-
return [3 /*break*/,
|
|
7254
|
-
case
|
|
7567
|
+
return [3 /*break*/, 53];
|
|
7568
|
+
case 52:
|
|
7255
7569
|
err_2 = _k.sent();
|
|
7256
7570
|
console.error("Error running test:");
|
|
7257
7571
|
console.error(err_2);
|
|
7258
7572
|
process.exit(1);
|
|
7259
|
-
return [3 /*break*/,
|
|
7260
|
-
case
|
|
7573
|
+
return [3 /*break*/, 53];
|
|
7574
|
+
case 53:
|
|
7261
7575
|
_g++;
|
|
7262
|
-
return [3 /*break*/,
|
|
7263
|
-
case
|
|
7576
|
+
return [3 /*break*/, 49];
|
|
7577
|
+
case 54:
|
|
7264
7578
|
process.exit();
|
|
7265
7579
|
return [2 /*return*/];
|
|
7266
7580
|
}
|