@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.
@@ -156,19 +156,53 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
156
156
  _a.sent();
157
157
  assert(uInfo.id === sdk.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
158
158
  assert(!!originalAuthToken && !!sdk.authToken && sdk.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
159
+ // ensure that going to "Non-Admin" triggers a role change
160
+ return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Test'] }, { replaceObjectFields: true })];
161
+ case 9:
162
+ // ensure that going to "Non-Admin" triggers a role change
163
+ _a.sent();
164
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
165
+ case 10:
166
+ // ensure that going to "Non-Admin" triggers a role change
167
+ _a.sent();
168
+ return [4 /*yield*/, async_test('non admin authenticated', sdkNonAdmin.test_authenticated, { expectedResult: 'Authenticated!' })
169
+ // reset nonAdmin role to a default non-admin
170
+ ];
171
+ case 11:
172
+ _a.sent();
159
173
  // reset nonAdmin role to a default non-admin
160
174
  return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Non-Admin'] }, { replaceObjectFields: true })];
161
- case 9:
175
+ case 12:
162
176
  // reset nonAdmin role to a default non-admin
177
+ _a.sent();
178
+ // should be unauthenticated due to role change
179
+ return [4 /*yield*/, wait(undefined, 100)];
180
+ case 13:
181
+ // reset nonAdmin role to a default non-admin
182
+ // should be unauthenticated due to role change
183
+ _a.sent();
184
+ return [4 /*yield*/, async_test('role change causes deauthentication', sdkNonAdmin.test_authenticated, handleAnyError)
185
+ // reauthenticate
186
+ ];
187
+ case 14:
188
+ _a.sent();
189
+ // reauthenticate
190
+ return [4 /*yield*/, wait(undefined, 1000)];
191
+ case 15:
192
+ // reauthenticate
193
+ _a.sent();
194
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)
195
+ // may do some stuff in background after returning
196
+ ];
197
+ case 16:
163
198
  _a.sent();
164
199
  // may do some stuff in background after returning
