@tellescope/sdk 1.256.7 → 1.256.8

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.
Files changed (32) hide show
  1. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -0
  2. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -0
  3. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js +293 -0
  4. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -0
  5. package/lib/cjs/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
  6. package/lib/cjs/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.js +132 -47
  7. package/lib/cjs/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.js.map +1 -1
  8. package/lib/cjs/tests/tests.d.ts.map +1 -1
  9. package/lib/cjs/tests/tests.js +26 -22
  10. package/lib/cjs/tests/tests.js.map +1 -1
  11. package/lib/esm/enduser.d.ts +1 -0
  12. package/lib/esm/enduser.d.ts.map +1 -1
  13. package/lib/esm/sdk.d.ts +3 -2
  14. package/lib/esm/sdk.d.ts.map +1 -1
  15. package/lib/esm/session.d.ts +1 -0
  16. package/lib/esm/session.d.ts.map +1 -1
  17. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -0
  18. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -0
  19. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js +289 -0
  20. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -0
  21. package/lib/esm/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
  22. package/lib/esm/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.js +132 -47
  23. package/lib/esm/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.js.map +1 -1
  24. package/lib/esm/tests/tests.d.ts.map +1 -1
  25. package/lib/esm/tests/tests.js +26 -22
  26. package/lib/esm/tests/tests.js.map +1 -1
  27. package/lib/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +3 -3
  29. package/src/tests/api_tests/group_event_attendee_self_update.test.ts +161 -0
  30. package/src/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.ts +66 -6
  31. package/src/tests/tests.ts +2 -0
  32. package/test_generated.pdf +0 -0
