@tellescope/sdk 1.66.4 → 1.66.6

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.
@@ -185,19 +185,53 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
185
185
  _a.sent();
186
186
  (0, testing_1.assert)(uInfo.id === sdk.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
187
187
  (0, testing_1.assert)(!!originalAuthToken && !!sdk.authToken && sdk.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
188
+ // ensure that going to "Non-Admin" triggers a role change
189
+ return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Test'] }, { replaceObjectFields: true })];
190
+ case 9:
191
+ // ensure that going to "Non-Admin" triggers a role change
192
+ _a.sent();
193
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
194
+ case 10:
195
+ // ensure that going to "Non-Admin" triggers a role change
196
+ _a.sent();
197
+ return [4 /*yield*/, (0, testing_1.async_test)('non admin authenticated', sdkNonAdmin.test_authenticated, { expectedResult: 'Authenticated!' })
198
+ // reset nonAdmin role to a default non-admin
199
+ ];
200
+ case 11:
201
+ _a.sent();
188
202
  // reset nonAdmin role to a default non-admin
189
203
  return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Non-Admin'] }, { replaceObjectFields: true })];
190
- case 9:
204
+ case 12:
191
205
  // reset nonAdmin role to a default non-admin
206
+ _a.sent();
207
+ // should be unauthenticated due to role change
208
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
209
+ case 13:
210
+ // reset nonAdmin role to a default non-admin
211
+ // should be unauthenticated due to role change
212
+ _a.sent();
213
+ return [4 /*yield*/, (0, testing_1.async_test)('role change causes deauthentication', sdkNonAdmin.test_authenticated, handleAnyError)
214
+ // reauthenticate
215
+ ];
216
+ case 14:
217
+ _a.sent();
218
+ // reauthenticate
219
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)];
220
+ case 15:
221
+ // reauthenticate
222
+ _a.sent();
223
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)
224
+ // may do some stuff in background after returning
225
+ ];
226
+ case 16:
192
227
  _a.sent();
193
228
  // may do some stuff in background after returning