165
200
  return [4 /*yield*/, async_test('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
166
- case 10:
167
- // reset nonAdmin role to a default non-admin
201
+ case 17:
168
202
  // may do some stuff in background after returning
169
203
  _a.sent();
170
204
  return [4 /*yield*/, wait(undefined, 250)];
171
- case 11:
205
+ case 18:
172
206
  _a.sent();
173
207
  return [2 /*return*/];
174
208
  }
@@ -6037,6 +6071,29 @@ var tests = {
6037
6071
  ticket_thread_comments: NO_TEST,
6038
6072
  };
6039
6073
  var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=", 'base64');
6074
+ var validate_schema = function () {
6075
+ var _a;
6076
+ var endpoints = new Set([]);
6077
+ var modelName = undefined;
6078
+ for (modelName in schema) {
6079
+ for (var endpointName in schema[modelName].customActions) {
6080
+ var path = schema[modelName].customActions[endpointName].path || '';
6081
+ if (path === '' && endpointName === 'create')
6082
+ continue; // uses default
6083
+ if (endpoints.has(path)) {
6084
+ throw new Error("Duplicate path: ".concat(path, ", ").concat(endpointName));
6085
+ }
6086
+ endpoints.add(path);
6087
+ }
6088
+ for (var endpointName in (_a = schema[modelName].publicActions) !== null && _a !== void 0 ? _a : {}) {
6089
+ var path = schema[modelName].publicActions[endpointName].path || '';
6090
+ if (endpoints.has(path)) {
6091
+ throw new Error("Duplicate path: ".concat(path, ", ").concat(endpointName));
6092
+ }
6093
+ endpoints.add(path);
6094
+ }
6095
+ }
6096
+ };
6040
6097
  (function () { return __awaiter(void 0, void 0, void 0, function () {
6041
6098
  var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
6042
6099
  var _h, _j;
@@ -6049,7 +6106,10 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
6049
6106
  _k.sent();
6050
6107
  _k.label = 2;
6051
6108
  case 2:
6052
- _k.trys.push([2, 33, , 34]);
6109
+ _k.trys.push([2, 34, , 35]);
6110
+ return [4 /*yield*/, validate_schema()];
6111
+ case 3:
6112
+ _k.sent();
6053
6113
  return [4 /*yield*/, Promise.all([
6054
6114
  sdk.authenticate(email, password),
6055
6115
  sdkSub.authenticate(subUserEmail, password),
@@ -6059,101 +6119,101 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
6059
6119
  ])
6060
6120
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6061
6121
  ];
6062
- case 3:
6122
+ case 4:
6063
6123
  _k.sent();
6064
6124
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6065
6125
  return [4 /*yield*/, async_test("count exists",
6066
6126
  // @ts-ignore
6067
6127
  function () { return sdk.api.endusers.getSome({ returnCount: true }); }, { onResult: function (result) { return typeof result.count === 'number'; } })];
6068
- case 4:
6128
+ case 5:
6069
6129
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6070
6130
  _k.sent();
6071
6131
  return [4 /*yield*/, async_test("push_to_EHR allows missing addedResponses", function () { return sdk.api.form_responses.push_to_EHR({ id: 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'; } })];
6072
- case 5:
6073
- _k.sent();
6074
- return [4 /*yield*/, mfa_tests()];
6075
6132
  case 6:
6076
6133
  _k.sent();
6077
- return [4 /*yield*/, setup_tests()];
6134
+ return [4 /*yield*/, mfa_tests()];
6078
6135
  case 7:
6079
6136
  _k.sent();
6080
- return [4 /*yield*/, automation_trigger_tests()];
6137
+ return [4 /*yield*/, setup_tests()];
6081
6138
  case 8:
6082
6139
  _k.sent();
6083
- return [4 /*yield*/, enduser_session_tests()];
6140
+ return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6084
6141
  case 9:
6085
- _k.sent();
6086
- return [4 /*yield*/, nextReminderInMS_tests()];
6142
+ _k.sent(); // should come right after setup tests
6143
+ return [4 /*yield*/, role_based_access_tests()];
6087
6144
  case 10:
6088
6145
  _k.sent();
6089
- return [4 /*yield*/, search_tests()];
6146
+ return [4 /*yield*/, automation_trigger_tests()];
6090
6147
  case 11:
6091
6148
  _k.sent();
6092
- return [4 /*yield*/, wait_for_trigger_tests()];
6149
+ return [4 /*yield*/, enduser_session_tests()];
6093
6150
  case 12:
6094
6151
  _k.sent();
6095
- return [4 /*yield*/, role_based_access_tests()];
6152
+ return [4 /*yield*/, nextReminderInMS_tests()];
6096
6153
  case 13:
6097
6154
  _k.sent();
6098
- return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6155
+ return [4 /*yield*/, search_tests()];
6099
6156
  case 14:
6100
- _k.sent(); // should come right after setup tests
6101
- return [4 /*yield*/, pdf_generation()];
6157
+ _k.sent();
6158
+ return [4 /*yield*/, wait_for_trigger_tests()];
6102
6159
  case 15:
6103
6160
  _k.sent();
6104
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6161
+ return [4 /*yield*/, pdf_generation()];
6105
6162
  case 16:
6106
6163
  _k.sent();
6107
- return [4 /*yield*/, rate_limit_tests()];
6164
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6108
6165
  case 17:
6109
6166
  _k.sent();
6110
- return [4 /*yield*/, merge_enduser_tests()];
6167
+ return [4 /*yield*/, rate_limit_tests()];
6111
6168
  case 18:
6112
6169
  _k.sent();
6113
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
6170
+ return [4 /*yield*/, merge_enduser_tests()];
6114
6171
  case 19:
6115
6172
  _k.sent();
6116
- return [4 /*yield*/, auto_reply_tests()];
6173
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
6117
6174
  case 20:
6118
6175
  _k.sent();
6119
- return [4 /*yield*/, sub_organization_enduser_tests()];
6176
+ return [4 /*yield*/, auto_reply_tests()];
6120
6177
  case 21:
6121
6178
  _k.sent();
6122
- return [4 /*yield*/, sub_organization_tests()];
6179
+ return [4 /*yield*/, sub_organization_enduser_tests()];
6123
6180
  case 22:
6124
6181
  _k.sent();
6125
- return [4 /*yield*/, filter_by_date_tests()];
6182
+ return [4 /*yield*/, sub_organization_tests()];
6126
6183
  case 23:
6127
6184
  _k.sent();
6128
- return [4 /*yield*/, generate_user_auth_tests()];
6185
+ return [4 /*yield*/, filter_by_date_tests()];
6129
6186
  case 24:
6130
6187
  _k.sent();
6131
- return [4 /*yield*/, generateEnduserAuthTests()];
6188
+ return [4 /*yield*/, generate_user_auth_tests()];
6132
6189
  case 25:
6133
6190
  _k.sent();
6134
- return [4 /*yield*/, public_form_tests()];
6191
+ return [4 /*yield*/, generateEnduserAuthTests()];
6135
6192
  case 26:
6136
6193
  _k.sent();
6137
- return [4 /*yield*/, badInputTests()];
6194
+ return [4 /*yield*/, public_form_tests()];
6138
6195
  case 27:
6139
6196
  _k.sent();
6140
- return [4 /*yield*/, filterTests()];
6197
+ return [4 /*yield*/, badInputTests()];
6141
6198
  case 28:
6142
6199
  _k.sent();
6143
- return [4 /*yield*/, updatesTests()];
6200
+ return [4 /*yield*/, filterTests()];
6144
6201
  case 29:
6145
6202
  _k.sent();
6146
- return [4 /*yield*/, threadKeyTests()];
6203
+ return [4 /*yield*/, updatesTests()];
6147
6204
  case 30:
6148
6205
  _k.sent();
6149
- return [4 /*yield*/, enduserAccessTests()];
6206
+ return [4 /*yield*/, threadKeyTests()];
6150
6207
  case 31:
6151
6208
  _k.sent();
6152
- return [4 /*yield*/, enduser_redaction_tests()];
6209
+ return [4 /*yield*/, enduserAccessTests()];
6153
6210
  case 32:
6154
6211
  _k.sent();
6155
- return [3 /*break*/, 34];
6212
+ return [4 /*yield*/, enduser_redaction_tests()];
6156
6213
  case 33:
6214
+ _k.sent();
6215
+ return [3 /*break*/, 35];
6216
+ case 34:
6157
6217
  err_1 = _k.sent();
6158
6218
  console.error("Failed during custom test");
6159
6219
  if (err_1.message && err_1.info) {
@@ -6163,18 +6223,18 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
6163
6223
  console.error(err_1);
6164
6224
  }
6165
6225
  process.exit(1);
6166
- return [3 /*break*/, 34];
6167
- case 34:
6226
+ return [3 /*break*/, 35];
6227
+ case 35:
6168
6228
  _a = schema;
6169
6229
  _b = [];
6170
6230
  for (_c in _a)
6171
6231
  _b.push(_c);
6172
6232
  _i = 0;
6173
- _k.label = 35;
6174
- case 35:
6175
- if (!(_i < _b.length)) return [3 /*break*/, 38];
6233
+ _k.label = 36;
6234
+ case 36:
6235
+ if (!(_i < _b.length)) return [3 /*break*/, 39];
6176
6236
  _c = _b[_i];
6177
- if (!(_c in _a)) return [3 /*break*/, 37];
6237
+ if (!(_c in _a)) return [3 /*break*/, 38];
6178
6238
  n = _c;
6179
6239
  returnValidation = (_j = (_h = schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
6180
6240
  return [4 /*yield*/, run_generated_tests({
@@ -6185,41 +6245,41 @@ var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwC
6185
6245
  create: returnValidation // ModelFields<ClientModel>,
6186
6246
  }
6187
6247
  })];
6188
- case 36:
6189
- _k.sent();
6190
- _k.label = 37;
6191
6248
  case 37:
6192
- _i++;
6193
- return [3 /*break*/, 35];
6249
+ _k.sent();
6250
+ _k.label = 38;
6194
6251
  case 38:
6252
+ _i++;
6253
+ return [3 /*break*/, 36];
6254
+ case 39:
6195
6255
  _d = tests;
6196
6256
  _e = [];
6197
6257
  for (_f in _d)
6198
6258
  _e.push(_f);
6199
6259
  _g = 0;
6200
- _k.label = 39;
6201
- case 39:
6202
- if (!(_g < _e.length)) return [3 /*break*/, 44];
6203
- _f = _e[_g];
6204
- if (!(_f in _d)) return [3 /*break*/, 43];
6205
- t = _f;
6206
6260
  _k.label = 40;
6207
6261
  case 40:
6208
- _k.trys.push([40, 42, , 43]);
6209
- return [4 /*yield*/, tests[t]()];
6262
+ if (!(_g < _e.length)) return [3 /*break*/, 45];
6263
+ _f = _e[_g];
6264
+ if (!(_f in _d)) return [3 /*break*/, 44];
6265
+ t = _f;
6266
+ _k.label = 41;
6210
6267
  case 41:
6211
- _k.sent();
6212
- return [3 /*break*/, 43];
6268
+ _k.trys.push([41, 43, , 44]);
6269
+ return [4 /*yield*/, tests[t]()];
6213
6270
  case 42:
6271
+ _k.sent();
6272
+ return [3 /*break*/, 44];
6273
+ case 43:
6214
6274
  err_2 = _k.sent();
6215
6275
  console.error("Error running test:");
6216
6276
  console.error(err_2);
6217
6277
  process.exit(1);
6218
- return [3 /*break*/, 43];
6219
- case 43:
6220
- _g++;
6221
- return [3 /*break*/, 39];
6278
+ return [3 /*break*/, 44];
6222
6279
  case 44:
6280
+ _g++;
6281
+ return [3 /*break*/, 40];
6282
+ case 45:
6223
6283
  process.exit();
6224
6284
  return [2 /*return*/];
6225
6285
  }