@@ -0,0 +1,289 @@
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
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
46
+ require('source-map-support').install();
47
+ import { Session, EnduserSession } from "../../sdk";
48
+ import { async_test, handleAnyError, passOnAnyResult, log_header } from "@tellescope/testing";
49
+ import { setup_tests } from "../setup";
50
+ var host = process.env.API_URL || 'http://localhost:8080';
51
+ // An enduser attendee can PATCH a calendar_event (needed to self-cancel out of a group event), and
52
+ // attendeeStatuses / cancelledGroupAttendees are attendee-keyed arrays that drive per-attendee
53
+ // automation triggers (handle_attendee_status_change_triggers + event-wide completion). The
54
+ // calendar_events relationship constraint must let an enduser touch ONLY their own id's entry, so a
55
+ // patient cannot fire or suppress a co-attendee's Appointment triggers by patching the shared event.
56
+ export var group_event_attendee_self_update_tests = function (_a) {
57
+ var sdk = _a.sdk;
58
+ return __awaiter(void 0, void 0, void 0, function () {
59
+ var createdEnduserIds, createdEventIds, createEnduser, enduserSession, createGroupEvent, attacker_1, victim_1, attackerSDK_1, e1_1, e2_1, e3_1, e4_1, e5_1, e6_1, e7_1, e7ForAttacker_1, e8_1, _i, createdEventIds_1, id, _1, _b, createdEnduserIds_1, id, _2;
60
+ return __generator(this, function (_c) {
61
+ switch (_c.label) {
62
+ case 0:
63
+ log_header("Group Event Attendee Self-Update Constraint");
64
+ createdEnduserIds = [];
65
+ createdEventIds = [];
66
+ createEnduser = function (label) { return __awaiter(void 0, void 0, void 0, function () {
67
+ var e;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0: return [4 /*yield*/, sdk.api.endusers.createOne({ email: "attendee_self_update_".concat(label, "_").concat(Date.now(), "@test.tellescope.com") })];
71
+ case 1:
72
+ e = _a.sent();
73
+ createdEnduserIds.push(e.id);
74
+ return [2 /*return*/, e];
75
+ }
76
+ });
77
+ }); };
78
+ enduserSession = function (id) { return __awaiter(void 0, void 0, void 0, function () {
79
+ var _a, authToken, enduser;
80
+ return __generator(this, function (_b) {
81
+ switch (_b.label) {
82
+ case 0: return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: id })];
83
+ case 1:
84
+ _a = _b.sent(), authToken = _a.authToken, enduser = _a.enduser;
85
+ return [2 /*return*/, new EnduserSession({ host: host, authToken: authToken, enduser: enduser, businessId: sdk.userInfo.businessId })];
86
+ }
87
+ });
88
+ }); };
89
+ createGroupEvent = function (attendeeIds) { return __awaiter(void 0, void 0, void 0, function () {
90
+ var event;
91
+ return __generator(this, function (_a) {
92
+ switch (_a.label) {
93
+ case 0: return [4 /*yield*/, sdk.api.calendar_events.createOne({
94
+ title: 'Attendee Self-Update Test',
95
+ durationInMinutes: 30,
96
+ startTimeInMS: Date.now() + Math.floor(Math.random() * 100000),
97
+ attendees: attendeeIds.map(function (id) { return ({ type: 'enduser', id: id }); }),
98
+ })];
99
+ case 1:
100
+ event = _a.sent();
101
+ createdEventIds.push(event.id);
102
+ return [2 /*return*/, event];
103
+ }
104
+ });
105
+ }); };
106
+ _c.label = 1;
107
+ case 1:
108
+ _c.trys.push([1, , 25, 38]);
109
+ return [4 /*yield*/, createEnduser('self')];
110
+ case 2:
111
+ attacker_1 = _c.sent();
112
+ return [4 /*yield*/, createEnduser('other')];
113
+ case 3:
114
+ victim_1 = _c.sent();
115
+ return [4 /*yield*/, enduserSession(attacker_1.id)
116
+ // ---- ALLOWED: self-cancel out of a fresh group event (the portal self-cancel path) ----
117
+ ];
118
+ case 4:
119
+ attackerSDK_1 = _c.sent();
120
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
121
+ case 5:
122
+ e1_1 = _c.sent();
123
+ return [4 /*yield*/, async_test("enduser may add their OWN cancelledGroupAttendees entry (self-cancel)", function () { return attackerSDK_1.api.calendar_events.updateOne(e1_1.id, {
124
+ cancelledGroupAttendees: [{ id: attacker_1.id, at: new Date() }],
125
+ }, { replaceObjectFields: true }); }, passOnAnyResult)
126
+ // ---- ALLOWED: set own attendeeStatuses entry ----
127
+ ];
128
+ case 6:
129
+ _c.sent();
130
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
131
+ case 7:
132
+ e2_1 = _c.sent();
133
+ return [4 /*yield*/, async_test("enduser may set their OWN attendeeStatuses entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e2_1.id, {
134
+ attendeeStatuses: [{ id: attacker_1.id, at: new Date(), status: 'Cancelled' }],
135
+ }, { replaceObjectFields: true }); }, passOnAnyResult)
136
+ // ---- REJECTED: set a co-attendee's attendeeStatuses (would fire that patient's triggers) ----
137
+ ];
138
+ case 8:
139
+ _c.sent();
140
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
141
+ case 9:
142
+ e3_1 = _c.sent();
143
+ return [4 /*yield*/, async_test("enduser may NOT set a co-attendee's attendeeStatuses entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e3_1.id, {
144
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'No-showed' }],
145
+ }, { replaceObjectFields: true }); }, handleAnyError)
146
+ // ---- REJECTED: set a co-attendee's cancelledGroupAttendees entry ----
147
+ ];
148
+ case 10:
149
+ _c.sent();
150
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
151
+ case 11:
152
+ e4_1 = _c.sent();
153
+ return [4 /*yield*/, async_test("enduser may NOT set a co-attendee's cancelledGroupAttendees entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e4_1.id, {
154
+ cancelledGroupAttendees: [{ id: victim_1.id, at: new Date() }],
155
+ }, { replaceObjectFields: true }); }, handleAnyError)
156
+ // ---- REJECTED: drop a co-attendee's existing entry (would suppress their completion trigger) ----
157
+ ];
158
+ case 12:
159
+ _c.sent();
160
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
161
+ case 13:
162
+ e5_1 = _c.sent();
163
+ return [4 /*yield*/, sdk.api.calendar_events.updateOne(e5_1.id, {
164
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'Completed' }],
165
+ }, { replaceObjectFields: true })];
166
+ case 14:
167
+ _c.sent();
168
+ return [4 /*yield*/, async_test("enduser may NOT remove a co-attendee's existing attendeeStatuses entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e5_1.id, {
169
+ attendeeStatuses: [{ id: attacker_1.id, at: new Date(), status: 'Cancelled' }], // silently drops victim's entry
170
+ }, { replaceObjectFields: true }); }, handleAnyError)
171
+ // ---- REJECTED: modify a co-attendee's existing entry ----
172
+ ];
173
+ case 15:
174
+ _c.sent();
175
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
176
+ case 16:
177
+ e6_1 = _c.sent();
178
+ return [4 /*yield*/, sdk.api.calendar_events.updateOne(e6_1.id, {
179
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'Completed' }],
180
+ }, { replaceObjectFields: true })];
181
+ case 17:
182
+ _c.sent();
183
+ return [4 /*yield*/, async_test("enduser may NOT modify a co-attendee's existing attendeeStatuses entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e6_1.id, {
184
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'No-showed' }],
185
+ }, { replaceObjectFields: true }); }, handleAnyError)
186
+ // ---- ALLOWED: self-cancel while PRESERVING a co-attendee's existing entry (realistic group self-cancel) ----
187
+ ];
188
+ case 18:
189
+ _c.sent();
190
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
191
+ case 19:
192
+ e7_1 = _c.sent();
193
+ return [4 /*yield*/, sdk.api.calendar_events.updateOne(e7_1.id, {
194
+ cancelledGroupAttendees: [{ id: victim_1.id, at: new Date() }],
195
+ }, { replaceObjectFields: true })];
196
+ case 20:
197
+ _c.sent();
198
+ return [4 /*yield*/, attackerSDK_1.api.calendar_events.getOne(e7_1.id)];
199
+ case 21:
200
+ e7ForAttacker_1 = _c.sent();
201
+ return [4 /*yield*/, async_test("enduser may self-cancel while preserving a co-attendee's existing entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e7_1.id, {
202
+ cancelledGroupAttendees: __spreadArray(__spreadArray([], (e7ForAttacker_1.cancelledGroupAttendees || []), true), [{ id: attacker_1.id, at: new Date() }], false),
203
+ }, { replaceObjectFields: true }); }, passOnAnyResult)
204
+ // ---- ALLOWED (baseline): staff may set any attendee's status (constraint is enduser-only) ----
205
+ ];
206
+ case 22:
207
+ _c.sent();
208
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
209
+ case 23:
210
+ e8_1 = _c.sent();
211
+ return [4 /*yield*/, async_test("staff may set any attendee's status", function () { return sdk.api.calendar_events.updateOne(e8_1.id, {
212
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'No-showed' }],
213
+ }, { replaceObjectFields: true }); }, passOnAnyResult)];
214
+ case 24:
215
+ _c.sent();
216
+ return [3 /*break*/, 38];
217
+ case 25:
218
+ _i = 0, createdEventIds_1 = createdEventIds;
219
+ _c.label = 26;
220
+ case 26:
221
+ if (!(_i < createdEventIds_1.length)) return [3 /*break*/, 31];
222
+ id = createdEventIds_1[_i];
223
+ _c.label = 27;
224
+ case 27:
225
+ _c.trys.push([27, 29, , 30]);
226
+ return [4 /*yield*/, sdk.api.calendar_events.deleteOne(id)];
227
+ case 28:
228
+ _c.sent();
229
+ return [3 /*break*/, 30];
230
+ case 29:
231
+ _1 = _c.sent();
232
+ return [3 /*break*/, 30];
233
+ case 30:
234
+ _i++;
235
+ return [3 /*break*/, 26];
236
+ case 31:
237
+ _b = 0, createdEnduserIds_1 = createdEnduserIds;
238
+ _c.label = 32;
239
+ case 32:
240
+ if (!(_b < createdEnduserIds_1.length)) return [3 /*break*/, 37];
241
+ id = createdEnduserIds_1[_b];
242
+ _c.label = 33;
243
+ case 33:
244
+ _c.trys.push([33, 35, , 36]);
245
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(id)];
246
+ case 34:
247
+ _c.sent();
248
+ return [3 /*break*/, 36];
249
+ case 35:
250
+ _2 = _c.sent();
251
+ return [3 /*break*/, 36];
252
+ case 36:
253
+ _b++;
254
+ return [3 /*break*/, 32];
255
+ case 37: return [7 /*endfinally*/];
256
+ case 38: return [2 /*return*/];
257
+ }
258
+ });
259
+ });
260
+ };
261
+ // Allow running this test file independently
262
+ if (require.main === module) {
263
+ console.log("\uD83C\uDF10 Using API URL: ".concat(host));
264
+ var sdk_1 = new Session({ host: host });
265
+ var sdkNonAdmin_1 = new Session({ host: host });
266
+ var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
267
+ return __generator(this, function (_a) {
268
+ switch (_a.label) {
269
+ case 0: return [4 /*yield*/, setup_tests(sdk_1, sdkNonAdmin_1)];
270
+ case 1:
271
+ _a.sent();
272
+ return [4 /*yield*/, group_event_attendee_self_update_tests({ sdk: sdk_1, sdkNonAdmin: sdkNonAdmin_1 })];
273
+ case 2:
274
+ _a.sent();
275
+ return [2 /*return*/];
276
+ }
277
+ });
278
+ }); };
279
+ runTests()
280
+ .then(function () {
281
+ console.log("✅ Group event attendee self-update constraint tests completed successfully");
282
+ process.exit(0);
283
+ })
284
+ .catch(function (error) {
285
+ console.error("❌ Group event attendee self-update constraint tests failed:", error);
286
+ process.exit(1);
287
+ });
288
+ }
289
+ //# sourceMappingURL=group_event_attendee_self_update.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group_event_attendee_self_update.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/group_event_attendee_self_update.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"F-0006-develop-health-benefit-verification-rbac.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAYtC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,8CAA8C;SAAwC,OAAO;iBAAe,OAAO;mBAiF/H,CAAA"}
1
+ {"version":3,"file":"F-0006-develop-health-benefit-verification-rbac.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAYtC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,8CAA8C;SAAwC,OAAO;iBAAe,OAAO;mBA6I/H,CAAA"}
@@ -81,22 +81,22 @@ var _a = [process.env.NON_ADMIN_EMAIL, process.env.NON_ADMIN_PASSWORD], nonAdmin
81
81
  export var develop_health_benefit_verification_rbac_tests = function (_a) {
82
82
  var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
83
83
  return __awaiter(void 0, void 0, void 0, function () {
84
- var roleName, rbapId, originalRoles, rbap, _b, _c, _d;
85
- return __generator(this, function (_e) {
86
- switch (_e.label) {
84
+ var roleName, rbapId, originalRoles, rbap, providerRoleName, providerRbapId, providerRbap, _b, _c, _d, _e, _f, _g;
85
+ return __generator(this, function (_h) {
86
+ switch (_h.label) {
87
87
  case 0:
88
88
  log_header("F-0006: develop_health benefit verification RBAC regression");
89
89
  roleName = "f0006-develop-health-no-access-".concat(Date.now());
90
90
  originalRoles = sdkNonAdmin.userInfo.roles;
91
- _e.label = 1;
91
+ _h.label = 1;
92
92
  case 1:
93
- _e.trys.push([1, , 7, 20]);
93
+ _h.trys.push([1, , 27, 40]);
94
94
  return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
95
95
  role: roleName,
96
96
  permissions: __assign(__assign({}, PROVIDER_PERMISSIONS), { endusers: { create: null, read: null, update: null, delete: null }, enduser_eligibility_results: { create: null, read: null, update: null, delete: null } }),
97
97
  })];
98
98
  case 2:
99
- rbap = _e.sent();
99
+ rbap = _h.sent();
100
100
  rbapId = rbap.id;
101
101
  // 2. Assign the role to the non-admin user and re-authenticate so the new
102
102
  // session reflects the role's denied permissions.
@@ -104,17 +104,17 @@ export var develop_health_benefit_verification_rbac_tests = function (_a) {
104
104
  case 3:
105
105
  // 2. Assign the role to the non-admin user and re-authenticate so the new
106
106
  // session reflects the role's denied permissions.
107
- _e.sent();
107
+ _h.sent();
108
108
  return [4 /*yield*/, wait(undefined, 1500)];
109
109
  case 4:
110
- _e.sent();
110
+ _h.sent();
111
111
  return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)
112
112
  // 3. develop_health_run_benefit_verification must throw 403 BEFORE any enduser lookup.
113
113
  // Pre-fix: proceeds to DB.endusers.findById and either 400s on validation (fake id) or
114
114
  // succeeds and forwards PHI to Develop Health (real id) — never a 403.
115
115
  ];
116
116
  case 5:
117
- _e.sent();
117
+ _h.sent();
118
118
  // 3. develop_health_run_benefit_verification must throw 403 BEFORE any enduser lookup.
119
119
  // Pre-fix: proceeds to DB.endusers.findById and either 400s on validation (fake id) or
120
120
  // succeeds and forwards PHI to Develop Health (real id) — never a 403.
@@ -130,67 +130,152 @@ export var develop_health_benefit_verification_rbac_tests = function (_a) {
130
130
  }); }, {
131
131
  shouldError: true,
132
132
  onError: function (e) {
133
- var _a, _b;
134
- // Accept any 4xx access-denial response handler uses 403 (recommended).
135
- // Explicitly reject the pre-fix "Integration not found" / "Enduser is required" /
136
- // similar validation messages, which would indicate the access check never fired.
133
+ var _a;
134
+ // Match the gate's exact message. The SDK error surfaces { message, info } (no top-level
135
+ // status/code), so we key on the message rather than the HTTP status. This is deliberately
136
+ // specific: a lapsed subscription ("Your subscription has expired") or an expired token
137
+ // ("Unauthenticated") also errors BEFORE the handler runs, but neither contains this string,
138
+ // so the test can't false-pass without the gate executing. Also reject the pre-fix
139
+ // downstream messages, which would indicate the access check never fired.
137
140
  var msg = ((_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : '').toLowerCase();
138
- var status = (_b = e === null || e === void 0 ? void 0 : e.status) !== null && _b !== void 0 ? _b : e === null || e === void 0 ? void 0 : e.code;
139
141
  if (msg.includes('integration not found') || msg.includes('enduser is required')
140
142
  || msg.includes('organization') || msg.includes('provider')) {
141
143
  return false; // reached past the access gate — regression
142
144
  }
143
- return status === 403 || status === 401
144
- || msg.includes('access') || msg.includes('permission') || msg.includes('forbidden');
145
+ return msg.includes('access to this resource');
145
146
  },
146
- })];
147
+ })
148
+ // 4. POSITIVE case: a provider role WITH enduser access must PASS the gate and reach the
149
+ // integration stage (this test org has no Develop Health integration, so it 400s with
150
+ // "Integration not found"). This guards against the gate over-blocking legitimate users —
151
+ // the failure mode a future tightening (e.g. gating on 'All') would introduce.
152
+ ];
147
153
  case 6:
