@tellescope/sdk 1.256.3 → 1.256.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"beluga_trigger_refill.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/beluga_trigger_refill.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiBnC,eAAO,MAAM,2BAA2B;SAAuC,OAAO;iBAAe,OAAO;mBA+G3G,CAAA"}
1
+ {"version":3,"file":"beluga_trigger_refill.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/beluga_trigger_refill.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAkBnC,eAAO,MAAM,2BAA2B;SAAuC,OAAO;iBAAe,OAAO;mBA+L3G,CAAA"}
@@ -40,6 +40,7 @@ exports.beluga_trigger_refill_tests = void 0;
40
40
  require('source-map-support').install();
41
41
  var sdk_1 = require("../../sdk");
42
42
  var testing_1 = require("@tellescope/testing");
43
+ var constants_1 = require("@tellescope/constants");
43
44
  var setup_1 = require("../setup");
44
45
  var host = process.env.API_URL || 'http://localhost:8080';
45
46
  // Beluga Trigger Refill journey action tests (CU-86e2gbv7y).
@@ -52,22 +53,22 @@ var host = process.env.API_URL || 'http://localhost:8080';
52
53
  var beluga_trigger_refill_tests = function (_a) {
53
54
  var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
54
55
  return __awaiter(void 0, void 0, void 0, function () {
55
- var journeyId, formId, stepIds, journey_1, form_1, _i, stepIds_1, id;
56
- return __generator(this, function (_b) {
57
- switch (_b.label) {
56
+ var journeyId, formId, stepIds, enduserAId, enduserBId, otherPatientFormResponseId, automatedActionId, createdBelugaIntegrationId, journey_1, form_1, enduserA, enduserB, otherResponse, belugaIntegrationAvailable, existing, _b, created, e_1, automatedAction_1, _i, stepIds_1, id;
57
+ return __generator(this, function (_c) {
58
+ switch (_c.label) {
58
59
  case 0:
59
60
  (0, testing_1.log_header)("Beluga Trigger Refill Journey Action Tests");
60
61
  stepIds = [];
61
- _b.label = 1;
62
+ _c.label = 1;
62
63
  case 1:
63
- _b.trys.push([1, , 9, 18]);
64
+ _c.trys.push([1, , 24, 43]);
64
65
  return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'Beluga Trigger Refill Test Journey' })];
65
66
  case 2:
66
- journey_1 = _b.sent();
67
+ journey_1 = _c.sent();
67
68
  journeyId = journey_1.id;
68
69
  return [4 /*yield*/, sdk.api.forms.createOne({ title: 'Beluga Trigger Refill Test Form' })];
69
70
  case 3:
70
- form_1 = _b.sent();
71
+ form_1 = _c.sent();
71
72
  formId = form_1.id;
72
73
  // Inline med IDs variant
73
74
  return [4 /*yield*/, (0, testing_1.async_test)("belugaTriggerRefill step accepted (inline medIds)", function () { return sdk.api.automation_steps.createOne({
@@ -86,7 +87,7 @@ var beluga_trigger_refill_tests = function (_a) {
86
87
  ];
87
88
  case 4:
88
89
  // Inline med IDs variant
89
- _b.sent();
90
+ _c.sent();
90
91
  // Organization mapping variant
91
92
  return [4 /*yield*/, (0, testing_1.async_test)("belugaTriggerRefill step accepted (organization mapping)", function () { return sdk.api.automation_steps.createOne({
92
93
  journeyId: journey_1.id,
@@ -103,7 +104,7 @@ var beluga_trigger_refill_tests = function (_a) {
103
104
  ];
104
105
  case 5:
105
106
  // Organization mapping variant
106
- _b.sent();
107
+ _c.sent();
107
108
  // Invalid formId (not a mongo id) rejected
108
109
  return [4 /*yield*/, (0, testing_1.async_test)("belugaTriggerRefill step rejected (invalid formId)", function () { return sdk.api.automation_steps.createOne({
109
110
  journeyId: journey_1.id,
@@ -120,7 +121,7 @@ var beluga_trigger_refill_tests = function (_a) {
120
121
  ];
121
122
  case 6:
122
123
  // Invalid formId (not a mongo id) rejected
123
- _b.sent();
124
+ _c.sent();
124
125
  // Missing formId rejected
125
126
  return [4 /*yield*/, (0, testing_1.async_test)("belugaTriggerRefill step rejected (missing formId)", function () { return sdk.api.automation_steps.createOne({
126
127
  journeyId: journey_1.id,
@@ -137,7 +138,7 @@ var beluga_trigger_refill_tests = function (_a) {
137
138
  ];
138
139
  case 7:
139
140
  // Missing formId rejected
140
- _b.sent();
141
+ _c.sent();
141
142
  // Unexpected fields in a patient preference are stripped by objectValidator, not rejected —
142
143
  // assert they never reach the stored config (the step itself is accepted)
143
144
  return [4 /*yield*/, (0, testing_1.async_test)("belugaTriggerRefill step strips unexpected patientPreferences field", function () { return sdk.api.automation_steps.createOne({
@@ -156,39 +157,150 @@ var beluga_trigger_refill_tests = function (_a) {
156
157
  var preference = (_a = s.action.info.patientPreferences) === null || _a === void 0 ? void 0 : _a[0];
157
158
  return (preference === null || preference === void 0 ? void 0 : preference.medId) === 'med-123' && (preference === null || preference === void 0 ? void 0 : preference.pharmacyId) === undefined;
158
159
  },
159
- })];
160
+ })
161
+ // ── Cross-patient guard (pre-deploy review H3) ──────────────────────────────
162
+ // The process endpoint reads journeyContext.formResponseId; without an ownership check a
163
+ // switchToRelatedContact step could point it at a DIFFERENT patient's form response and issue a
164
+ // refill against their visit. This exercises the guard end-to-end: it returns BEFORE any live
165
+ // Beluga call (no sandbox creds needed), but integration resolution precedes it in the handler,
166
+ // so a Beluga integration must exist — the test self-skips when one can't be created.
167
+ ];
160
168
  case 8:
161
169
  // Unexpected fields in a patient preference are stripped by objectValidator, not rejected —
162
170
  // assert they never reach the stored config (the step itself is accepted)
163
- _b.sent();
164
- return [3 /*break*/, 18];
171
+ _c.sent();
172
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Beluga', lname: 'PatientA' })];
165
173
  case 9:
166
- _i = 0, stepIds_1 = stepIds;
167
- _b.label = 10;
174
+ enduserA = _c.sent();
175
+ enduserAId = enduserA.id;
176
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Beluga', lname: 'PatientB' })];
168
177
  case 10:
169
- if (!(_i < stepIds_1.length)) return [3 /*break*/, 13];
170
- id = stepIds_1[_i];
171
- return [4 /*yield*/, sdk.api.automation_steps.deleteOne(id).catch(console.error)];
178
+ enduserB = _c.sent();
179
+ enduserBId = enduserB.id;
180
+ return [4 /*yield*/, sdk.api.form_responses.createOne({
181
+ formId: form_1.id,
182
+ formTitle: form_1.title,
183
+ enduserId: enduserA.id,
184
+ })];
172
185
  case 11:
173
- _b.sent();
174
- _b.label = 12;
186
+ otherResponse = _c.sent();
187
+ otherPatientFormResponseId = otherResponse.id;
188
+ belugaIntegrationAvailable = false;
189
+ _c.label = 12;
175
190
  case 12:
176
- _i++;
177
- return [3 /*break*/, 10];
191
+ _c.trys.push([12, 14, , 15]);
192
+ return [4 /*yield*/, sdk.api.integrations.load_redacted({})];
178
193
  case 13:
179
- if (!formId) return [3 /*break*/, 15];
180
- return [4 /*yield*/, sdk.api.forms.deleteOne(formId).catch(console.error)];
194
+ existing = _c.sent();
195
+ belugaIntegrationAvailable = !!existing.integrations.find(function (i) { return i.title === constants_1.BELUGA_TITLE; });
196
+ return [3 /*break*/, 15];
181
197
  case 14:
182
- _b.sent();
183
- _b.label = 15;
198
+ _b = _c.sent();
199
+ return [3 /*break*/, 15];
184
200
  case 15:
185
- if (!journeyId) return [3 /*break*/, 17];
186
- return [4 /*yield*/, sdk.api.journeys.deleteOne(journeyId).catch(console.error)];
201
+ if (!!belugaIntegrationAvailable) return [3 /*break*/, 19];
202
+ _c.label = 16;
187
203
  case 16:
188
- _b.sent();
189
- _b.label = 17;
190
- case 17: return [7 /*endfinally*/];
191
- case 18: return [2 /*return*/];
204
+ _c.trys.push([16, 18, , 19]);
205
+ return [4 /*yield*/, sdk.api.integrations.createOne({
206
+ title: constants_1.BELUGA_TITLE,
207
+ authentication: {
208
+ type: 'oauth2',
209
+ info: { access_token: 'test-access-token', refresh_token: 'test-refresh-token', scope: '', token_type: 'Bearer', expiry_date: new Date().getTime() },
210
+ },
211
+ })];
212
+ case 17:
213
+ created = _c.sent();
214
+ createdBelugaIntegrationId = created.id;
215
+ belugaIntegrationAvailable = true;
216
+ return [3 /*break*/, 19];
217
+ case 18:
218
+ e_1 = _c.sent();
219
+ console.log("Could not create a Beluga integration; skipping cross-patient guard test:", e_1);
220
+ return [3 /*break*/, 19];
221
+ case 19:
222
+ if (!belugaIntegrationAvailable) return [3 /*break*/, 22];
223
+ return [4 /*yield*/, sdk.api.automated_actions.createOne({
224
+ journeyId: journey_1.id,
225
+ automationStepId: stepIds[0],
226
+ enduserId: enduserB.id,
227
+ event: { type: 'onJourneyStart', info: {} },
228
+ action: {
229
+ type: 'belugaTriggerRefill',
230
+ info: { formId: form_1.id, patientPreferences: [{ medId: 'med-123' }] },
231
+ },
232
+ status: 'active',
233
+ processAfter: new Date().getTime() + 60 * 60 * 1000,
234
+ journeyContext: { formResponseId: otherResponse.id },
235
+ })];
236
+ case 20:
237
+ automatedAction_1 = _c.sent();
238
+ automatedActionId = automatedAction_1.id;
239
+ return [4 /*yield*/, (0, testing_1.async_test)("belugaTriggerRefill rejects a form response owned by a different patient", function () { return sdk.api.automated_actions.process({ automatedActionId: automatedAction_1.id }); }, { onResult: function (r) { return (r === null || r === void 0 ? void 0 : r.success) === false && /does not belong to this patient/i.test((r === null || r === void 0 ? void 0 : r.error) || ''); } })];
240
+ case 21:
241
+ _c.sent();
242
+ return [3 /*break*/, 23];
243
+ case 22:
244
+ console.log("⏭️ Skipping belugaTriggerRefill cross-patient guard test (no Beluga integration available)");
245
+ _c.label = 23;
246
+ case 23: return [3 /*break*/, 43];
247
+ case 24:
248
+ if (!automatedActionId) return [3 /*break*/, 26];
249
+ return [4 /*yield*/, sdk.api.automated_actions.deleteOne(automatedActionId).catch(console.error)];
250
+ case 25:
251
+ _c.sent();
252
+ _c.label = 26;
253
+ case 26:
254
+ if (!otherPatientFormResponseId) return [3 /*break*/, 28];
255
+ return [4 /*yield*/, sdk.api.form_responses.deleteOne(otherPatientFormResponseId).catch(console.error)];
256
+ case 27:
257
+ _c.sent();
258
+ _c.label = 28;
259
+ case 28:
260
+ if (!enduserAId) return [3 /*break*/, 30];
261
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduserAId).catch(console.error)];
262
+ case 29:
263
+ _c.sent();
264
+ _c.label = 30;
265
+ case 30:
266
+ if (!enduserBId) return [3 /*break*/, 32];
267
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduserBId).catch(console.error)];
268
+ case 31:
269
+ _c.sent();
270
+ _c.label = 32;
271
+ case 32:
272
+ if (!createdBelugaIntegrationId) return [3 /*break*/, 34];
273
+ return [4 /*yield*/, sdk.api.integrations.deleteOne(createdBelugaIntegrationId).catch(console.error)];
274
+ case 33:
275
+ _c.sent();
276
+ _c.label = 34;
277
+ case 34:
278
+ _i = 0, stepIds_1 = stepIds;
279
+ _c.label = 35;
280
+ case 35:
281
+ if (!(_i < stepIds_1.length)) return [3 /*break*/, 38];
282
+ id = stepIds_1[_i];
283
+ return [4 /*yield*/, sdk.api.automation_steps.deleteOne(id).catch(console.error)];
284
+ case 36:
285
+ _c.sent();
286
+ _c.label = 37;
287
+ case 37:
288
+ _i++;
289
+ return [3 /*break*/, 35];
290
+ case 38:
291
+ if (!formId) return [3 /*break*/, 40];
292
+ return [4 /*yield*/, sdk.api.forms.deleteOne(formId).catch(console.error)];
293
+ case 39:
294
+ _c.sent();
295
+ _c.label = 40;
296
+ case 40:
297
+ if (!journeyId) return [3 /*break*/, 42];
298
+ return [4 /*yield*/, sdk.api.journeys.deleteOne(journeyId).catch(console.error)];
299
+ case 41:
300
+ _c.sent();
301
+ _c.label = 42;
302
+ case 42: return [7 /*endfinally*/];
303
+ case 43: return [2 /*return*/];
192
304
  }
193
305
  });
194
306
  });
@@ -1 +1 @@
1
- {"version":3,"file":"beluga_trigger_refill.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/beluga_trigger_refill.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beluga_trigger_refill.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/beluga_trigger_refill.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"beluga_trigger_refill.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/beluga_trigger_refill.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiBnC,eAAO,MAAM,2BAA2B;SAAuC,OAAO;iBAAe,OAAO;mBA+G3G,CAAA"}
1
+ {"version":3,"file":"beluga_trigger_refill.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/beluga_trigger_refill.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAkBnC,eAAO,MAAM,2BAA2B;SAAuC,OAAO;iBAAe,OAAO;mBA+L3G,CAAA"}
@@ -37,6 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  require('source-map-support').install();
38
38
  import { Session } from "../../sdk";
39
39
  import { async_test, log_header, passOnAnyResult, } from "@tellescope/testing";
40
+ import { BELUGA_TITLE } from "@tellescope/constants";
40
41
  import { setup_tests } from "../setup";
41
42
  var host = process.env.API_URL || 'http://localhost:8080';
42
43
  // Beluga Trigger Refill journey action tests (CU-86e2gbv7y).
@@ -49,22 +50,22 @@ var host = process.env.API_URL || 'http://localhost:8080';
49
50
  export var beluga_trigger_refill_tests = function (_a) {
50
51
  var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
51
52
  return __awaiter(void 0, void 0, void 0, function () {
52
- var journeyId, formId, stepIds, journey_1, form_1, _i, stepIds_1, id;
53
- return __generator(this, function (_b) {
54
- switch (_b.label) {
53
+ var journeyId, formId, stepIds, enduserAId, enduserBId, otherPatientFormResponseId, automatedActionId, createdBelugaIntegrationId, journey_1, form_1, enduserA, enduserB, otherResponse, belugaIntegrationAvailable, existing, _b, created, e_1, automatedAction_1, _i, stepIds_1, id;
54
+ return __generator(this, function (_c) {
55
+ switch (_c.label) {
55
56
  case 0:
56
57
  log_header("Beluga Trigger Refill Journey Action Tests");
57
58
  stepIds = [];
58
- _b.label = 1;
59
+ _c.label = 1;
59
60
  case 1:
60
- _b.trys.push([1, , 9, 18]);
61
+ _c.trys.push([1, , 24, 43]);
61
62
  return [4 /*yield*/, sdk.api.journeys.createOne({ title: 'Beluga Trigger Refill Test Journey' })];
62
63
  case 2:
63
- journey_1 = _b.sent();
64
+ journey_1 = _c.sent();
64
65
  journeyId = journey_1.id;
65
66
  return [4 /*yield*/, sdk.api.forms.createOne({ title: 'Beluga Trigger Refill Test Form' })];
66
67
  case 3:
67
- form_1 = _b.sent();
68
+ form_1 = _c.sent();
68
69
  formId = form_1.id;
69
70
  // Inline med IDs variant
70
71
  return [4 /*yield*/, async_test("belugaTriggerRefill step accepted (inline medIds)", function () { return sdk.api.automation_steps.createOne({
@@ -83,7 +84,7 @@ export var beluga_trigger_refill_tests = function (_a) {
83
84
  ];
84
85
  case 4:
85
86
  // Inline med IDs variant
86
- _b.sent();
87
+ _c.sent();
87
88
  // Organization mapping variant
88
89
  return [4 /*yield*/, async_test("belugaTriggerRefill step accepted (organization mapping)", function () { return sdk.api.automation_steps.createOne({
89
90
  journeyId: journey_1.id,
@@ -100,7 +101,7 @@ export var beluga_trigger_refill_tests = function (_a) {
100
101
  ];
101
102
  case 5:
102
103
  // Organization mapping variant
103
- _b.sent();
104
+ _c.sent();
104
105
  // Invalid formId (not a mongo id) rejected
105
106
  return [4 /*yield*/, async_test("belugaTriggerRefill step rejected (invalid formId)", function () { return sdk.api.automation_steps.createOne({
106
107
  journeyId: journey_1.id,
@@ -117,7 +118,7 @@ export var beluga_trigger_refill_tests = function (_a) {
117
118
  ];
118
119
  case 6:
119
120
  // Invalid formId (not a mongo id) rejected
120
- _b.sent();
121
+ _c.sent();
121
122
  // Missing formId rejected
122
123
  return [4 /*yield*/, async_test("belugaTriggerRefill step rejected (missing formId)", function () { return sdk.api.automation_steps.createOne({
123
124
  journeyId: journey_1.id,
@@ -134,7 +135,7 @@ export var beluga_trigger_refill_tests = function (_a) {
134
135
  ];
135
136
  case 7:
136
137
  // Missing formId rejected
137
- _b.sent();
138
+ _c.sent();
138
139
  // Unexpected fields in a patient preference are stripped by objectValidator, not rejected —
139
140
  // assert they never reach the stored config (the step itself is accepted)
140
141
  return [4 /*yield*/, async_test("belugaTriggerRefill step strips unexpected patientPreferences field", function () { return sdk.api.automation_steps.createOne({
@@ -153,39 +154,150 @@ export var beluga_trigger_refill_tests = function (_a) {
153
154
  var preference = (_a = s.action.info.patientPreferences) === null || _a === void 0 ? void 0 : _a[0];
154
155
  return (preference === null || preference === void 0 ? void 0 : preference.medId) === 'med-123' && (preference === null || preference === void 0 ? void 0 : preference.pharmacyId) === undefined;
155
156
  },
156
- })];
157
+ })
158
+ // ── Cross-patient guard (pre-deploy review H3) ──────────────────────────────
159
+ // The process endpoint reads journeyContext.formResponseId; without an ownership check a
160
+ // switchToRelatedContact step could point it at a DIFFERENT patient's form response and issue a
161
+ // refill against their visit. This exercises the guard end-to-end: it returns BEFORE any live
162
+ // Beluga call (no sandbox creds needed), but integration resolution precedes it in the handler,
163
+ // so a Beluga integration must exist — the test self-skips when one can't be created.
164
+ ];
157
165
  case 8:
158
166
  // Unexpected fields in a patient preference are stripped by objectValidator, not rejected —
159
167
  // assert they never reach the stored config (the step itself is accepted)
160
- _b.sent();
161
- return [3 /*break*/, 18];
168
+ _c.sent();
169
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Beluga', lname: 'PatientA' })];
162
170
  case 9:
163
- _i = 0, stepIds_1 = stepIds;
164
- _b.label = 10;
171
+ enduserA = _c.sent();
172
+ enduserAId = enduserA.id;
173
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Beluga', lname: 'PatientB' })];
165
174
  case 10:
166
- if (!(_i < stepIds_1.length)) return [3 /*break*/, 13];
167
- id = stepIds_1[_i];
168
- return [4 /*yield*/, sdk.api.automation_steps.deleteOne(id).catch(console.error)];
175
+ enduserB = _c.sent();
176
+ enduserBId = enduserB.id;
177
+ return [4 /*yield*/, sdk.api.form_responses.createOne({
178
+ formId: form_1.id,
179
+ formTitle: form_1.title,
180
+ enduserId: enduserA.id,
181
+ })];
169
182
  case 11:
170
- _b.sent();
171
- _b.label = 12;
183
+ otherResponse = _c.sent();
184
+ otherPatientFormResponseId = otherResponse.id;
185
+ belugaIntegrationAvailable = false;
186
+ _c.label = 12;
172
187
  case 12:
173
- _i++;
174
- return [3 /*break*/, 10];
188
+ _c.trys.push([12, 14, , 15]);
189
+ return [4 /*yield*/, sdk.api.integrations.load_redacted({})];
175
190
  case 13:
176
- if (!formId) return [3 /*break*/, 15];
177
- return [4 /*yield*/, sdk.api.forms.deleteOne(formId).catch(console.error)];
191
+ existing = _c.sent();
192
+ belugaIntegrationAvailable = !!existing.integrations.find(function (i) { return i.title === BELUGA_TITLE; });
193
+ return [3 /*break*/, 15];
178
194
  case 14:
179
- _b.sent();
180
- _b.label = 15;
195
+ _b = _c.sent();
196
+ return [3 /*break*/, 15];
181
197
  case 15:
182
- if (!journeyId) return [3 /*break*/, 17];
183
- return [4 /*yield*/, sdk.api.journeys.deleteOne(journeyId).catch(console.error)];
198
+ if (!!belugaIntegrationAvailable) return [3 /*break*/, 19];
199
+ _c.label = 16;
184
200
  case 16:
185
- _b.sent();
186
- _b.label = 17;
187
- case 17: return [7 /*endfinally*/];
188
- case 18: return [2 /*return*/];
201
+ _c.trys.push([16, 18, , 19]);
202
+ return [4 /*yield*/, sdk.api.integrations.createOne({
203
+ title: BELUGA_TITLE,
204
+ authentication: {
205
+ type: 'oauth2',
206
+ info: { access_token: 'test-access-token', refresh_token: 'test-refresh-token', scope: '', token_type: 'Bearer', expiry_date: new Date().getTime() },
207
+ },
208
+ })];
209
+ case 17:
210
+ created = _c.sent();
211
+ createdBelugaIntegrationId = created.id;
212
+ belugaIntegrationAvailable = true;
213
+ return [3 /*break*/, 19];
214
+ case 18:
215
+ e_1 = _c.sent();
216
+ console.log("Could not create a Beluga integration; skipping cross-patient guard test:", e_1);
217
+ return [3 /*break*/, 19];
218
+ case 19:
219
+ if (!belugaIntegrationAvailable) return [3 /*break*/, 22];
220
+ return [4 /*yield*/, sdk.api.automated_actions.createOne({
221
+ journeyId: journey_1.id,
222
+ automationStepId: stepIds[0],
223
+ enduserId: enduserB.id,
224
+ event: { type: 'onJourneyStart', info: {} },
225
+ action: {
226
+ type: 'belugaTriggerRefill',
227
+ info: { formId: form_1.id, patientPreferences: [{ medId: 'med-123' }] },
228
+ },
229
+ status: 'active',
230
+ processAfter: new Date().getTime() + 60 * 60 * 1000,
231
+ journeyContext: { formResponseId: otherResponse.id },
232
+ })];
233
+ case 20:
234
+ automatedAction_1 = _c.sent();
235
+ automatedActionId = automatedAction_1.id;
236
+ return [4 /*yield*/, async_test("belugaTriggerRefill rejects a form response owned by a different patient", function () { return sdk.api.automated_actions.process({ automatedActionId: automatedAction_1.id }); }, { onResult: function (r) { return (r === null || r === void 0 ? void 0 : r.success) === false && /does not belong to this patient/i.test((r === null || r === void 0 ? void 0 : r.error) || ''); } })];
237
+ case 21:
238
+ _c.sent();
239
+ return [3 /*break*/, 23];
240
+ case 22:
241
+ console.log("⏭️ Skipping belugaTriggerRefill cross-patient guard test (no Beluga integration available)");
242
+ _c.label = 23;
243
+ case 23: return [3 /*break*/, 43];
244
+ case 24:
245
+ if (!automatedActionId) return [3 /*break*/, 26];
246
+ return [4 /*yield*/, sdk.api.automated_actions.deleteOne(automatedActionId).catch(console.error)];
247
+ case 25:
248
+ _c.sent();
249
+ _c.label = 26;
250
+ case 26:
251
+ if (!otherPatientFormResponseId) return [3 /*break*/, 28];
252
+ return [4 /*yield*/, sdk.api.form_responses.deleteOne(otherPatientFormResponseId).catch(console.error)];
253
+ case 27:
254
+ _c.sent();
255
+ _c.label = 28;
256
+ case 28:
257
+ if (!enduserAId) return [3 /*break*/, 30];
258
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduserAId).catch(console.error)];
259
+ case 29:
260
+ _c.sent();
261
+ _c.label = 30;
262
+ case 30:
263
+ if (!enduserBId) return [3 /*break*/, 32];
264
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduserBId).catch(console.error)];
265
+ case 31:
266
+ _c.sent();
267
+ _c.label = 32;
268
+ case 32:
269
+ if (!createdBelugaIntegrationId) return [3 /*break*/, 34];
270
+ return [4 /*yield*/, sdk.api.integrations.deleteOne(createdBelugaIntegrationId).catch(console.error)];
271
+ case 33:
272
+ _c.sent();
273
+ _c.label = 34;
274
+ case 34:
275
+ _i = 0, stepIds_1 = stepIds;
276
+ _c.label = 35;
277
+ case 35:
278
+ if (!(_i < stepIds_1.length)) return [3 /*break*/, 38];
279
+ id = stepIds_1[_i];
280
+ return [4 /*yield*/, sdk.api.automation_steps.deleteOne(id).catch(console.error)];
281
+ case 36:
282
+ _c.sent();
283
+ _c.label = 37;
284
+ case 37:
285
+ _i++;
286
+ return [3 /*break*/, 35];
287
+ case 38:
288
+ if (!formId) return [3 /*break*/, 40];
289
+ return [4 /*yield*/, sdk.api.forms.deleteOne(formId).catch(console.error)];
290
+ case 39:
291
+ _c.sent();
292
+ _c.label = 40;
293
+ case 40:
294
+ if (!journeyId) return [3 /*break*/, 42];
295
+ return [4 /*yield*/, sdk.api.journeys.deleteOne(journeyId).catch(console.error)];
296
+ case 41:
297
+ _c.sent();
298
+ _c.label = 42;
299
+ case 42: return [7 /*endfinally*/];
300
+ case 43: return [2 /*return*/];
189
301
  }
190
302
  });
191
303
  });
@@ -1 +1 @@
1
- {"version":3,"file":"beluga_trigger_refill.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/beluga_trigger_refill.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beluga_trigger_refill.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/beluga_trigger_refill.test.ts"],"names":[],"mappings":"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"}