@tellescope/sdk 1.71.0 → 1.71.2
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 +3 -0
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +3 -3
- 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 +150 -57
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/sdk.d.ts +5 -2
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +3 -3
- 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 +149 -57
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/sdk.ts +3 -3
- package/src/tests/tests.ts +106 -5
- package/test_generated.pdf +0 -0
package/lib/esm/tests/tests.js
CHANGED
|
@@ -60,7 +60,7 @@ import crypto from "crypto";
|
|
|
60
60
|
import * as buffer from "buffer"; // only node >=15.7.0
|
|
61
61
|
import { fieldsToValidationOld, mongoIdStringRequired, } from "@tellescope/validation";
|
|
62
62
|
import { Session, EnduserSession } from "../sdk";
|
|
63
|
-
import { weighted_round_robin } from "@tellescope/utilities";
|
|
63
|
+
import { FORM_LOGIC_CALCULATED_FIELDS, responses_satisfy_conditions, weighted_round_robin } from "@tellescope/utilities";
|
|
64
64
|
import { DEFAULT_OPERATIONS, PLACEHOLDER_ID } from "@tellescope/constants";
|
|
65
65
|
import { schema, } from "@tellescope/schema";
|
|
66
66
|
import { assert, async_test, log_header, wait, } from "@tellescope/testing";
|
|
@@ -5851,23 +5851,33 @@ var pdf_generation = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
5851
5851
|
});
|
|
5852
5852
|
}); };
|
|
5853
5853
|
var mfa_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
5854
|
-
var enduser;
|
|
5855
|
-
return __generator(this, function (
|
|
5856
|
-
switch (
|
|
5854
|
+
var enduser, _a, _b, e;
|
|
5855
|
+
return __generator(this, function (_c) {
|
|
5856
|
+
switch (_c.label) {
|
|
5857
5857
|
case 0:
|
|
5858
5858
|
log_header("MFA Tests");
|
|
5859
5859
|
return [4 /*yield*/, sdkMfa.authenticate(mfaEmail, mfaPassword)];
|
|
5860
5860
|
case 1:
|
|
5861
|
-
|
|
5861
|
+
_c.sent();
|
|
5862
5862
|
return [4 /*yield*/, async_test("MFA must be handled before sdk works", function () { return sdkMfa.api.endusers.createOne({ fname: 'wont work' }); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
5863
5863
|
case 2:
|
|
5864
|
-
|
|
5864
|
+
_c.sent();
|
|
5865
5865
|
return [4 /*yield*/, sdkMfaApiKey.api.endusers.createOne({ fname: 'will work' })];
|
|
5866
5866
|
case 3:
|
|
5867
|
-
enduser =
|
|
5867
|
+
enduser = _c.sent();
|
|
5868
5868
|
return [4 /*yield*/, async_test("API Key Auth does not require MFA", function () { return sdkMfaApiKey.api.endusers.deleteOne(enduser.id); }, passOnAnyResult)];
|
|
5869
5869
|
case 4:
|
|
5870
|
-
|
|
5870
|
+
_c.sent();
|
|
5871
|
+
_b = (_a = sdkMfa).setAuthToken;
|
|
5872
|
+
return [4 /*yield*/, sdkMfaApiKey.api.users.generate_auth_token({ email: mfaEmail })];
|
|
5873
|
+
case 5:
|
|
5874
|
+
_b.apply(_a, [(_c.sent()).authToken]);
|
|
5875
|
+
return [4 /*yield*/, sdkMfa.api.endusers.createOne({ fname: 'will work' })];
|
|
5876
|
+
case 6:
|
|
5877
|
+
e = _c.sent();
|
|
5878
|
+
return [4 /*yield*/, async_test("API-key generated token does not require MFA", function () { return sdkMfa.api.endusers.deleteOne(e.id); }, passOnAnyResult)];
|
|
5879
|
+
case 7:
|
|
5880
|
+
_c.sent();
|
|
5871
5881
|
return [2 /*return*/];
|
|
5872
5882
|
}
|
|
5873
5883
|
});
|
|
@@ -7014,13 +7024,14 @@ var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, v
|
|
|
7014
7024
|
});
|
|
7015
7025
|
}); };
|
|
7016
7026
|
var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7017
|
-
var matchTag, dontMatchTag, matchEnduser, matchMultiTagEnduser, dontMatchEnduser, matchTicket, dontMatchTicket;
|
|
7027
|
+
var matchTag, dontMatchTag, ticketTitle, matchEnduser, matchMultiTagEnduser, dontMatchEnduser, matchTicket, dontMatchTicket;
|
|
7018
7028
|
return __generator(this, function (_a) {
|
|
7019
7029
|
switch (_a.label) {
|
|
7020
7030
|
case 0:
|
|
7021
7031
|
log_header("enduser_access_tags_tests");
|
|
7022
7032
|
matchTag = 'Access';
|
|
7023
7033
|
dontMatchTag = 'No Access';
|
|
7034
|
+
ticketTitle = 'ticket';
|
|
7024
7035
|
return [4 /*yield*/, sdk.api.endusers.createOne({ accessTags: [matchTag] })];
|
|
7025
7036
|
case 1:
|
|
7026
7037
|
matchEnduser = _a.sent();
|
|
@@ -7030,10 +7041,10 @@ var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, v
|
|
|
7030
7041
|
return [4 /*yield*/, sdk.api.endusers.createOne({ accessTags: [dontMatchTag] })];
|
|
7031
7042
|
case 3:
|
|
7032
7043
|
dontMatchEnduser = _a.sent();
|
|
7033
|
-
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: matchEnduser.id, title:
|
|
7044
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: matchEnduser.id, title: ticketTitle })];
|
|
7034
7045
|
case 4:
|
|
7035
7046
|
matchTicket = _a.sent();
|
|
7036
|
-
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: dontMatchEnduser.id, title:
|
|
7047
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: dontMatchEnduser.id, title: ticketTitle })
|
|
7037
7048
|
// start with disabled setting an no tags on non-admin
|
|
7038
7049
|
];
|
|
7039
7050
|
case 5:
|
|
@@ -7063,179 +7074,191 @@ var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, v
|
|
|
7063
7074
|
return [4 /*yield*/, async_test("Setting disabled, no tags, tickets", sdkNonAdmin.api.tickets.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7064
7075
|
case 12:
|
|
7065
7076
|
_a.sent();
|
|
7066
|
-
return [4 /*yield*/, async_test("Setting disabled,
|
|
7077
|
+
return [4 /*yield*/, async_test("Setting disabled, no tags, tickets search", function () { return sdkNonAdmin.api.tickets.getSome({ search: { query: ticketTitle } }); }, { onResult: function (r) { return r.length === 0; } })];
|
|
7067
7078
|
case 13:
|
|
7068
7079
|
_a.sent();
|
|
7069
|
-
return [4 /*yield*/, async_test("Setting disabled,
|
|
7080
|
+
return [4 /*yield*/, async_test("Setting disabled, matchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(matchTicket.id); }, handleAnyError)];
|
|
7070
7081
|
case 14:
|
|
7082
|
+
_a.sent();
|
|
7083
|
+
return [4 /*yield*/, async_test("Setting disabled, dontMatchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id); }, handleAnyError)];
|
|
7084
|
+
case 15:
|
|
7071
7085
|
_a.sent();
|
|
7072
7086
|
return [4 /*yield*/, async_test("tickets filter enduser valid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id } }); }, {
|
|
7073
7087
|
onResult: function (r) { return r.length === 0; }
|
|
7074
7088
|
})];
|
|
7075
|
-
case
|
|
7089
|
+
case 16:
|
|
7076
7090
|
_a.sent();
|
|
7077
7091
|
return [4 /*yield*/, async_test("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
|
|
7078
7092
|
onResult: function (r) { return r.length === 0; }
|
|
7079
7093
|
})
|
|
7080
7094
|
// enable setting, disable tags
|
|
7081
7095
|
];
|
|
7082
|
-
case
|
|
7096
|
+
case 17:
|
|
7083
7097
|
_a.sent();
|
|
7084
7098
|
// enable setting, disable tags
|
|
7085
7099
|
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7086
7100
|
settings: { endusers: { enableAccessTags: true } }
|
|
7087
7101
|
})];
|
|
7088
|
-
case
|
|
7102
|
+
case 18:
|
|
7089
7103
|
// enable setting, disable tags
|
|
7090
7104
|
_a.sent();
|
|
7091
7105
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // ensure enableAccessTags setting stored correctly on jwt
|
|
7092
|
-
case
|
|
7106
|
+
case 19:
|
|
7093
7107
|
_a.sent(); // ensure enableAccessTags setting stored correctly on jwt
|
|
7094
7108
|
return [4 /*yield*/, async_test("enable setting, disable tags", sdkNonAdmin.api.endusers.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7095
|
-
case
|
|
7109
|
+
case 20:
|
|
7096
7110
|
_a.sent();
|
|
7097
7111
|
return [4 /*yield*/, async_test("enable setting, matchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(matchEnduser.id); }, handleAnyError)];
|
|
7098
|
-
case
|
|
7112
|
+
case 21:
|
|
7099
7113
|
_a.sent();
|
|
7100
7114
|
return [4 /*yield*/, async_test("enable setting, dontMatchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id); }, handleAnyError)];
|
|
7101
|
-
case
|
|
7115
|
+
case 22:
|
|
7102
7116
|
_a.sent();
|
|
7103
7117
|
return [4 /*yield*/, async_test("enable setting, no tags, tickets", sdkNonAdmin.api.tickets.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7104
|
-
case
|
|
7118
|
+
case 23:
|
|
7119
|
+
_a.sent();
|
|
7120
|
+
return [4 /*yield*/, async_test("enable setting, no tags, tickets search", function () { return sdkNonAdmin.api.tickets.getSome({ search: { query: ticketTitle } }); }, { onResult: function (r) { return r.length === 0; } })];
|
|
7121
|
+
case 24:
|
|
7105
7122
|
_a.sent();
|
|
7106
7123
|
return [4 /*yield*/, async_test("enable setting, matchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(matchTicket.id); }, handleAnyError)];
|
|
7107
|
-
case
|
|
7124
|
+
case 25:
|
|
7108
7125
|
_a.sent();
|
|
7109
7126
|
return [4 /*yield*/, async_test("enable setting, dontMatchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id); }, handleAnyError)];
|
|
7110
|
-
case
|
|
7127
|
+
case 26:
|
|
7111
7128
|
_a.sent();
|
|
7112
7129
|
return [4 /*yield*/, async_test("tickets filter enduser valid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id } }); }, {
|
|
7113
7130
|
onResult: function (r) { return r.length === 0; }
|
|
7114
7131
|
})];
|
|
7115
|
-
case
|
|
7132
|
+
case 27:
|
|
7116
7133
|
_a.sent();
|
|
7117
7134
|
return [4 /*yield*/, async_test("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
|
|
7118
7135
|
onResult: function (r) { return r.length === 0; }
|
|
7119
7136
|
})
|
|
7120
7137
|
// disable setting, enable tags
|
|
7121
7138
|
];
|
|
7122
|
-
case
|
|
7139
|
+
case 28:
|
|
7123
7140
|
_a.sent();
|
|
7124
7141
|
// disable setting, enable tags
|
|
7125
7142
|
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [matchTag] }, { replaceObjectFields: true })];
|
|
7126
|
-
case
|
|
7143
|
+
case 29:
|
|
7127
7144
|
// disable setting, enable tags
|
|
7128
7145
|
_a.sent();
|
|
7129
7146
|
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7130
7147
|
settings: { endusers: { enableAccessTags: false } }
|
|
7131
7148
|
})];
|
|
7132
|
-
case
|
|
7149
|
+
case 30:
|
|
7133
7150
|
_a.sent();
|
|
7134
7151
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // ensure enableAccessTags setting stored correctly on jwt
|
|
7135
|
-
case
|
|
7152
|
+
case 31:
|
|
7136
7153
|
_a.sent(); // ensure enableAccessTags setting stored correctly on jwt
|
|
7137
7154
|
return [4 /*yield*/, async_test("disable setting, enable tags", sdkNonAdmin.api.endusers.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7138
|
-
case
|
|
7155
|
+
case 32:
|
|
7139
7156
|
_a.sent();
|
|
7140
7157
|
return [4 /*yield*/, async_test("disable setting, matchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(matchEnduser.id); }, handleAnyError)];
|
|
7141
|
-
case
|
|
7158
|
+
case 33:
|
|
7142
7159
|
_a.sent();
|
|
7143
7160
|
return [4 /*yield*/, async_test("disable setting, dontMatchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id); }, handleAnyError)];
|
|
7144
|
-
case
|
|
7161
|
+
case 34:
|
|
7145
7162
|
_a.sent();
|
|
7146
7163
|
return [4 /*yield*/, async_test("disable setting, enable tags, tickets", sdkNonAdmin.api.tickets.getSome, { onResult: function (r) { return r.length === 0; } })];
|
|
7147
|
-
case
|
|
7164
|
+
case 35:
|
|
7165
|
+
_a.sent();
|
|
7166
|
+
return [4 /*yield*/, async_test("disable setting, no tags, tickets search", function () { return sdkNonAdmin.api.tickets.getSome({ search: { query: ticketTitle } }); }, { onResult: function (r) { return r.length === 0; } })];
|
|
7167
|
+
case 36:
|
|
7148
7168
|
_a.sent();
|
|
7149
7169
|
return [4 /*yield*/, async_test("disable setting, matchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(matchTicket.id); }, handleAnyError)];
|
|
7150
|
-
case
|
|
7170
|
+
case 37:
|
|
7151
7171
|
_a.sent();
|
|
7152
7172
|
return [4 /*yield*/, async_test("disable setting, dontMatchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id); }, handleAnyError)];
|
|
7153
|
-
case
|
|
7173
|
+
case 38:
|
|
7154
7174
|
_a.sent();
|
|
7155
7175
|
return [4 /*yield*/, async_test("tickets filter enduser valid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id } }); }, {
|
|
7156
7176
|
onResult: function (r) { return r.length === 0; }
|
|
7157
7177
|
})];
|
|
7158
|
-
case
|
|
7178
|
+
case 39:
|
|
7159
7179
|
_a.sent();
|
|
7160
7180
|
return [4 /*yield*/, async_test("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
|
|
7161
7181
|
onResult: function (r) { return r.length === 0; }
|
|
7162
7182
|
})
|
|
7163
7183
|
// enabled setting AND tags (keeps tags enabled)
|
|
7164
7184
|
];
|
|
7165
|
-
case
|
|
7185
|
+
case 40:
|
|
7166
7186
|
_a.sent();
|
|
7167
7187
|
// enabled setting AND tags (keeps tags enabled)
|
|
7168
7188
|
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7169
7189
|
settings: { endusers: { enableAccessTags: true } }
|
|
7170
7190
|
})];
|
|
7171
|
-
case
|
|
7191
|
+
case 41:
|
|
7172
7192
|
// enabled setting AND tags (keeps tags enabled)
|
|
7173
7193
|
_a.sent();
|
|
7174
7194
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)]; // ensure enableAccessTags setting stored correctly on jwt
|
|
7175
|
-
case
|
|
7195
|
+
case 42:
|
|
7176
7196
|
_a.sent(); // ensure enableAccessTags setting stored correctly on jwt
|
|
7177
7197
|
return [4 /*yield*/, async_test("Access by tag with setting works", sdkNonAdmin.api.endusers.getSome, {
|
|
7178
7198
|
onResult: function (r) { return r.length === 2 && !r.find(function (e) { return e.id === dontMatchEnduser.id; }); }
|
|
7179
7199
|
})];
|
|
7180
|
-
case
|
|
7200
|
+
case 43:
|
|
7181
7201
|
_a.sent();
|
|
7182
7202
|
return [4 /*yield*/, async_test("access matchEnduser", function () { return sdkNonAdmin.api.endusers.getOne(matchEnduser.id); }, passOnAnyResult)];
|
|
7183
|
-
case
|
|
7203
|
+
case 44:
|
|
7184
7204
|
_a.sent();
|
|
7185
7205
|
return [4 /*yield*/, async_test("access dontMatchEnduser bad", function () { return sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id); }, handleAnyError)];
|
|
7186
|
-
case
|
|
7206
|
+
case 45:
|
|
7187
7207
|
_a.sent();
|
|
7188
|
-
return [4 /*yield*/, async_test("access setting,
|
|
7208
|
+
return [4 /*yield*/, async_test("access setting, tickets", sdkNonAdmin.api.tickets.getSome, {
|
|
7189
7209
|
onResult: function (r) { return r.length === 1 && !r.find(function (t) { return t.id === dontMatchTicket.id; }); }
|
|
7190
7210
|
})];
|
|
7191
|
-
case
|
|
7211
|
+
case 46:
|
|
7212
|
+
_a.sent();
|
|
7213
|
+
return [4 /*yield*/, async_test("access setting tickets search", function () { return sdkNonAdmin.api.tickets.getSome({ search: { query: ticketTitle } }); }, { onResult: function (r) { return r.length === 1; } })];
|
|
7214
|
+
case 47:
|
|
7192
7215
|
_a.sent();
|
|
7193
7216
|
return [4 /*yield*/, async_test("access, matchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(matchTicket.id); }, passOnAnyResult)];
|
|
7194
|
-
case
|
|
7217
|
+
case 48:
|
|
7195
7218
|
_a.sent();
|
|
7196
7219
|
return [4 /*yield*/, async_test("access, dontMatchEnduser ticket", function () { return sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id); }, handleAnyError)];
|
|
7197
|
-
case
|
|
7220
|
+
case 49:
|
|
7198
7221
|
_a.sent();
|
|
7199
7222
|
return [4 /*yield*/, async_test("tickets filter enduser valid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id } }); }, {
|
|
7200
7223
|
onResult: function (r) { return r.length === 1; }
|
|
7201
7224
|
})];
|
|
7202
|
-
case
|
|
7225
|
+
case 50:
|
|
7203
7226
|
_a.sent();
|
|
7204
7227
|
return [4 /*yield*/, async_test("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
|
|
7205
7228
|
onResult: function (r) { return r.length === 0; }
|
|
7206
7229
|
})];
|
|
7207
|
-
case
|
|
7230
|
+
case 51:
|
|
7208
7231
|
_a.sent();
|
|
7209
7232
|
return [4 /*yield*/, async_test("Non-admin can't update tags", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: ['new tag'] }); }, handleAnyError)];
|
|
7210
|
-
case
|
|
7233
|
+
case 52:
|
|
7211
7234
|
_a.sent();
|
|
7212
7235
|
return [4 /*yield*/, 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)];
|
|
7213
|
-
case
|
|
7236
|
+
case 53:
|
|
7214
7237
|
_a.sent();
|
|
7215
7238
|
return [4 /*yield*/, async_test("Non-admin can update other fields", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { bio: '' }); }, passOnAnyResult)
|
|
7216
7239
|
// cleanup
|
|
7217
7240
|
];
|
|
7218
|
-
case
|
|
7241
|
+
case 54:
|
|
7219
7242
|
_a.sent();
|
|
7220
7243
|
// cleanup
|
|
7221
7244
|
return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
7222
7245
|
settings: { endusers: { enableAccessTags: false } }
|
|
7223
7246
|
})];
|
|
7224
|
-
case
|
|
7247
|
+
case 55:
|
|
7225
7248
|
// cleanup
|
|
7226
7249
|
_a.sent();
|
|
7227
7250
|
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [] }, { replaceObjectFields: true })];
|
|
7228
|
-
case
|
|
7251
|
+
case 56:
|
|
7229
7252
|
_a.sent();
|
|
7230
7253
|
return [4 /*yield*/, sdkNonAdmin.refresh_session()];
|
|
7231
|
-
case
|
|
7254
|
+
case 57:
|
|
7232
7255
|
_a.sent();
|
|
7233
7256
|
return [4 /*yield*/, Promise.all([
|
|
7234
7257
|
sdk.api.endusers.deleteOne(matchEnduser.id),
|
|
7235
7258
|
sdk.api.endusers.deleteOne(matchMultiTagEnduser.id),
|
|
7236
7259
|
sdk.api.endusers.deleteOne(dontMatchEnduser.id),
|
|
7237
7260
|
])];
|
|
7238
|
-
case
|
|
7261
|
+
case 58:
|
|
7239
7262
|
_a.sent();
|
|
7240
7263
|
return [2 /*return*/];
|
|
7241
7264
|
}
|
|
@@ -7318,6 +7341,74 @@ var marketing_email_unsubscribe_tests = function () { return __awaiter(void 0, v
|
|
|
7318
7341
|
}
|
|
7319
7342
|
});
|
|
7320
7343
|
}); };
|
|
7344
|
+
export var form_conditional_logic_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7345
|
+
var responses, i, run_conditional_form_test;
|
|
7346
|
+
var _a, _b, _c;
|
|
7347
|
+
return __generator(this, function (_d) {
|
|
7348
|
+
log_header("Form Conditional Logic Tests");
|
|
7349
|
+
responses = [
|
|
7350
|
+
{
|
|
7351
|
+
fieldId: "0",
|
|
7352
|
+
answer: { type: 'string', value: 'hello' },
|
|
7353
|
+
fieldTitle: '',
|
|
7354
|
+
},
|
|
7355
|
+
{
|
|
7356
|
+
fieldId: "0list",
|
|
7357
|
+
answer: { type: 'multiple_choice', value: ['hello'] },
|
|
7358
|
+
fieldTitle: '',
|
|
7359
|
+
},
|
|
7360
|
+
{
|
|
7361
|
+
fieldId: "1",
|
|
7362
|
+
answer: { type: 'string', value: '' },
|
|
7363
|
+
fieldTitle: '',
|
|
7364
|
+
},
|
|
7365
|
+
{
|
|
7366
|
+
fieldId: "2",
|
|
7367
|
+
answer: { type: 'multiple_choice', value: [''] },
|
|
7368
|
+
fieldTitle: '',
|
|
7369
|
+
},
|
|
7370
|
+
{
|
|
7371
|
+
fieldId: "3",
|
|
7372
|
+
answer: { type: 'number', value: 73 },
|
|
7373
|
+
fieldTitle: '',
|
|
7374
|
+
computedValueKey: 'Height',
|
|
7375
|
+
},
|
|
7376
|
+
{
|
|
7377
|
+
fieldId: "4",
|
|
7378
|
+
answer: { type: 'number', value: 190 },
|
|
7379
|
+
fieldTitle: '',
|
|
7380
|
+
computedValueKey: 'Weight',
|
|
7381
|
+
},
|
|
7382
|
+
];
|
|
7383
|
+
i = 0;
|
|
7384
|
+
run_conditional_form_test = function (conditions, expected, title) {
|
|
7385
|
+
if (title === void 0) { title = "Test ".concat(++i); }
|
|
7386
|
+
assert(responses_satisfy_conditions(responses, conditions) === expected, "Failed condition:\n".concat(JSON.stringify(conditions, null, 2)), title);
|
|
7387
|
+
};
|
|
7388
|
+
run_conditional_form_test({ $and: [{ condition: { '0': { $contains: 'hel' } } }] }, true);
|
|
7389
|
+
run_conditional_form_test({ $and: [{ condition: { '0': { $contains: 'hello' } } }] }, true);
|
|
7390
|
+
run_conditional_form_test({ $and: [{ condition: { '0': { $contains: 'hllo' } } }] }, false);
|
|
7391
|
+
run_conditional_form_test({ $and: [{ condition: { '0list': { $contains: 'hel' } } }] }, true);
|
|
7392
|
+
run_conditional_form_test({ $and: [{ condition: { '0list': { $contains: 'hello' } } }] }, true);
|
|
7393
|
+
run_conditional_form_test({ $and: [{ condition: { '0list': { $contains: 'hllo' } } }] }, false);
|
|
7394
|
+
run_conditional_form_test({ $and: [{ condition: { '1': '' } }] }, true);
|
|
7395
|
+
run_conditional_form_test({ $and: [{ condition: { '1': { $exists: true } } }] }, false);
|
|
7396
|
+
run_conditional_form_test({ $and: [{ condition: { '1': { $exists: false } } }] }, true);
|
|
7397
|
+
run_conditional_form_test({ $and: [{ condition: { '2': '' } }] }, true);
|
|
7398
|
+
run_conditional_form_test({ $and: [{ condition: { '2': { $exists: true } } }] }, true);
|
|
7399
|
+
run_conditional_form_test({ $and: [{ condition: { '2': { $exists: false } } }] }, false);
|
|
7400
|
+
run_conditional_form_test({ $and: [{ condition: { '3': { $gt: 72 } } }] }, true);
|
|
7401
|
+
run_conditional_form_test({ $and: [{ condition: { '3': { $gt: 73 } } }] }, false);
|
|
7402
|
+
run_conditional_form_test({ $and: [{ condition: { '3': { $gt: 74 } } }] }, false);
|
|
7403
|
+
run_conditional_form_test({ $and: [{ condition: { '3': { $lt: 72 } } }] }, false);
|
|
7404
|
+
run_conditional_form_test({ $and: [{ condition: { '3': { $lt: 73 } } }] }, false);
|
|
7405
|
+
run_conditional_form_test({ $and: [{ condition: { '3': { $lt: 74 } } }] }, true);
|
|
7406
|
+
run_conditional_form_test({ $and: [{ condition: (_a = {}, _a[FORM_LOGIC_CALCULATED_FIELDS[0]] = { $exists: true }, _a) }] }, true);
|
|
7407
|
+
run_conditional_form_test({ $and: [{ condition: (_b = {}, _b[FORM_LOGIC_CALCULATED_FIELDS[0]] = { $gt: 25 }, _b) }] }, true);
|
|
7408
|
+
run_conditional_form_test({ $and: [{ condition: (_c = {}, _c[FORM_LOGIC_CALCULATED_FIELDS[0]] = { $lt: 25 }, _c) }] }, false);
|
|
7409
|
+
return [2 /*return*/];
|
|
7410
|
+
});
|
|
7411
|
+
}); };
|
|
7321
7412
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7322
7413
|
var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
|
|
7323
7414
|
var _h, _j;
|
|
@@ -7331,6 +7422,7 @@ var marketing_email_unsubscribe_tests = function () { return __awaiter(void 0, v
|
|
|
7331
7422
|
_k.label = 2;
|
|
7332
7423
|
case 2:
|
|
7333
7424
|
_k.trys.push([2, 43, , 44]);
|
|
7425
|
+
form_conditional_logic_tests();
|
|
7334
7426
|
return [4 /*yield*/, test_weighted_round_robin()];
|
|
7335
7427
|
case 3:
|
|
7336
7428
|
_k.sent();
|
|
@@ -7367,13 +7459,13 @@ var marketing_email_unsubscribe_tests = function () { return __awaiter(void 0, v
|
|
|
7367
7459
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
7368
7460
|
case 10:
|
|
7369
7461
|
_k.sent(); // should come right after setup tests
|
|
7370
|
-
return [4 /*yield*/,
|
|
7462
|
+
return [4 /*yield*/, enduser_access_tags_tests()];
|
|
7371
7463
|
case 11:
|
|
7372
7464
|
_k.sent();
|
|
7373
|
-
return [4 /*yield*/,
|
|
7465
|
+
return [4 /*yield*/, marketing_email_unsubscribe_tests()];
|
|
7374
7466
|
case 12:
|
|
7375
7467
|
_k.sent();
|
|
7376
|
-
return [4 /*yield*/,
|
|
7468
|
+
return [4 /*yield*/, unique_strings_tests()];
|
|
7377
7469
|
case 13:
|
|
7378
7470
|
_k.sent();
|
|
7379
7471
|
return [4 /*yield*/, self_serve_appointment_booking_tests()];
|