148
154
  // 3. develop_health_run_benefit_verification must throw 403 BEFORE any enduser lookup.
149
155
  // Pre-fix: proceeds to DB.endusers.findById and either 400s on validation (fake id) or
150
156
  // succeeds and forwards PHI to Develop Health (real id) — never a 403.
151
- _e.sent();
152
- return [3 /*break*/, 20];
157
+ _h.sent();
158
+ providerRoleName = "f0006-develop-health-provider-".concat(Date.now());
159
+ providerRbapId = void 0;
160
+ _h.label = 7;
153
161
  case 7:
154
- _e.trys.push([7, 9, , 10]);
155
- return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: originalRoles !== null && originalRoles !== void 0 ? originalRoles : [] }, { replaceObjectFields: true })];
162
+ _h.trys.push([7, , 13, 26]);
163
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
164
+ role: providerRoleName,
165
+ permissions: __assign({}, PROVIDER_PERMISSIONS), // endusers read/create non-null, eligibility create non-null
166
+ })];
156
167
  case 8:
157
- _e.sent();
158
- return [3 /*break*/, 10];
168
+ providerRbap = _h.sent();
169
+ providerRbapId = providerRbap.id;
170
+ return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: [providerRoleName] }, { replaceObjectFields: true })];
159
171
  case 9:
160
- _b = _e.sent();
161
- return [3 /*break*/, 10];
172
+ _h.sent();
173
+ return [4 /*yield*/, wait(undefined, 1500)];
162
174
  case 10:
163
- if (!rbapId) return [3 /*break*/, 14];
164
- _e.label = 11;
175
+ _h.sent();
176
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
165
177
  case 11:
166
- _e.trys.push([11, 13, , 14]);
167
- return [4 /*yield*/, sdk.api.role_based_access_permissions.deleteOne(rbapId)];
178
+ _h.sent();
179
+ return [4 /*yield*/, async_test("F-0006: a provider role with enduser access passes the gate (reaches 'Integration not found', not 403)", function () { return sdkNonAdmin.api.enduser_eligibility_results.develop_health_run_benefit_verification({
180
+ enduserId: new ObjectId().toHexString(),
181
+ providerUserId: new ObjectId().toHexString(),
182
+ insuranceType: 'primary',
183
+ diagnoses: [],
184
+ drugs: [{ name: 'Test Drug', dosage: '10mg', quantity: 1 }],
185
+ drug_history: { currently_taking_drugs: [], previously_taken_drugs: [] },
186
+ }); }, {
187
+ shouldError: true,
188
+ onError: function (e) {
189
+ var _a;
190
+ var msg = ((_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : '').toLowerCase();
191
+ // Must NOT be the access-denial message (that would mean the gate wrongly blocked a
192
+ // provider). Reaching "Integration not found" (or org/provider validation) proves the
193
+ // gate passed and the read-scoped enduser load did not over-restrict a legitimate role.
194
+ if (msg.includes('access to this resource'))
195
+ return false;
196
+ return msg.includes('integration not found') || msg.includes('organization') || msg.includes('provider');
197
+ },
198
+ })];
168
199
  case 12:
169
- _e.sent();
170
- return [3 /*break*/, 14];
200
+ _h.sent();
201
+ return [3 /*break*/, 26];
171
202
  case 13:
172
- _c = _e.sent();
173
- return [3 /*break*/, 14];
174
- case 14:
203
+ if (!providerRbapId) return [3 /*break*/, 25];
204
+ _h.label = 14;
205
+ case 14:
206
+ _h.trys.push([14, 16, , 17]);
207
+ return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: originalRoles !== null && originalRoles !== void 0 ? originalRoles : [] }, { replaceObjectFields: true })];
208
+ case 15:
209
+ _h.sent();
210
+ return [3 /*break*/, 17];
211
+ case 16:
212
+ _b = _h.sent();
213
+ return [3 /*break*/, 17];
214
+ case 17:
215
+ _h.trys.push([17, 19, , 20]);
216
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.deleteOne(providerRbapId)];
217
+ case 18:
218
+ _h.sent();
219
+ return [3 /*break*/, 20];
220
+ case 19:
221
+ _c = _h.sent();
222
+ return [3 /*break*/, 20];
223
+ case 20: return [4 /*yield*/, wait(undefined, 1500)];
224
+ case 21:
225
+ _h.sent();
226
+ _h.label = 22;
227
+ case 22:
228
+ _h.trys.push([22, 24, , 25]);
229
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
230
+ case 23:
231
+ _h.sent();
232
+ return [3 /*break*/, 25];
233
+ case 24:
234
+ _d = _h.sent();
235
+ return [3 /*break*/, 25];
236
+ case 25: return [7 /*endfinally*/];
237
+ case 26: return [3 /*break*/, 40];
238
+ case 27:
239
+ _h.trys.push([27, 29, , 30]);
240
+ return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: originalRoles !== null && originalRoles !== void 0 ? originalRoles : [] }, { replaceObjectFields: true })];
241
+ case 28:
242
+ _h.sent();
243
+ return [3 /*break*/, 30];
244
+ case 29:
245
+ _e = _h.sent();
246
+ return [3 /*break*/, 30];
247
+ case 30:
248
+ if (!rbapId) return [3 /*break*/, 34];
249
+ _h.label = 31;
250
+ case 31:
251
+ _h.trys.push([31, 33, , 34]);
252
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.deleteOne(rbapId)];
253
+ case 32:
254
+ _h.sent();
255
+ return [3 /*break*/, 34];
256
+ case 33:
257
+ _f = _h.sent();
258
+ return [3 /*break*/, 34];
259
+ case 34:
175
260
  // Re-authenticate the non-admin to drop the no-access role from their JWT
