@tellescope/sdk 1.253.0 → 1.253.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts +6 -0
- package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js +256 -0
- package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts +43 -0
- package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js +168 -0
- package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts +23 -0
- package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js +325 -0
- package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/user_portal_settings.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/user_portal_settings.test.js +104 -28
- package/lib/cjs/tests/api_tests/user_portal_settings.test.js.map +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +444 -174
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts +6 -0
- package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/beluga_manual_sync.test.js +252 -0
- package/lib/esm/tests/api_tests/beluga_manual_sync.test.js.map +1 -0
- package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts +43 -0
- package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/gcal_sync_retry.test.js +164 -0
- package/lib/esm/tests/api_tests/gcal_sync_retry.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts +23 -0
- package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js +321 -0
- package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js.map +1 -0
- package/lib/esm/tests/api_tests/user_portal_settings.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/user_portal_settings.test.js +104 -28
- package/lib/esm/tests/api_tests/user_portal_settings.test.js.map +1 -1
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +444 -174
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/tests/api_tests/beluga_manual_sync.test.ts +159 -0
- package/src/tests/api_tests/gcal_sync_retry.test.ts +104 -0
- package/src/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.ts +214 -0
- package/src/tests/api_tests/user_portal_settings.test.ts +71 -1
- package/src/tests/tests.ts +222 -6
- package/test_generated.pdf +0 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
require('source-map-support').install();
|
|
38
|
+
import { Session, EnduserSession } from "../../../sdk";
|
|
39
|
+
import { async_test, log_header, } from "@tellescope/testing";
|
|
40
|
+
import { setup_tests } from "../../setup";
|
|
41
|
+
var host = process.env.API_URL || 'http://localhost:8080';
|
|
42
|
+
var businessId = '60398b1131a295e64f084ff6';
|
|
43
|
+
var ENDUSER_PASSWORD = 'F0106TestPassword!123';
|
|
44
|
+
// Every endusers field marked enduserUpdatesDisabled in schema.ts, with a
|
|
45
|
+
// validator-passing sample value so the only rejection in play is the
|
|
46
|
+
// write-restriction (not input validation).
|
|
47
|
+
var restrictedEnduserUpdates = function (staffId, mongoId) {
|
|
48
|
+
var _a;
|
|
49
|
+
return ({
|
|
50
|
+
externalId: 'f0106-attacker-external-id',
|
|
51
|
+
tags: ['f0106-attacker-tag'],
|
|
52
|
+
accessTags: ['f0106-attacker-access-tag'],
|
|
53
|
+
assignedTo: [staffId],
|
|
54
|
+
customTypeId: mongoId,
|
|
55
|
+
references: [{ type: 'Vital', id: 'f0106-attacker-reference' }],
|
|
56
|
+
sharedWithOrganizations: [],
|
|
57
|
+
journeys: (_a = {}, _a[mongoId] = 'Added', _a),
|
|
58
|
+
primaryAssignee: staffId,
|
|
59
|
+
fields: { f0106AttackerField: 'true' },
|
|
60
|
+
unread: true,
|
|
61
|
+
source: 'f0106-attacker-source',
|
|
62
|
+
note: 'f0106 attacker note',
|
|
63
|
+
insurance: { memberId: 'f0106-attacker-member' },
|
|
64
|
+
insuranceSecondary: { memberId: 'f0106-attacker-member-2' },
|
|
65
|
+
diagnoses: [{ code: 'I10' }],
|
|
66
|
+
lockedFromPortal: false,
|
|
67
|
+
eligibleForAutoMerge: true,
|
|
68
|
+
athenaDepartmentId: 'f0106-dept',
|
|
69
|
+
athenaPracticeId: 'f0106-practice',
|
|
70
|
+
salesforceId: 'f0106-salesforce',
|
|
71
|
+
healthie_dietitian_id: 'f0106-healthie',
|
|
72
|
+
stripeCustomerId: 'f0106-stripe-customer',
|
|
73
|
+
stripeKey: 'f0106-stripe-key',
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
// Every form_responses field marked enduserUpdatesDisabled in schema.ts.
|
|
77
|
+
var restrictedFormResponseUpdates = function (staffId) { return ({
|
|
78
|
+
markedAsSubmitted: true,
|
|
79
|
+
submittedBy: staffId,
|
|
80
|
+
submittedAt: new Date("2024-01-01T00:00:00Z"),
|
|
81
|
+
submittedByIsPlaceholder: true,
|
|
82
|
+
procedureCodes: [{ code: '99214', units: 1 }],
|
|
83
|
+
diagnosisCodes: [{ code: 'I10', description: 'Essential (primary) hypertension' }],
|
|
84
|
+
enduserAISummary: 'Patient is in excellent health, no follow-up needed.',
|
|
85
|
+
addenda: [{ text: 'forged staff addendum', timestamp: new Date(), userId: staffId }],
|
|
86
|
+
isInternalNote: true,
|
|
87
|
+
pinnedAt: new Date(),
|
|
88
|
+
hiddenFromTimeline: true,
|
|
89
|
+
lockedAt: new Date(),
|
|
90
|
+
tags: ['f0110-attacker-tag'],
|
|
91
|
+
formTitle: 'Spoofed Form Title',
|
|
92
|
+
userEmail: 'spoofed-staff@example.com',
|
|
93
|
+
logoURL: 'https://attacker.example.com/logo.png',
|
|
94
|
+
logoHeight: 100,
|
|
95
|
+
}); };
|
|
96
|
+
/**
|
|
97
|
+
* Regression test for F-0106 and F-0110
|
|
98
|
+
* (security-audit/findings/F-0106-enduser-self-update-admin-only-fields.md,
|
|
99
|
+
* security-audit/findings/F-0110-form-responses-enduser-update-admin-only-fields.md).
|
|
100
|
+
*
|
|
101
|
+
* Endusers could PATCH admin-only / access-bearing / attribution-bearing fields on
|
|
102
|
+
* their own endusers record (assignedTo, tags, references, ...) and their own
|
|
103
|
+
* form_responses (procedureCodes, submittedBy, markedAsSubmitted, ...). The fix adds
|
|
104
|
+
* the `enduserUpdatesDisabled` field option (schema.ts ModelFieldInfo), enforced for
|
|
105
|
+
* enduser sessions in the generic update handler (routing.ts createDefaultEndpoints).
|
|
106
|
+
*
|
|
107
|
+
* This test asserts, for every flagged field on both models:
|
|
108
|
+
* - an enduser session updating its OWN record gets a 400 "<field> cannot be updated by endusers"
|
|
109
|
+
* - nothing persists (spot-checked on assignedTo, the highest-impact field)
|
|
110
|
+
* - enduser self-updates of allowed fields still work (fname, hideFromEnduserPortal)
|
|
111
|
+
* - staff sessions can still update the restricted fields
|
|
112
|
+
*/
|
|
113
|
+
export var enduser_write_restrictions_tests = function (_a) {
|
|
114
|
+
var sdk = _a.sdk;
|
|
115
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
116
|
+
var enduserId, formId, formResponseId, enduserEmail, enduser_1, enduserSDK_1, form, formResponse_1, _loop_1, _i, _b, _c, field, value, _loop_2, _d, _e, _f, field, value, _g, _h, _j;
|
|
117
|
+
return __generator(this, function (_k) {
|
|
118
|
+
switch (_k.label) {
|
|
119
|
+
case 0:
|
|
120
|
+
log_header("F-0106/F-0110: enduser write restrictions (enduserUpdatesDisabled)");
|
|
121
|
+
_k.label = 1;
|
|
122
|
+
case 1:
|
|
123
|
+
_k.trys.push([1, , 21, 34]);
|
|
124
|
+
enduserEmail = "f0106-enduser-".concat(Date.now(), "@example.com");
|
|
125
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: enduserEmail, fname: 'F0106', lname: 'Restricted' })];
|
|
126
|
+
case 2:
|
|
127
|
+
enduser_1 = _k.sent();
|
|
128
|
+
enduserId = enduser_1.id;
|
|
129
|
+
return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser_1.id, password: ENDUSER_PASSWORD })];
|
|
130
|
+
case 3:
|
|
131
|
+
_k.sent();
|
|
132
|
+
enduserSDK_1 = new EnduserSession({ host: host, businessId: businessId });
|
|
133
|
+
return [4 /*yield*/, enduserSDK_1.authenticate(enduserEmail, ENDUSER_PASSWORD)];
|
|
134
|
+
case 4:
|
|
135
|
+
_k.sent();
|
|
136
|
+
return [4 /*yield*/, sdk.api.forms.createOne({ title: 'F-0106/F-0110 Write Restriction Test Form' })];
|
|
137
|
+
case 5:
|
|
138
|
+
form = _k.sent();
|
|
139
|
+
formId = form.id;
|
|
140
|
+
return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({
|
|
141
|
+
formId: form.id,
|
|
142
|
+
enduserId: enduser_1.id,
|
|
143
|
+
})];
|
|
144
|
+
case 6:
|
|
145
|
+
formResponse_1 = (_k.sent()).response;
|
|
146
|
+
formResponseId = formResponse_1.id;
|
|
147
|
+
_loop_1 = function (field, value) {
|
|
148
|
+
return __generator(this, function (_l) {
|
|
149
|
+
switch (_l.label) {
|
|
150
|
+
case 0: return [4 /*yield*/, async_test("F-0106: enduser cannot self-update endusers.".concat(field), function () {
|
|
151
|
+
var _a;
|
|
152
|
+
return enduserSDK_1.api.endusers.updateOne(enduser_1.id, (_a = {}, _a[field] = value, _a));
|
|
153
|
+
}, { shouldError: true, onError: function (e) { return e.message === "".concat(field, " cannot be updated by endusers"); } })];
|
|
154
|
+
case 1:
|
|
155
|
+
_l.sent();
|
|
156
|
+
return [2 /*return*/];
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
_i = 0, _b = Object.entries(restrictedEnduserUpdates(sdk.userInfo.id, enduser_1.id));
|
|
161
|
+
_k.label = 7;
|
|
162
|
+
case 7:
|
|
163
|
+
if (!(_i < _b.length)) return [3 /*break*/, 10];
|
|
164
|
+
_c = _b[_i], field = _c[0], value = _c[1];
|
|
165
|
+
return [5 /*yield**/, _loop_1(field, value)];
|
|
166
|
+
case 8:
|
|
167
|
+
_k.sent();
|
|
168
|
+
_k.label = 9;
|
|
169
|
+
case 9:
|
|
170
|
+
_i++;
|
|
171
|
+
return [3 /*break*/, 7];
|
|
172
|
+
case 10:
|
|
173
|
+
// F-0106 Variant A persistence check: the rejected assignedTo write must not
|
|
174
|
+
// have granted the staff read-filter match.
|
|
175
|
+
return [4 /*yield*/, async_test('F-0106: rejected assignedTo write did not persist', function () { return sdk.api.endusers.getOne(enduser_1.id); }, { onResult: function (e) { var _a, _b; return !((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) && !((_b = e.tags) === null || _b === void 0 ? void 0 : _b.length) && e.externalId === undefined; } })
|
|
176
|
+
// ---- F-0110: enduser self-update of restricted form_responses fields must 400 ----
|
|
177
|
+
];
|
|
178
|
+
case 11:
|
|
179
|
+
// F-0106 Variant A persistence check: the rejected assignedTo write must not
|
|
180
|
+
// have granted the staff read-filter match.
|
|
181
|
+
_k.sent();
|
|
182
|
+
_loop_2 = function (field, value) {
|
|
183
|
+
return __generator(this, function (_m) {
|
|
184
|
+
switch (_m.label) {
|
|
185
|
+
case 0: return [4 /*yield*/, async_test("F-0110: enduser cannot self-update form_responses.".concat(field), function () {
|
|
186
|
+
var _a;
|
|
187
|
+
return enduserSDK_1.api.form_responses.updateOne(formResponse_1.id, (_a = {}, _a[field] = value, _a));
|
|
188
|
+
}, { shouldError: true, onError: function (e) { return e.message === "".concat(field, " cannot be updated by endusers"); } })];
|
|
189
|
+
case 1:
|
|
190
|
+
_m.sent();
|
|
191
|
+
return [2 /*return*/];
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
_d = 0, _e = Object.entries(restrictedFormResponseUpdates(sdk.userInfo.id));
|
|
196
|
+
_k.label = 12;
|
|
197
|
+
case 12:
|
|
198
|
+
if (!(_d < _e.length)) return [3 /*break*/, 15];
|
|
199
|
+
_f = _e[_d], field = _f[0], value = _f[1];
|
|
200
|
+
return [5 /*yield**/, _loop_2(field, value)];
|
|
201
|
+
case 13:
|
|
202
|
+
_k.sent();
|
|
203
|
+
_k.label = 14;
|
|
204
|
+
case 14:
|
|
205
|
+
_d++;
|
|
206
|
+
return [3 /*break*/, 12];
|
|
207
|
+
case 15: return [4 /*yield*/, async_test('F-0110: rejected writes did not persist (markedAsSubmitted, procedureCodes, submittedBy)', function () { return sdk.api.form_responses.getOne(formResponse_1.id); }, { onResult: function (fr) { var _a; return !fr.markedAsSubmitted && !((_a = fr.procedureCodes) === null || _a === void 0 ? void 0 : _a.length) && fr.submittedBy === undefined; } })
|
|
208
|
+
// ---- Positive controls: intended enduser self-updates still work ----
|
|
209
|
+
];
|
|
210
|
+
case 16:
|
|
211
|
+
_k.sent();
|
|
212
|
+
// ---- Positive controls: intended enduser self-updates still work ----
|
|
213
|
+
return [4 /*yield*/, async_test('enduser can still update own profile fields (fname/lname)', function () { return enduserSDK_1.api.endusers.updateOne(enduser_1.id, { fname: 'StillAllowed', lname: 'Patient' }); }, { onResult: function (e) { return e.fname === 'StillAllowed' && e.lname === 'Patient'; } })];
|
|
214
|
+
case 17:
|
|
215
|
+
// ---- Positive controls: intended enduser self-updates still work ----
|
|
216
|
+
_k.sent();
|
|
217
|
+
return [4 /*yield*/, async_test('enduser can still update own form_response (hideFromEnduserPortal — intended per schema)', function () { return enduserSDK_1.api.form_responses.updateOne(formResponse_1.id, { hideFromEnduserPortal: true }); }, { onResult: function (fr) { return fr.hideFromEnduserPortal === true; } })
|
|
218
|
+
// ---- Positive controls: staff sessions are unaffected by enduserUpdatesDisabled ----
|
|
219
|
+
];
|
|
220
|
+
case 18:
|
|
221
|
+
_k.sent();
|
|
222
|
+
// ---- Positive controls: staff sessions are unaffected by enduserUpdatesDisabled ----
|
|
223
|
+
return [4 /*yield*/, async_test('staff can still update restricted endusers fields (tags, assignedTo, externalId, note, source)', function () { return sdk.api.endusers.updateOne(enduser_1.id, {
|
|
224
|
+
tags: ['staff-set-tag'],
|
|
225
|
+
assignedTo: [sdk.userInfo.id],
|
|
226
|
+
externalId: 'staff-set-external-id',
|
|
227
|
+
note: 'staff-set note',
|
|
228
|
+
source: 'staff-set-source',
|
|
229
|
+
}); }, { onResult: function (e) {
|
|
230
|
+
var _a, _b;
|
|
231
|
+
return (!!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('staff-set-tag'))
|
|
232
|
+
&& !!((_b = e.assignedTo) === null || _b === void 0 ? void 0 : _b.includes(sdk.userInfo.id))
|
|
233
|
+
&& e.externalId === 'staff-set-external-id');
|
|
234
|
+
} })];
|
|
235
|
+
case 19:
|
|
236
|
+
// ---- Positive controls: staff sessions are unaffected by enduserUpdatesDisabled ----
|
|
237
|
+
_k.sent();
|
|
238
|
+
return [4 /*yield*/, async_test('staff can still update restricted form_responses fields (procedureCodes, diagnosisCodes, tags)', function () { return sdk.api.form_responses.updateOne(formResponse_1.id, {
|
|
239
|
+
procedureCodes: [{ code: 'G0019', units: 1 }],
|
|
240
|
+
diagnosisCodes: [{ code: 'Z71.3', description: 'Dietary counseling and surveillance' }],
|
|
241
|
+
tags: ['staff-set-tag'],
|
|
242
|
+
}); }, { onResult: function (fr) {
|
|
243
|
+
var _a, _b, _c, _d, _e;
|
|
244
|
+
return (((_b = (_a = fr.procedureCodes) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.code) === 'G0019'
|
|
245
|
+
&& ((_d = (_c = fr.diagnosisCodes) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.code) === 'Z71.3'
|
|
246
|
+
&& !!((_e = fr.tags) === null || _e === void 0 ? void 0 : _e.includes('staff-set-tag')));
|
|
247
|
+
} })];
|
|
248
|
+
case 20:
|
|
249
|
+
_k.sent();
|
|
250
|
+
return [3 /*break*/, 34];
|
|
251
|
+
case 21:
|
|
252
|
+
if (!formResponseId) return [3 /*break*/, 25];
|
|
253
|
+
_k.label = 22;
|
|
254
|
+
case 22:
|
|
255
|
+
_k.trys.push([22, 24, , 25]);
|
|
256
|
+
return [4 /*yield*/, sdk.api.form_responses.deleteOne(formResponseId)];
|
|
257
|
+
case 23:
|
|
258
|
+
_k.sent();
|
|
259
|
+
return [3 /*break*/, 25];
|
|
260
|
+
case 24:
|
|
261
|
+
_g = _k.sent();
|
|
262
|
+
return [3 /*break*/, 25];
|
|
263
|
+
case 25:
|
|
264
|
+
if (!formId) return [3 /*break*/, 29];
|
|
265
|
+
_k.label = 26;
|
|
266
|
+
case 26:
|
|
267
|
+
_k.trys.push([26, 28, , 29]);
|
|
268
|
+
return [4 /*yield*/, sdk.api.forms.deleteOne(formId)];
|
|
269
|
+
case 27:
|
|
270
|
+
_k.sent();
|
|
271
|
+
return [3 /*break*/, 29];
|
|
272
|
+
case 28:
|
|
273
|
+
_h = _k.sent();
|
|
274
|
+
return [3 /*break*/, 29];
|
|
275
|
+
case 29:
|
|
276
|
+
if (!enduserId) return [3 /*break*/, 33];
|
|
277
|
+
_k.label = 30;
|
|
278
|
+
case 30:
|
|
279
|
+
_k.trys.push([30, 32, , 33]);
|
|
280
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduserId)];
|
|
281
|
+
case 31:
|
|
282
|
+
_k.sent();
|
|
283
|
+
return [3 /*break*/, 33];
|
|
284
|
+
case 32:
|
|
285
|
+
_j = _k.sent();
|
|
286
|
+
return [3 /*break*/, 33];
|
|
287
|
+
case 33: return [7 /*endfinally*/];
|
|
288
|
+
case 34: return [2 /*return*/];
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
};
|
|
293
|
+
// Allow running this test file independently
|
|
294
|
+
if (require.main === module) {
|
|
295
|
+
console.log("\uD83C\uDF10 Using API URL: ".concat(host));
|
|
296
|
+
var sdk_1 = new Session({ host: host });
|
|
297
|
+
var sdkNonAdmin_1 = new Session({ host: host });
|
|
298
|
+
var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
299
|
+
return __generator(this, function (_a) {
|
|
300
|
+
switch (_a.label) {
|
|
301
|
+
case 0: return [4 /*yield*/, setup_tests(sdk_1, sdkNonAdmin_1)];
|
|
302
|
+
case 1:
|
|
303
|
+
_a.sent();
|
|
304
|
+
return [4 /*yield*/, enduser_write_restrictions_tests({ sdk: sdk_1, sdkNonAdmin: sdkNonAdmin_1 })];
|
|
305
|
+
case 2:
|
|
306
|
+
_a.sent();
|
|
307
|
+
return [2 /*return*/];
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
}); };
|
|
311
|
+
runTests()
|
|
312
|
+
.then(function () {
|
|
313
|
+
console.log("✅ F-0106/F-0110 enduser write-restriction test suite completed successfully");
|
|
314
|
+
process.exit(0);
|
|
315
|
+
})
|
|
316
|
+
.catch(function (error) {
|
|
317
|
+
console.error("❌ F-0106/F-0110 enduser write-restriction test suite failed:", error);
|
|
318
|
+
process.exit(1);
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
//# sourceMappingURL=F-0106-F-0110-enduser-write-restrictions.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"F-0106-F-0110-enduser-write-restrictions.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user_portal_settings.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/user_portal_settings.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAA;AAanD,eAAO,MAAM,0BAA0B;SAAuC,OAAO;iBAAe,OAAO;
|
|
1
|
+
{"version":3,"file":"user_portal_settings.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/user_portal_settings.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAA;AAanD,eAAO,MAAM,0BAA0B;SAAuC,OAAO;iBAAe,OAAO;mBAyP1G,CAAA"}
|
|
@@ -44,7 +44,7 @@ var businessId = '60398b1131a295e64f084ff6';
|
|
|
44
44
|
export var user_portal_settings_tests = function (_a) {
|
|
45
45
|
var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
|
|
46
46
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
47
|
-
var testUser, testEnduserId, enduserSDK;
|
|
47
|
+
var testUser, testEnduserId, enduserSDK, orgId, originalOnboardingStatus;
|
|
48
48
|
return __generator(this, function (_b) {
|
|
49
49
|
switch (_b.label) {
|
|
50
50
|
case 0:
|
|
@@ -56,9 +56,13 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
56
56
|
];
|
|
57
57
|
case 1:
|
|
58
58
|
testUser = _b.sent();
|
|
59
|
-
|
|
59
|
+
orgId = sdk.userInfo.businessId;
|
|
60
|
+
return [4 /*yield*/, sdk.api.organizations.getOne(orgId)];
|
|
60
61
|
case 2:
|
|
61
|
-
_b.
|
|
62
|
+
originalOnboardingStatus = (_b.sent()).onboardingStatus;
|
|
63
|
+
_b.label = 3;
|
|
64
|
+
case 3:
|
|
65
|
+
_b.trys.push([3, , 18, 29]);
|
|
62
66
|
// ===== Valid: string values =====
|
|
63
67
|
return [4 /*yield*/, async_test('portalSettings - string values accepted', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
64
68
|
var updated;
|
|
@@ -77,7 +81,7 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
77
81
|
}); }, { onResult: function (r) { return r === 'dark'; } })
|
|
78
82
|
// ===== Valid: boolean values + round-trip as real booleans =====
|
|
79
83
|
];
|
|
80
|
-
case
|
|
84
|
+
case 4:
|
|
81
85
|
// ===== Valid: string values =====
|
|
82
86
|
_b.sent();
|
|
83
87
|
// ===== Valid: boolean values + round-trip as real booleans =====
|
|
@@ -105,7 +109,7 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
105
109
|
})
|
|
106
110
|
// ===== Valid: mixed string + boolean values, strings stay strings =====
|
|
107
111
|
];
|
|
108
|
-
case
|
|
112
|
+
case 5:
|
|
109
113
|
// ===== Valid: boolean values + round-trip as real booleans =====
|
|
110
114
|
_b.sent();
|
|
111
115
|
// ===== Valid: mixed string + boolean values, strings stay strings =====
|
|
@@ -132,7 +136,7 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
132
136
|
})
|
|
133
137
|
// ===== Valid: empty object (zero-iteration loop passes) =====
|
|
134
138
|
];
|
|
135
|
-
case
|
|
139
|
+
case 6:
|
|
136
140
|
// ===== Valid: mixed string + boolean values, strings stay strings =====
|
|
137
141
|
_b.sent();
|
|
138
142
|
// ===== Valid: empty object (zero-iteration loop passes) =====
|
|
@@ -152,14 +156,14 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
152
156
|
}); }, { onResult: function (r) { return !!r && typeof r === 'object' && Object.keys(r).length === 0; } })
|
|
153
157
|
// ===== Invalid: value string > 250 chars =====
|
|
154
158
|
];
|
|
155
|
-
case
|
|
159
|
+
case 7:
|
|
156
160
|
// ===== Valid: empty object (zero-iteration loop passes) =====
|
|
157
161
|
_b.sent();
|
|
158
162
|
// ===== Invalid: value string > 250 chars =====
|
|
159
163
|
return [4 /*yield*/, async_test('portalSettings - value string > 250 chars rejected', function () { return sdk.api.users.updateOne(testUser.id, { portalSettings: { tooLong: 'a'.repeat(251) } }, { replaceObjectFields: true }); }, handleAnyError)
|
|
160
164
|
// ===== Invalid: key > 250 chars =====
|
|
161
165
|
];
|
|
162
|
-
case
|
|
166
|
+
case 8:
|
|
163
167
|
// ===== Invalid: value string > 250 chars =====
|
|
164
168
|
_b.sent();
|
|
165
169
|
// ===== Invalid: key > 250 chars =====
|
|
@@ -169,14 +173,14 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
169
173
|
}, handleAnyError)
|
|
170
174
|
// ===== Invalid: nested object value (disallowed type) =====
|
|
171
175
|
];
|
|
172
|
-
case
|
|
176
|
+
case 9:
|
|
173
177
|
// ===== Invalid: key > 250 chars =====
|
|
174
178
|
_b.sent();
|
|
175
179
|
// ===== Invalid: nested object value (disallowed type) =====
|
|
176
180
|
return [4 /*yield*/, async_test('portalSettings - nested object value rejected', function () { return sdk.api.users.updateOne(testUser.id, { portalSettings: { k: { nested: 1 } } }, { replaceObjectFields: true }); }, handleAnyError)
|
|
177
181
|
// ===== Invalid: array value (disallowed type) =====
|
|
178
182
|
];
|
|
179
|
-
case
|
|
183
|
+
case 10:
|
|
180
184
|
// ===== Invalid: nested object value (disallowed type) =====
|
|
181
185
|
_b.sent();
|
|
182
186
|
// ===== Invalid: array value (disallowed type) =====
|
|
@@ -185,7 +189,7 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
185
189
|
// stringValidator250's escapeString throws on non-strings, so a number is
|
|
186
190
|
// rejected by both branches => API validation error. =====
|
|
187
191
|
];
|
|
188
|
-
case
|
|
192
|
+
case 11:
|
|
189
193
|
// ===== Invalid: array value (disallowed type) =====
|
|
190
194
|
_b.sent();
|
|
191
195
|
// ===== Number value (secondary): orValidator tries boolean then string;
|
|
@@ -194,7 +198,7 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
194
198
|
return [4 /*yield*/, async_test('portalSettings - number value rejected', function () { return sdk.api.users.updateOne(testUser.id, { portalSettings: { k: 1 } }, { replaceObjectFields: true }); }, handleAnyError)
|
|
195
199
|
// ===== Enduser visibility: portalSettings readable by endusers, un-redacted =====
|
|
196
200
|
];
|
|
197
|
-
case
|
|
201
|
+
case 12:
|
|
198
202
|
// ===== Number value (secondary): orValidator tries boolean then string;
|
|
199
203
|
// stringValidator250's escapeString throws on non-strings, so a number is
|
|
200
204
|
// rejected by both branches => API validation error. =====
|
|
@@ -236,32 +240,104 @@ export var user_portal_settings_tests = function (_a) {
|
|
|
236
240
|
// field is present and un-redacted for endusers
|
|
237
241
|
return (r === null || r === void 0 ? void 0 : r.showNameInSecureMessaging) === true && (r === null || r === void 0 ? void 0 : r.theme) === 'dark';
|
|
238
242
|
},
|
|
239
|
-
})
|
|
240
|
-
|
|
243
|
+
})
|
|
244
|
+
// ===== Organization.onboardingStatus: same key-value shape as portalSettings =====
|
|
245
|
+
];
|
|
246
|
+
case 13:
|
|
241
247
|
// ===== Enduser visibility: portalSettings readable by endusers, un-redacted =====
|
|
242
248
|
_b.sent();
|
|
243
|
-
|
|
244
|
-
return [
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
+
// ===== Organization.onboardingStatus: same key-value shape as portalSettings =====
|
|
250
|
+
return [4 /*yield*/, async_test('onboardingStatus - mixed string and boolean values round-trip', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
251
|
+
var updated;
|
|
252
|
+
return __generator(this, function (_a) {
|
|
253
|
+
switch (_a.label) {
|
|
254
|
+
case 0: return [4 /*yield*/, sdk.api.organizations.updateOne(orgId, { onboardingStatus: { completedIntro: true, currentStep: 'billing', skippedTour: false } }, { replaceObjectFields: true })];
|
|
255
|
+
case 1:
|
|
256
|
+
_a.sent();
|
|
257
|
+
return [4 /*yield*/, sdk.api.organizations.getOne(orgId)];
|
|
258
|
+
case 2:
|
|
259
|
+
updated = _a.sent();
|
|
260
|
+
return [2 /*return*/, updated.onboardingStatus];
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
}); }, {
|
|
264
|
+
onResult: function (r) {
|
|
265
|
+
return (r === null || r === void 0 ? void 0 : r.completedIntro) === true &&
|
|
266
|
+
typeof (r === null || r === void 0 ? void 0 : r.completedIntro) === 'boolean' &&
|
|
267
|
+
(r === null || r === void 0 ? void 0 : r.currentStep) === 'billing' &&
|
|
268
|
+
typeof (r === null || r === void 0 ? void 0 : r.currentStep) === 'string' &&
|
|
269
|
+
(r === null || r === void 0 ? void 0 : r.skippedTour) === false &&
|
|
270
|
+
typeof (r === null || r === void 0 ? void 0 : r.skippedTour) === 'boolean';
|
|
271
|
+
},
|
|
272
|
+
})];
|
|
249
273
|
case 14:
|
|
274
|
+
// ===== Organization.onboardingStatus: same key-value shape as portalSettings =====
|
|
250
275
|
_b.sent();
|
|
251
|
-
|
|
276
|
+
return [4 /*yield*/, async_test('onboardingStatus - empty object accepted', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
277
|
+
var updated;
|
|
278
|
+
return __generator(this, function (_a) {
|
|
279
|
+
switch (_a.label) {
|
|
280
|
+
case 0: return [4 /*yield*/, sdk.api.organizations.updateOne(orgId, { onboardingStatus: {} }, { replaceObjectFields: true })];
|
|
281
|
+
case 1:
|
|
282
|
+
_a.sent();
|
|
283
|
+
return [4 /*yield*/, sdk.api.organizations.getOne(orgId)];
|
|
284
|
+
case 2:
|
|
285
|
+
updated = _a.sent();
|
|
286
|
+
return [2 /*return*/, updated.onboardingStatus];
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}); }, { onResult: function (r) { return !!r && typeof r === 'object' && Object.keys(r).length === 0; } })
|
|
290
|
+
// breaking change: the previous string shape must no longer be accepted
|
|
291
|
+
];
|
|
252
292
|
case 15:
|
|
253
|
-
|
|
254
|
-
|
|
293
|
+
_b.sent();
|
|
294
|
+
// breaking change: the previous string shape must no longer be accepted
|
|
295
|
+
return [4 /*yield*/, async_test('onboardingStatus - plain string (old shape) rejected', function () { return sdk.api.organizations.updateOne(orgId, { onboardingStatus: 'started' }, { replaceObjectFields: true }); }, handleAnyError)
|
|
296
|
+
// representative validator rejection, confirming the indexable validator is
|
|
297
|
+
// enforced on the organizations route (full coverage lives in the
|
|
298
|
+
// portalSettings cases above, which use the same validator)
|
|
299
|
+
];
|
|
255
300
|
case 16:
|
|
301
|
+
// breaking change: the previous string shape must no longer be accepted
|
|
256
302
|
_b.sent();
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
303
|
+
// representative validator rejection, confirming the indexable validator is
|
|
304
|
+
// enforced on the organizations route (full coverage lives in the
|
|
305
|
+
// portalSettings cases above, which use the same validator)
|
|
306
|
+
return [4 /*yield*/, async_test('onboardingStatus - number value rejected', function () { return sdk.api.organizations.updateOne(orgId, { onboardingStatus: { k: 1 } }, { replaceObjectFields: true }); }, handleAnyError)];
|
|
307
|
+
case 17:
|
|
308
|
+
// representative validator rejection, confirming the indexable validator is
|
|
309
|
+
// enforced on the organizations route (full coverage lives in the
|
|
310
|
+
// portalSettings cases above, which use the same validator)
|
|
311
|
+
_b.sent();
|
|
312
|
+
console.log("✅ All User portalSettings tests passed!");
|
|
313
|
+
return [3 /*break*/, 29];
|
|
314
|
+
case 18:
|
|
315
|
+
_b.trys.push([18, , 23, 28]);
|
|
316
|
+
if (!enduserSDK) return [3 /*break*/, 20];
|
|
317
|
+
return [4 /*yield*/, enduserSDK.api.endusers.logout().catch(function () { })];
|
|
260
318
|
case 19:
|
|
319
|
+
_b.sent();
|
|
320
|
+
_b.label = 20;
|
|
321
|
+
case 20:
|
|
322
|
+
if (!testEnduserId) return [3 /*break*/, 22];
|
|
323
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(testEnduserId)];
|
|
324
|
+
case 21:
|
|
325
|
+
_b.sent();
|
|
326
|
+
_b.label = 22;
|
|
327
|
+
case 22: return [3 /*break*/, 28];
|
|
328
|
+
case 23:
|
|
329
|
+
_b.trys.push([23, , 25, 27]);
|
|
330
|
+
return [4 /*yield*/, sdk.api.organizations.updateOne(orgId, { onboardingStatus: originalOnboardingStatus !== null && originalOnboardingStatus !== void 0 ? originalOnboardingStatus : {} }, { replaceObjectFields: true })];
|
|
331
|
+
case 24:
|
|
332
|
+
_b.sent();
|
|
333
|
+
return [3 /*break*/, 27];
|
|
334
|
+
case 25: return [4 /*yield*/, sdk.api.users.deleteOne(testUser.id)];
|
|
335
|
+
case 26:
|
|
261
336
|
_b.sent();
|
|
262
337
|
return [7 /*endfinally*/];
|
|
263
|
-
case
|
|
264
|
-
case
|
|
338
|
+
case 27: return [7 /*endfinally*/];
|
|
339
|
+
case 28: return [7 /*endfinally*/];
|
|
340
|
+
case 29: return [2 /*return*/];
|
|
265
341
|
}
|
|
266
342
|
});
|
|
267
343
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user_portal_settings.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/user_portal_settings.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAEL,UAAU,EACV,cAAc,EACd,UAAU,GACX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,IAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,uBAAgC,CAAA;AACpE,IAAM,UAAU,GAAG,0BAA0B,CAAA;AAE7C,sDAAsD;AACtD,MAAM,CAAC,IAAM,0BAA0B,GAAG,UAAO,EAA4D;QAA1D,GAAG,SAAA,EAAE,WAAW,iBAAA;;;;;;oBACjE,UAAU,CAAC,2BAA2B,CAAC,CAAA;oBAGtB,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;4BAC7C,KAAK,EAAE,+BAAwB,IAAI,CAAC,GAAG,EAAE,yBAAsB;yBAChE,CAAC;wBAEF,yEAAyE;sBAFvE;;oBAFI,QAAQ,GAAG,SAEf;;;;
|
|
1
|
+
{"version":3,"file":"user_portal_settings.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/user_portal_settings.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAmzEA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAk8ED,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAotBD,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAmD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBAylBhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAw7CD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAGD,eAAO,MAAM,mBAAmB,qBAmC/B,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA2C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBAwb1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4wBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBA4U3C,CAAA;AAED,eAAO,MAAM,gDAAgD,qBAwC5D,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}
|