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