176
261
  // before subsequent tests run.
177
262
  return [4 /*yield*/, wait(undefined, 1500)];
178
- case 15:
263
+ case 35:
179
264
  // Re-authenticate the non-admin to drop the no-access role from their JWT
180
265
  // before subsequent tests run.
181
- _e.sent();
182
- _e.label = 16;
183
- case 16:
184
- _e.trys.push([16, 18, , 19]);
266
+ _h.sent();
267
+ _h.label = 36;
268
+ case 36:
269
+ _h.trys.push([36, 38, , 39]);
185
270
  return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
186
- case 17:
187
- _e.sent();
188
- return [3 /*break*/, 19];
189
- case 18:
190
- _d = _e.sent();
191
- return [3 /*break*/, 19];
192
- case 19: return [7 /*endfinally*/];
193
- case 20: return [2 /*return*/];
271
+ case 37:
272
+ _h.sent();
273
+ return [3 /*break*/, 39];
274
+ case 38:
275
+ _g = _h.sent();
276
+ return [3 /*break*/, 39];
277
+ case 39: return [7 /*endfinally*/];
278
+ case 40: return [2 /*return*/];
194
279
  }
195
280
  });
196
281
  });
@@ -1 +1 @@
1
- {"version":3,"file":"F-0006-develop-health-benefit-verification-rbac.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"F-0006-develop-health-benefit-verification-rbac.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.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":"AAs2EA,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;AAw1FD,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,qBAiqBhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAqlDD,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,mCA8C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBA+b1B,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"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAu2EA,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;AAy1FD,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,qBAiqBhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAqlDD,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,mCA8C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBA+b1B,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"}