194
229
  return [4 /*yield*/, (0, testing_1.async_test)('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
195
- case 10:
196
- // reset nonAdmin role to a default non-admin
230
+ case 17:
197
231
  // may do some stuff in background after returning
198
232
  _a.sent();
199
233
  return [4 /*yield*/, (0, testing_1.wait)(undefined, 250)];
200
- case 11:
234
+ case 18:
201
235
  _a.sent();
202
236
  return [2 /*return*/];
203
237
  }
@@ -6078,6 +6112,29 @@ var tests = {
6078
6112
  ticket_thread_comments: NO_TEST,
6079
6113
  };
6080
6114
  var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=", 'base64');
6115
+ var validate_schema = function () {
6116
+ var _a;
6117
+ var endpoints = new Set([]);
6118
+ var modelName = undefined;
6119
+ for (modelName in schema_1.schema) {
6120
+ for (var endpointName in schema_1.schema[modelName].customActions) {
6121
+ var path = schema_1.schema[modelName].customActions[endpointName].path || '';
6122
+ if (path === '' && endpointName === 'create')
6123
+ continue; // uses default
6124
+ if (endpoints.has(path)) {
6125
+ throw new Error("Duplicate path: ".concat(path, ", ").concat(endpointName));
6126
+ }
6127
+ endpoints.add(path);
6128
+ }
6129
+ for (var endpointName in (_a = schema_1.schema[modelName].publicActions) !== null && _a !== void 0 ? _a : {}) {
6130
+ var path = schema_1.schema[modelName].publicActions[endpointName].path || '';
6131
+ if (endpoints.has(path)) {
6132
+ throw new Error("Duplicate path: ".concat(path, ", ").concat(endpointName));
6133
+ }
6134
+ endpoints.add(path);
6135
+ }
6136
+ }
6137
+ };
6081
6138
  (function () { return __awaiter(void 0, void 0, void 0, function () {
6082
6139
  var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
6083
6140
  var _h, _j;
@@ -6090,7 +6147,10 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
6090
6147
  _k.sent();
6091
6148
  _k.label = 2;
6092
6149
  case 2:
6093
- _k.trys.push([2, 33, , 34]);
6150
+ _k.trys.push([2, 34, , 35]);
6151
+ return [4 /*yield*/, validate_schema()];
6152
+ case 3:
6153
+ _k.sent();
6094
6154
  return [4 /*yield*/, Promise.all([
6095
6155
  sdk.authenticate(email, password),
6096
6156
  sdkSub.authenticate(subUserEmail, password),
@@ -6100,101 +6160,101 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
6100
6160
  ])
6101
6161
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6102
6162
  ];
6103
- case 3:
6163
+ case 4:
6104
6164
  _k.sent();
6105
6165
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6106
6166
  return [4 /*yield*/, (0, testing_1.async_test)("count exists",
6107
6167
  // @ts-ignore
6108
6168
  function () { return sdk.api.endusers.getSome({ returnCount: true }); }, { onResult: function (result) { return typeof result.count === 'number'; } })];
6109
- case 4:
6169
+ case 5:
6110
6170
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6111
6171
  _k.sent();
6112
6172
  return [4 /*yield*/, (0, testing_1.async_test)("push_to_EHR allows missing addedResponses", function () { return sdk.api.form_responses.push_to_EHR({ id: constants_1.PLACEHOLDER_ID }); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.message) === 'Could not find a record for the given id'; } })];
6113
- case 5:
6114
- _k.sent();
6115
- return [4 /*yield*/, mfa_tests()];
6116
6173
  case 6:
6117
6174
  _k.sent();
6118
- return [4 /*yield*/, setup_tests()];
6175
+ return [4 /*yield*/, mfa_tests()];
6119
6176
  case 7:
6120
6177
  _k.sent();
6121
- return [4 /*yield*/, automation_trigger_tests()];
6178
+ return [4 /*yield*/, setup_tests()];
6122
6179
  case 8:
6123
6180
  _k.sent();
6124
- return [4 /*yield*/, enduser_session_tests()];
6181
+ return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6125
6182
  case 9:
6126
- _k.sent();
6127
- return [4 /*yield*/, nextReminderInMS_tests()];
6183
+ _k.sent(); // should come right after setup tests
6184
+ return [4 /*yield*/, role_based_access_tests()];
6128
6185
  case 10:
6129
6186
  _k.sent();
6130
- return [4 /*yield*/, search_tests()];
6187
+ return [4 /*yield*/, automation_trigger_tests()];
6131
6188
  case 11:
6132
6189
  _k.sent();
6133
- return [4 /*yield*/, wait_for_trigger_tests()];
6190
+ return [4 /*yield*/, enduser_session_tests()];
6134
6191
  case 12:
6135
6192
  _k.sent();
6136
- return [4 /*yield*/, role_based_access_tests()];
6193
+ return [4 /*yield*/, nextReminderInMS_tests()];
6137
6194
  case 13:
6138
6195
  _k.sent();
6139
- return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6196
+ return [4 /*yield*/, search_tests()];
6140
6197
  case 14:
6141
- _k.sent(); // should come right after setup tests
6142
- return [4 /*yield*/, pdf_generation()];
6198
+ _k.sent();
6199
+ return [4 /*yield*/, wait_for_trigger_tests()];
6143
6200
  case 15:
6144
6201
  _k.sent();
6145
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6202
+ return [4 /*yield*/, pdf_generation()];
6146
6203
  case 16:
6147
6204
  _k.sent();
6148
- return [4 /*yield*/, rate_limit_tests()];
6205
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6149
6206
  case 17:
6150
6207
  _k.sent();
6151
- return [4 /*yield*/, merge_enduser_tests()];
6208
+ return [4 /*yield*/, rate_limit_tests()];
6152
6209
  case 18:
6153
6210
  _k.sent();
6154
- return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
6211
+ return [4 /*yield*/, merge_enduser_tests()];
6155
6212
  case 19:
6156
6213
  _k.sent();
6157
- return [4 /*yield*/, auto_reply_tests()];
6214
+ return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
6158
6215
  case 20:
6159
6216
  _k.sent();
6160
- return [4 /*yield*/, sub_organization_enduser_tests()];
6217
+ return [4 /*yield*/, auto_reply_tests()];
6161
6218
  case 21:
6162
6219
  _k.sent();
6163
- return [4 /*yield*/, sub_organization_tests()];
6220
+ return [4 /*yield*/, sub_organization_enduser_tests()];
6164
6221
  case 22:
6165
6222
  _k.sent();
6166
- return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
6223
+ return [4 /*yield*/, sub_organization_tests()];
6167
6224
  case 23:
6168
6225
  _k.sent();
6169
- return [4 /*yield*/, generate_user_auth_tests()];
6226
+ return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
6170
6227
  case 24:
6171
6228
  _k.sent();
6172
- return [4 /*yield*/, generateEnduserAuthTests()];
6229
+ return [4 /*yield*/, generate_user_auth_tests()];
6173
6230
  case 25:
6174
6231
  _k.sent();
6175
- return [4 /*yield*/, public_form_tests()];
6232
+ return [4 /*yield*/, generateEnduserAuthTests()];
6176
6233
  case 26:
6177
6234
  _k.sent();
6178
- return [4 /*yield*/, badInputTests()];
6235
+ return [4 /*yield*/, public_form_tests()];
6179
6236
  case 27:
6180
6237
  _k.sent();
6181
- return [4 /*yield*/, filterTests()];
6238
+ return [4 /*yield*/, badInputTests()];
6182
6239
  case 28:
6183
6240
  _k.sent();
6184
- return [4 /*yield*/, updatesTests()];
6241
+ return [4 /*yield*/, filterTests()];
6185
6242
  case 29:
6186
6243
  _k.sent();
6187
- return [4 /*yield*/, threadKeyTests()];
6244
+ return [4 /*yield*/, updatesTests()];
6188
6245
  case 30:
6189
6246
  _k.sent();
6190
- return [4 /*yield*/, enduserAccessTests()];
6247
+ return [4 /*yield*/, threadKeyTests()];
6191
6248
  case 31:
6192
6249
  _k.sent();
6193
- return [4 /*yield*/, enduser_redaction_tests()];
6250
+ return [4 /*yield*/, enduserAccessTests()];
6194
6251
  case 32:
6195
6252
  _k.sent();
6196
- return [3 /*break*/, 34];
6253
+ return [4 /*yield*/, enduser_redaction_tests()];
6197
6254
  case 33:
6255
+ _k.sent();
6256
+ return [3 /*break*/, 35];
6257
+ case 34:
6198
6258
  err_1 = _k.sent();
6199
6259
  console.error("Failed during custom test");
6200
6260
  if (err_1.message && err_1.info) {
@@ -6204,18 +6264,18 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
6204
6264
  console.error(err_1);
6205
6265
  }
6206
6266
  process.exit(1);
6207
- return [3 /*break*/, 34];
6208
- case 34:
6267
+ return [3 /*break*/, 35];
6268
+ case 35:
6209
6269
  _a = schema_1.schema;
6210
6270
  _b = [];
6211
6271
  for (_c in _a)
6212
6272
  _b.push(_c);
6213
6273
  _i = 0;
6214
- _k.label = 35;
6215
- case 35:
6216
- if (!(_i < _b.length)) return [3 /*break*/, 38];
6274
+ _k.label = 36;
6275
+ case 36:
6276
+ if (!(_i < _b.length)) return [3 /*break*/, 39];
6217
6277
  _c = _b[_i];
6218
- if (!(_c in _a)) return [3 /*break*/, 37];
6278
+ if (!(_c in _a)) return [3 /*break*/, 38];
6219
6279
  n = _c;
6220
6280
  returnValidation = (_j = (_h = schema_1.schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
6221
6281
  return [4 /*yield*/, run_generated_tests({
@@ -6226,41 +6286,41 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
6226
6286
  create: returnValidation // ModelFields<ClientModel>,
6227
6287
  }
6228
6288
  })];
6229
- case 36:
6230
- _k.sent();
6231
- _k.label = 37;
6232
6289
  case 37:
6233
- _i++;
6234
- return [3 /*break*/, 35];
6290
+ _k.sent();
6291
+ _k.label = 38;
6235
6292
  case 38:
6293
+ _i++;
6294
+ return [3 /*break*/, 36];
6295
+ case 39:
6236
6296
  _d = tests;
6237
6297
  _e = [];
6238
6298
  for (_f in _d)
6239
6299
  _e.push(_f);
6240
6300
  _g = 0;
6241
- _k.label = 39;
6242
- case 39:
6243
- if (!(_g < _e.length)) return [3 /*break*/, 44];
6244
- _f = _e[_g];
6245
- if (!(_f in _d)) return [3 /*break*/, 43];
6246
- t = _f;
6247
6301
  _k.label = 40;
6248
6302
  case 40:
6249
- _k.trys.push([40, 42, , 43]);
6250
- return [4 /*yield*/, tests[t]()];
6303
+ if (!(_g < _e.length)) return [3 /*break*/, 45];
6304
+ _f = _e[_g];
6305
+ if (!(_f in _d)) return [3 /*break*/, 44];
6306
+ t = _f;
6307
+ _k.label = 41;
6251
6308
  case 41:
6252
- _k.sent();
6253
- return [3 /*break*/, 43];
6309
+ _k.trys.push([41, 43, , 44]);
6310
+ return [4 /*yield*/, tests[t]()];
6254
6311
  case 42:
6312
+ _k.sent();
6313
+ return [3 /*break*/, 44];
6314
+ case 43:
6255
6315
  err_2 = _k.sent();
6256
6316
  console.error("Error running test:");
6257
6317
  console.error(err_2);
6258
6318
  process.exit(1);
6259
- return [3 /*break*/, 43];
6260
- case 43:
6261
- _g++;
6262
- return [3 /*break*/, 39];
6319
+ return [3 /*break*/, 44];
6263
6320
  case 44:
6321
+ _g++;
6322
+ return [3 /*break*/, 40];
6323
+ case 45:
6264
6324
  process.exit();
6265
6325
  return [2 /*return*/];
6266
6326
  }