@tellescope/sdk 1.80.3 → 1.81.0

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.
@@ -6270,9 +6270,10 @@ var nextReminderInMS_tests = function () { return __awaiter(void 0, void 0, void
6270
6270
  }
6271
6271
  });
6272
6272
  }); };
6273
- var pollForResults = function (f, evaluate, intervalInMS, iterations) {
6273
+ var pollForResults = function (f, evaluate, intervalInMS, iterations, shouldError) {
6274
6274
  if (intervalInMS === void 0) { intervalInMS = 500; }
6275
6275
  if (iterations === void 0) { iterations = 20; }
6276
+ if (shouldError === void 0) { shouldError = false; }
6276
6277
  return __awaiter(void 0, void 0, void 0, function () {
6277
6278
  var lastResult, i, result;
6278
6279
  return __generator(this, function (_a) {
@@ -6297,6 +6298,8 @@ var pollForResults = function (f, evaluate, intervalInMS, iterations) {
6297
6298
  i++;
6298
6299
  return [3 /*break*/, 1];
6299
6300
  case 5:
6301
+ if (shouldError)
6302
+ return [2 /*return*/, lastResult];
6300
6303
  console.log(lastResult);
6301
6304
  throw new Error("failed pollForResults");
6302
6305
  }
@@ -6866,7 +6869,7 @@ export var no_chained_triggers_tests = function () { return __awaiter(void 0, vo
6866
6869
  });
6867
6870
  }); };
6868
6871
  export var ticket_queue_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
6869
- var queue, queueUnshared, enduser, ticket, ticketUnshared;
6872
+ var queue, queueUnshared, enduser, ticket, ticketUnshared, ticketToPull;
6870
6873
  return __generator(this, function (_a) {
6871
6874
  switch (_a.label) {
6872
6875
  case 0:
@@ -6880,61 +6883,74 @@ export var ticket_queue_tests = function () { return __awaiter(void 0, void 0, v
6880
6883
  return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'ticket' })];
6881
6884
  case 3:
6882
6885
  enduser = _a.sent();
6883
- return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'ticket in queue', queueId: queue.id, enduserId: enduser.id })];
6886
+ return [4 /*yield*/, async_test("Ticket queue empty on general pull", function () { return sdk.api.tickets.assign_from_queue({ queueId: queue.id }); }, { shouldError: true, onError: function (e) { return e.message === "Queue is empty"; } })];
6884
6887
  case 4:
6888
+ _a.sent();
6889
+ return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'ticket in queue', queueId: queue.id, enduserId: enduser.id })];
6890
+ case 5:
6885
6891
  ticket = _a.sent();
6886
6892
  return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'ticket no access', queueId: queueUnshared.id })];
6887
- case 5:
6893
+ case 6:
6888
6894
  ticketUnshared = _a.sent();
6889
6895
  return [4 /*yield*/, async_test("Admin ticket access", sdk.api.tickets.getSome, { onResult: function (ts) { return ts.length === 2; } })];
6890
- case 6:
6896
+ case 7:
6891
6897
  _a.sent();
6892
6898
  return [4 /*yield*/, async_test("Admin ticket access (specified queue)", function () { return sdk.api.tickets.getSome({ filter: { queueId: queue.id } }); }, { onResult: function (ts) { return ts.length === 1; } })];
6893
- case 7:
6899
+ case 8:
6894
6900
  _a.sent();
6895
6901
  return [4 /*yield*/, async_test("Admin ticket access (specified queue, other)", function () { return sdk.api.tickets.getSome({ filter: { queueId: queueUnshared.id } }); }, { onResult: function (ts) { return ts.length === 1; } })];
6896
- case 8:
6902
+ case 9:
6897
6903
  _a.sent();
6898
6904
  return [4 /*yield*/, async_test("Non-Admin ticket access (unspecified queue)", sdkNonAdmin.api.tickets.getSome, { onResult: function (ts) { return ts.length === 0; } })];
6899
- case 9:
6905
+ case 10:
6900
6906
  _a.sent();
6901
6907
  return [4 /*yield*/, async_test("Non-Admin ticket access (specified queue)", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { queueId: queue.id } }); }, { onResult: function (ts) { return ts.length === 1; } })];
6902
- case 10:
6908
+ case 11:
6903
6909
  _a.sent();
6904
6910
  return [4 /*yield*/, async_test("Non-Admin ticket access (specified queue, no access)", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { queueId: queueUnshared.id } }); }, handleAnyError)];
6905
- case 11:
6911
+ case 12:
6906
6912
  _a.sent();
6907
6913
  return [4 /*yield*/, async_test("Queue caches number of tickets on add", function () { return sdk.api.ticket_queues.getOne(queue.id); }, { onResult: function (q) { return q.count === 1; } })];
6908
- case 12:
6914
+ case 13:
6909
6915
  _a.sent();
6910
6916
  return [4 /*yield*/, async_test("Non-Admin can assign ticket to self", function () { return sdkNonAdmin.api.tickets.assign_from_queue({ ticketId: ticket.id }); }, { onResult: function (_a) {
6911
6917
  var ticket = _a.ticket;
6912
6918
  return ticket.owner === sdkNonAdmin.userInfo.id && !ticket.queueId && !!ticket.dequeuedAt;
6913
6919
  } })];
6914
- case 13:
6915
- _a.sent();
6916
- return [4 /*yield*/, async_test("Ticket can't be double-assigned ticket to self", function () { return sdk.api.tickets.assign_from_queue({ ticketId: ticket.id }); }, handleAnyError)];
6917
6920
  case 14:
6918
6921
  _a.sent();
6919
- return [4 /*yield*/, async_test("Non-Admin ticket cannot assign ticket to self when can't access queue", function () { return sdkNonAdmin.api.tickets.assign_from_queue({ ticketId: ticketUnshared.id }); }, handleAnyError)];
6922
+ return [4 /*yield*/, async_test("Ticket can't be double-assigned ticket to self", function () { return sdk.api.tickets.assign_from_queue({ ticketId: ticket.id }); }, handleAnyError)];
6920
6923
  case 15:
6921
6924
  _a.sent();
6922
- return [4 /*yield*/, async_test("Non-Admin can access ticket after assignment", function () { return sdkNonAdmin.api.tickets.getOne(ticket.id); }, { onResult: function (ticket) { return ticket.owner === sdkNonAdmin.userInfo.id && !ticket.queueId && !!ticket; } })];
6925
+ return [4 /*yield*/, async_test("Non-Admin ticket cannot assign ticket to self when can't access queue", function () { return sdkNonAdmin.api.tickets.assign_from_queue({ ticketId: ticketUnshared.id }); }, handleAnyError)];
6923
6926
  case 16:
6924
6927
  _a.sent();
6925
- return [4 /*yield*/, async_test("Queue caches number of tickets on assignment", function () { return pollForResults(function () { return sdk.api.ticket_queues.getOne(queue.id); }, function (q) { return q.count === 0; }, 50, 10); }, passOnAnyResult)];
6928
+ return [4 /*yield*/, async_test("Non-Admin can access ticket after assignment", function () { return sdkNonAdmin.api.tickets.getOne(ticket.id); }, { onResult: function (ticket) { return ticket.owner === sdkNonAdmin.userInfo.id && !ticket.queueId && !!ticket; } })];
6926
6929
  case 17:
6927
6930
  _a.sent();
6928
- return [4 /*yield*/, async_test("Queue caches number of tickets on assignment", function () { return pollForResults(function () { return sdkNonAdmin.api.endusers.getOne(enduser.id); }, function (e) { var _a; return !!((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.includes(sdkNonAdmin.userInfo.id)); }, 50, 10); }, passOnAnyResult)];
6931
+ return [4 /*yield*/, async_test("Queue caches number of tickets on assignment", function () { return pollForResults(function () { return sdk.api.ticket_queues.getOne(queue.id); }, function (q) { return q.count === 0; }, 50, 10); }, passOnAnyResult)];
6929
6932
  case 18:
6933
+ _a.sent();
6934
+ return [4 /*yield*/, async_test("Added to care team after queue pull", function () { return sdkNonAdmin.api.endusers.getOne(enduser.id); }, { onResult: function (e) { var _a; return !!((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.includes(sdkNonAdmin.userInfo.id)); } })];
6935
+ case 19:
6936
+ _a.sent();
6937
+ return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'ticket to pull without id', queueId: queue.id })];
6938
+ case 20:
6939
+ ticketToPull = _a.sent();
6940
+ return [4 /*yield*/, async_test("Ticket queue general pull", function () { return sdk.api.tickets.assign_from_queue({ queueId: queue.id }); }, { onResult: function (r) { return r.ticket.id === ticketToPull.id; } })];
6941
+ case 21:
6942
+ _a.sent();
6943
+ return [4 /*yield*/, async_test("Ticket queue empty on general pull again", function () { return sdk.api.tickets.assign_from_queue({ queueId: queue.id }); }, { shouldError: true, onError: function (e) { return e.message === "Queue is empty"; } })];
6944
+ case 22:
6930
6945
  _a.sent();
6931
6946
  return [4 /*yield*/, Promise.all([
6932
6947
  sdk.api.ticket_queues.deleteOne(queue.id),
6933
6948
  sdk.api.ticket_queues.deleteOne(queueUnshared.id),
6934
6949
  sdk.api.endusers.deleteOne(enduser.id),
6935
6950
  sdk.api.tickets.deleteOne(ticketUnshared.id),
6951
+ sdk.api.tickets.deleteOne(ticketToPull.id),
6936
6952
  ])];
6937
- case 19:
6953
+ case 23:
6938
6954
  _a.sent();
6939
6955
  return [2 /*return*/];
6940
6956
  }
@@ -6973,6 +6989,7 @@ export var alternate_phones_tests = function () { return __awaiter(void 0, void
6973
6989
  }); };
6974
6990
  var NO_TEST = function () { };
6975
6991
  var tests = {
6992
+ vital_configurations: NO_TEST,
6976
6993
  enduser_encounters: NO_TEST,
6977
6994
  enduser_orders: NO_TEST,
6978
6995
  ticket_queues: NO_TEST,
@@ -7993,7 +8010,7 @@ var sync_tests = function () { return __awaiter(void 0, void 0, void 0, function
7993
8010
  _a.sent();
7994
8011
  return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
7995
8012
  var results = _a.results;
7996
- return results.length === 0;
8013
+ return results.filter(function (e) { return e.modelName === 'endusers' && e.data !== 'deleted'; }).length === 0;
7997
8014
  } })];
7998
8015
  case 8:
7999
8016
  _a.sent();
@@ -8026,7 +8043,7 @@ var sync_tests = function () { return __awaiter(void 0, void 0, void 0, function
8026
8043
  _a.sent();
8027
8044
  return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
8028
8045
  var results = _a.results;
8029
- return results.length === 0;
8046
+ return results.filter(function (e) { return e.modelName === 'endusers' && e.data !== 'deleted'; }).length === 0;
8030
8047
  } })];
8031
8048
  case 14:
8032
8049
  _a.sent();
@@ -8132,7 +8149,7 @@ var sync_tests = function () { return __awaiter(void 0, void 0, void 0, function
8132
8149
  _a.sent();
8133
8150
  return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
8134
8151
  var results = _a.results;
8135
- return results.length === 0;
8152
+ return results.filter(function (e) { return e.modelName === 'endusers' && e.data !== 'deleted'; }).length === 0;
8136
8153
  } })
8137
8154
  // bulk create test coverage
8138
8155
  ];
@@ -8169,7 +8186,7 @@ var sync_tests = function () { return __awaiter(void 0, void 0, void 0, function
8169
8186
  _a.sent();
8170
8187
  return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
8171
8188
  var results = _a.results;
8172
- return results.length === 0;
8189
+ return results.filter(function (e) { return e.modelName === 'endusers' && e.data !== 'deleted'; }).length === 0;
8173
8190
  } })];
8174
8191
  case 41:
8175
8192
  _a.sent();
@@ -8202,7 +8219,7 @@ var sync_tests = function () { return __awaiter(void 0, void 0, void 0, function
8202
8219
  _a.sent();
8203
8220
  return [4 /*yield*/, async_test("Other organization", function () { return sdkOther.sync({ from: from }); }, { onResult: function (_a) {
8204
8221
  var results = _a.results;
8205
- return results.length === 0;
8222
+ return results.filter(function (e) { return e.modelName === 'endusers' && e.data !== 'deleted'; }).length === 0;
8206
8223
  } })];
8207
8224
  case 47:
8208
8225
  _a.sent();
@@ -8274,6 +8291,523 @@ var close_reasons_no_duplicates_tests = function () { return __awaiter(void 0, v
8274
8291
  }
8275
8292
  });
8276
8293
  }); };
8294
+ var vital_trigger_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
8295
+ var runTriggerTest, timestamp_for_day_offset;
8296
+ return __generator(this, function (_a) {
8297
+ switch (_a.label) {
8298
+ case 0:
8299
+ log_header("Vital Update Trigger");
8300
+ runTriggerTest = function (_a) {
8301
+ var _configurations = _a.configurations, _triggers = _a.triggers, shouldTrigger = _a.shouldTrigger, vitals = _a.vitals, title = _a.title;
8302
+ return __awaiter(void 0, void 0, void 0, function () {
8303
+ var e, configurations, triggers;
8304
+ return __generator(this, function (_b) {
8305
+ switch (_b.label) {
8306
+ case 0: return [4 /*yield*/, sdk.api.endusers.createOne({})];
8307
+ case 1:
8308
+ e = _b.sent();
8309
+ return [4 /*yield*/, sdk.api.vital_configurations.createSome(_configurations.map(function (c, i) { return (__assign({ title: "configuration ".concat(i) }, c)); }))];
8310
+ case 2:
8311
+ configurations = (_b.sent()).created;
8312
+ return [4 /*yield*/, sdk.api.automation_triggers.createSome(_triggers.map(function (t, i) { return ({
8313
+ title: "trigger ".concat(i),
8314
+ status: 'Active',
8315
+ event: {
8316
+ type: "Vital Update",
8317
+ info: {
8318
+ classifications: t.classifications,
8319
+ configurationIds: configurations.filter(function (_, i) { return t.configurationIndexes.includes(i); }).map(function (c) { return c.id; }),
8320
+ }
8321
+ },
8322
+ action: {
8323
+ type: 'Add Tags',
8324
+ info: { tags: ['Triggered'] },
8325
+ },
8326
+ }); }))];
8327
+ case 3:
8328
+ triggers = (_b.sent()).created;
8329
+ return [4 /*yield*/, sdk.api.enduser_observations.createSome(vitals.map(function (v) { return (__assign(__assign({}, v), { category: 'vital-signs', enduserId: e.id, status: 'registered' })); }))];
8330
+ case 4:
8331
+ _b.sent();
8332
+ return [4 /*yield*/, async_test(title, function () { return pollForResults(function () { return sdk.api.endusers.getOne(e.id); }, function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes("Triggered")); }, 50, 10, !shouldTrigger); }, passOnAnyResult)];
8333
+ case 5:
8334
+ _b.sent();
8335
+ return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray([
8336
+ sdk.api.endusers.deleteOne(e.id)
8337
+ ], configurations.map(function (c) { return sdk.api.vital_configurations.deleteOne(c.id); }), true), triggers.map(function (t) { return sdk.api.automation_triggers.deleteOne(t.id); }), true))];
8338
+ case 6:
8339
+ _b.sent();
8340
+ return [2 /*return*/];
8341
+ }
8342
+ });
8343
+ });
8344
+ };
8345
+ timestamp_for_day_offset = function (day) { return new Date(Date.now() - 1000 * 60 * 60 * 24 * day); };
8346
+ return [4 /*yield*/, runTriggerTest({
8347
+ title: "Basic Passing Test (Less Than Sucess)",
8348
+ shouldTrigger: true,
8349
+ configurations: [{
8350
+ unit: 'LB',
8351
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 2 }, trendIntervalInMS: 0 },],
8352
+ }],
8353
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8354
+ vitals: [{
8355
+ measurement: { unit: 'LB', value: 1 },
8356
+ timestamp: new Date(),
8357
+ }]
8358
+ })];
8359
+ case 1:
8360
+ _a.sent();
8361
+ return [4 /*yield*/, runTriggerTest({
8362
+ title: "Less Than Fail",
8363
+ shouldTrigger: false,
8364
+ configurations: [{
8365
+ unit: 'LB',
8366
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 1 }, trendIntervalInMS: 0 },],
8367
+ }],
8368
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8369
+ vitals: [{
8370
+ measurement: { unit: 'LB', value: 1 },
8371
+ timestamp: new Date(),
8372
+ }]
8373
+ })];
8374
+ case 2:
8375
+ _a.sent();
8376
+ return [4 /*yield*/, runTriggerTest({
8377
+ title: "Greater Than Success",
8378
+ shouldTrigger: true,
8379
+ configurations: [{
8380
+ unit: 'LB',
8381
+ ranges: [{ classification: 'Target', comparison: { type: 'Greater Than', value: 0 }, trendIntervalInMS: 0 },],
8382
+ }],
8383
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8384
+ vitals: [{
8385
+ measurement: { unit: 'LB', value: 1 },
8386
+ timestamp: new Date(),
8387
+ }]
8388
+ })];
8389
+ case 3:
8390
+ _a.sent();
8391
+ return [4 /*yield*/, runTriggerTest({
8392
+ title: "Greater Than Fail",
8393
+ shouldTrigger: false,
8394
+ configurations: [{
8395
+ unit: 'LB',
8396
+ ranges: [{ classification: 'Target', comparison: { type: 'Greater Than', value: 0 }, trendIntervalInMS: 0 },],
8397
+ }],
8398
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8399
+ vitals: [{
8400
+ measurement: { unit: 'LB', value: 0 },
8401
+ timestamp: new Date(),
8402
+ }]
8403
+ })];
8404
+ case 4:
8405
+ _a.sent();
8406
+ return [4 /*yield*/, runTriggerTest({
8407
+ title: "Between Low Bound",
8408
+ shouldTrigger: true,
8409
+ configurations: [{
8410
+ unit: 'LB',
8411
+ ranges: [{ classification: 'Target', comparison: { type: 'Between', value: { lower: 0, upper: 1 } }, trendIntervalInMS: 0 },],
8412
+ }],
8413
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8414
+ vitals: [{
8415
+ measurement: { unit: 'LB', value: 0 },
8416
+ timestamp: new Date(),
8417
+ }]
8418
+ })];
8419
+ case 5:
8420
+ _a.sent();
8421
+ return [4 /*yield*/, runTriggerTest({
8422
+ title: "Between Upper Bound",
8423
+ shouldTrigger: true,
8424
+ configurations: [{
8425
+ unit: 'LB',
8426
+ ranges: [{ classification: 'Target', comparison: { type: 'Between', value: { lower: 0, upper: 1 } }, trendIntervalInMS: 0 },],
8427
+ }],
8428
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8429
+ vitals: [{
8430
+ measurement: { unit: 'LB', value: 1 },
8431
+ timestamp: new Date(),
8432
+ }]
8433
+ })];
8434
+ case 6:
8435
+ _a.sent();
8436
+ return [4 /*yield*/, runTriggerTest({
8437
+ title: "Between Middle",
8438
+ shouldTrigger: true,
8439
+ configurations: [{
8440
+ unit: 'LB',
8441
+ ranges: [{ classification: 'Target', comparison: { type: 'Between', value: { lower: 0, upper: 2 } }, trendIntervalInMS: 0 },],
8442
+ }],
8443
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8444
+ vitals: [{
8445
+ measurement: { unit: 'LB', value: 1 },
8446
+ timestamp: new Date(),
8447
+ }]
8448
+ })];
8449
+ case 7:
8450
+ _a.sent();
8451
+ return [4 /*yield*/, runTriggerTest({
8452
+ title: "Between Below Low Bound",
8453
+ shouldTrigger: false,
8454
+ configurations: [{
8455
+ unit: 'LB',
8456
+ ranges: [{ classification: 'Target', comparison: { type: 'Between', value: { lower: 0, upper: 1 } }, trendIntervalInMS: 0 },],
8457
+ }],
8458
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8459
+ vitals: [{
8460
+ measurement: { unit: 'LB', value: -1 },
8461
+ timestamp: new Date(),
8462
+ }]
8463
+ })];
8464
+ case 8:
8465
+ _a.sent();
8466
+ return [4 /*yield*/, runTriggerTest({
8467
+ title: "Between Above Upper Bound",
8468
+ shouldTrigger: false,
8469
+ configurations: [{
8470
+ unit: 'LB',
8471
+ ranges: [{ classification: 'Target', comparison: { type: 'Between', value: { lower: 0, upper: 1 } }, trendIntervalInMS: 0 },],
8472
+ }],
8473
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8474
+ vitals: [{
8475
+ measurement: { unit: 'LB', value: 2 },
8476
+ timestamp: new Date(),
8477
+ }]
8478
+ })];
8479
+ case 9:
8480
+ _a.sent();
8481
+ return [4 /*yield*/, runTriggerTest({
8482
+ title: "Mismatch Unit",
8483
+ shouldTrigger: false,
8484
+ configurations: [{
8485
+ unit: 'DIFFERENT',
8486
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 200 }, trendIntervalInMS: 0 },],
8487
+ }],
8488
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8489
+ vitals: [{
8490
+ measurement: { unit: 'LB', value: 1 },
8491
+ timestamp: new Date(),
8492
+ }]
8493
+ })];
8494
+ case 10:
8495
+ _a.sent();
8496
+ return [4 /*yield*/, runTriggerTest({
8497
+ title: "Mismatch Classification",
8498
+ shouldTrigger: false,
8499
+ configurations: [{
8500
+ unit: 'LB',
8501
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 200 }, trendIntervalInMS: 0 },],
8502
+ }],
8503
+ triggers: [{ classifications: ['High'], configurationIndexes: [0] }],
8504
+ vitals: [{
8505
+ measurement: { unit: 'LB', value: 1 },
8506
+ timestamp: new Date(),
8507
+ }]
8508
+ })];
8509
+ case 11:
8510
+ _a.sent();
8511
+ return [4 /*yield*/, runTriggerTest({
8512
+ title: "Multiple Configurations (Classifications)",
8513
+ shouldTrigger: true,
8514
+ configurations: [{
8515
+ unit: 'LB',
8516
+ ranges: [
8517
+ { classification: 'Target', comparison: { type: 'Less Than', value: 200 }, trendIntervalInMS: 0 },
8518
+ { classification: 'High', comparison: { type: 'Less Than', value: 100 }, trendIntervalInMS: 0 },
8519
+ ],
8520
+ }],
8521
+ triggers: [{ classifications: ['High'], configurationIndexes: [0, 1] }],
8522
+ vitals: [{
8523
+ measurement: { unit: 'LB', value: 1 },
8524
+ timestamp: new Date(),
8525
+ }]
8526
+ })];
8527
+ case 12:
8528
+ _a.sent();
8529
+ return [4 /*yield*/, runTriggerTest({
8530
+ title: "Multiple Configurations (Comparisons)",
8531
+ shouldTrigger: true,
8532
+ configurations: [{
8533
+ unit: 'LB',
8534
+ ranges: [
8535
+ { classification: 'Target', comparison: { type: 'Less Than', value: 0 }, trendIntervalInMS: 0 },
8536
+ { classification: 'High', comparison: { type: 'Less Than', value: 100 }, trendIntervalInMS: 0 },
8537
+ ],
8538
+ }],
8539
+ triggers: [{ classifications: ['High'], configurationIndexes: [0, 1] }],
8540
+ vitals: [{
8541
+ measurement: { unit: 'LB', value: 1 },
8542
+ timestamp: new Date(),
8543
+ }]
8544
+ })];
8545
+ case 13:
8546
+ _a.sent();
8547
+ return [4 /*yield*/, runTriggerTest({
8548
+ title: "Multiple vitals, 0 passes",
8549
+ shouldTrigger: false,
8550
+ configurations: [{
8551
+ unit: 'LB',
8552
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 200 }, trendIntervalInMS: 0 },],
8553
+ }],
8554
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8555
+ vitals: [
8556
+ { measurement: { unit: 'LB', value: 500 }, timestamp: new Date() },
8557
+ { measurement: { unit: 'LB', value: 1000 }, timestamp: new Date(Date.now() - 100) },
8558
+ { measurement: { unit: 'LB', value: 250 }, timestamp: new Date(Date.now() - 250) },
8559
+ ]
8560
+ })];
8561
+ case 14:
8562
+ _a.sent();
8563
+ return [4 /*yield*/, runTriggerTest({
8564
+ title: "Multiple vitals, 1 passes",
8565
+ shouldTrigger: true,
8566
+ configurations: [{
8567
+ unit: 'LB',
8568
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 200 }, trendIntervalInMS: 0 },],
8569
+ }],
8570
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8571
+ vitals: [
8572
+ { measurement: { unit: 'LB', value: 500 }, timestamp: new Date() },
8573
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(Date.now() - 100) },
8574
+ { measurement: { unit: 'LB', value: 250 }, timestamp: new Date(Date.now() - 250) },
8575
+ ]
8576
+ })];
8577
+ case 15:
8578
+ _a.sent();
8579
+ return [4 /*yield*/, runTriggerTest({
8580
+ title: "Multiple vitals, multiple pass",
8581
+ shouldTrigger: true,
8582
+ configurations: [{
8583
+ unit: 'LB',
8584
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 200 }, trendIntervalInMS: 0 },],
8585
+ }],
8586
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8587
+ vitals: [
8588
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date() },
8589
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(Date.now() - 100) },
8590
+ { measurement: { unit: 'LB', value: 3 }, timestamp: new Date(Date.now() - 250) },
8591
+ ]
8592
+ })
8593
+ // trend tests
8594
+ ];
8595
+ case 16:
8596
+ _a.sent();
8597
+ // trend tests
8598
+ return [4 /*yield*/, runTriggerTest({
8599
+ title: "Singleton trend should not work",
8600
+ shouldTrigger: false,
8601
+ configurations: [{
8602
+ unit: 'LB',
8603
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 200 }, trendIntervalInMS: 1000 },],
8604
+ }],
8605
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8606
+ vitals: [{
8607
+ measurement: { unit: 'LB', value: 1 },
8608
+ timestamp: new Date(),
8609
+ }]
8610
+ })];
8611
+ case 17:
8612
+ // trend tests
8613
+ _a.sent();
8614
+ return [4 /*yield*/, runTriggerTest({
8615
+ title: "2-point trend passing",
8616
+ shouldTrigger: true,
8617
+ configurations: [{
8618
+ unit: 'LB',
8619
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 1 }, trendIntervalInMS: 1000 },],
8620
+ }],
8621
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8622
+ vitals: [
8623
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date() },
8624
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 999) },
8625
+ ]
8626
+ })];
8627
+ case 18:
8628
+ _a.sent();
8629
+ return [4 /*yield*/, runTriggerTest({
8630
+ title: "2-point trend failing for difference too small",
8631
+ shouldTrigger: true,
8632
+ configurations: [{
8633
+ unit: 'LB',
8634
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 1 }, trendIntervalInMS: 1000 },],
8635
+ }],
8636
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8637
+ vitals: [
8638
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date() },
8639
+ { measurement: { unit: 'LB', value: 0 }, timestamp: new Date(new Date().getTime() - 999) },
8640
+ ]
8641
+ })];
8642
+ case 19:
8643
+ _a.sent();
8644
+ return [4 /*yield*/, runTriggerTest({
8645
+ title: "2-point trend failing for point out of time range",
8646
+ shouldTrigger: false,
8647
+ configurations: [{
8648
+ unit: 'LB',
8649
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 5 }, trendIntervalInMS: 1000 },],
8650
+ }],
8651
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8652
+ vitals: [
8653
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date() },
8654
+ { measurement: { unit: 'LB', value: 0 }, timestamp: new Date(new Date().getTime() - 1001) },
8655
+ ]
8656
+ })];
8657
+ case 20:
8658
+ _a.sent();
8659
+ return [4 /*yield*/, runTriggerTest({
8660
+ title: "3-point trend passing (1 point of out range)",
8661
+ shouldTrigger: true,
8662
+ configurations: [{
8663
+ unit: 'LB',
8664
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 2 }, trendIntervalInMS: 1000 },],
8665
+ }],
8666
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8667
+ vitals: [
8668
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date() },
8669
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 100) },
8670
+ { measurement: { unit: 'LB', value: 0 }, timestamp: new Date(new Date().getTime() - 1001) },
8671
+ ]
8672
+ })];
8673
+ case 21:
8674
+ _a.sent();
8675
+ return [4 /*yield*/, runTriggerTest({
8676
+ title: "3-point trend passing (1 point wrong unit)",
8677
+ shouldTrigger: true,
8678
+ configurations: [{
8679
+ unit: 'LB',
8680
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 2 }, trendIntervalInMS: 1000 },],
8681
+ }],
8682
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8683
+ vitals: [
8684
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date() },
8685
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 100) },
8686
+ { measurement: { unit: 'OTHER', value: 0 }, timestamp: new Date(new Date().getTime() - 200) },
8687
+ ]
8688
+ })];
8689
+ case 22:
8690
+ _a.sent();
8691
+ return [4 /*yield*/, runTriggerTest({
8692
+ title: "3-point trend failing (1 point of out range)",
8693
+ shouldTrigger: false,
8694
+ configurations: [{
8695
+ unit: 'LB',
8696
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 2 }, trendIntervalInMS: 1000 },],
8697
+ }],
8698
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8699
+ vitals: [
8700
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date() },
8701
+ { measurement: { unit: 'LB', value: 0 }, timestamp: new Date(new Date().getTime() - 100) },
8702
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 1001) },
8703
+ ]
8704
+ })];
8705
+ case 23:
8706
+ _a.sent();
8707
+ return [4 /*yield*/, runTriggerTest({
8708
+ title: "3-point trend failing (1 point wrong unit)",
8709
+ shouldTrigger: false,
8710
+ configurations: [{
8711
+ unit: 'LB',
8712
+ ranges: [{ classification: 'Target', comparison: { type: 'Less Than', value: 2 }, trendIntervalInMS: 1000 },],
8713
+ }],
8714
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8715
+ vitals: [
8716
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date() },
8717
+ { measurement: { unit: 'LB', value: 0 }, timestamp: new Date(new Date().getTime() - 100) },
8718
+ { measurement: { unit: 'OTHER', value: 1 }, timestamp: new Date(new Date().getTime() - 200) },
8719
+ ]
8720
+ })];
8721
+ case 24:
8722
+ _a.sent();
8723
+ return [4 /*yield*/, runTriggerTest({
8724
+ title: "multiple trend passing",
8725
+ shouldTrigger: true,
8726
+ configurations: [{
8727
+ unit: 'LB',
8728
+ ranges: [{ classification: 'Target', comparison: { type: 'Greater Than', value: 1 }, trendIntervalInMS: 1000 },],
8729
+ }],
8730
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8731
+ vitals: [
8732
+ { measurement: { unit: 'LB', value: 3 }, timestamp: new Date() },
8733
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(new Date().getTime() - 100) },
8734
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 200) },
8735
+ ]
8736
+ })];
8737
+ case 25:
8738
+ _a.sent();
8739
+ return [4 /*yield*/, runTriggerTest({
8740
+ title: "multiple trend failing (not enough)",
8741
+ shouldTrigger: false,
8742
+ configurations: [{
8743
+ unit: 'LB',
8744
+ ranges: [{ classification: 'Target', comparison: { type: 'Greater Than', value: 1 }, trendIntervalInMS: 1000 },],
8745
+ }],
8746
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8747
+ vitals: [
8748
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date() },
8749
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(new Date().getTime() - 100) },
8750
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 200) },
8751
+ ]
8752
+ })];
8753
+ case 26:
8754
+ _a.sent();
8755
+ return [4 /*yield*/, runTriggerTest({
8756
+ title: "multiple trend failing (wrong order)",
8757
+ shouldTrigger: false,
8758
+ configurations: [{
8759
+ unit: 'LB',
8760
+ ranges: [{ classification: 'Target', comparison: { type: 'Greater Than', value: 1 }, trendIntervalInMS: 1000 },],
8761
+ }],
8762
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8763
+ vitals: [
8764
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date() },
8765
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(new Date().getTime() - 100) },
8766
+ { measurement: { unit: 'LB', value: 3 }, timestamp: new Date(new Date().getTime() - 200) },
8767
+ ]
8768
+ })];
8769
+ case 27:
8770
+ _a.sent();
8771
+ return [4 /*yield*/, runTriggerTest({
8772
+ title: "multiple trend failing (not enough, and wrong order)",
8773
+ shouldTrigger: false,
8774
+ configurations: [{
8775
+ unit: 'LB',
8776
+ ranges: [{ classification: 'Target', comparison: { type: 'Greater Than', value: 1 }, trendIntervalInMS: 1000 },],
8777
+ }],
8778
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8779
+ vitals: [
8780
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date() },
8781
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(new Date().getTime() - 100) },
8782
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(new Date().getTime() - 200) },
8783
+ ]
8784
+ })];
8785
+ case 28:
8786
+ _a.sent();
8787
+ return [4 /*yield*/, runTriggerTest({
8788
+ title: "multiple trend failing (lots)",
8789
+ shouldTrigger: false,
8790
+ configurations: [{
8791
+ unit: 'LB',
8792
+ ranges: [{ classification: 'Target', comparison: { type: 'Greater Than', value: 1 }, trendIntervalInMS: 1000 },],
8793
+ }],
8794
+ triggers: [{ classifications: ['Target'], configurationIndexes: [0] }],
8795
+ vitals: [
8796
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date() },
8797
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(new Date().getTime() - 100) },
8798
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(new Date().getTime() - 200) },
8799
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 300) },
8800
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 400) },
8801
+ { measurement: { unit: 'LB', value: 2 }, timestamp: new Date(new Date().getTime() - 500) },
8802
+ { measurement: { unit: 'LB', value: 1 }, timestamp: new Date(new Date().getTime() - 600) },
8803
+ ]
8804
+ })];
8805
+ case 29:
8806
+ _a.sent();
8807
+ return [2 /*return*/];
8808
+ }
8809
+ });
8810
+ }); };
8277
8811
  (function () { return __awaiter(void 0, void 0, void 0, function () {
8278
8812
  var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _f, _g, _h, err_2;
8279
8813
  var _j, _k;
@@ -8286,7 +8820,7 @@ var close_reasons_no_duplicates_tests = function () { return __awaiter(void 0, v
8286
8820
  _l.sent();
8287
8821
  _l.label = 2;
8288
8822
  case 2:
8289
- _l.trys.push([2, 51, , 52]);
8823
+ _l.trys.push([2, 52, , 53]);
8290
8824
  form_conditional_logic_tests();
8291
8825
  return [4 /*yield*/, test_weighted_round_robin()];
8292
8826
  case 3:
@@ -8328,129 +8862,132 @@ var close_reasons_no_duplicates_tests = function () { return __awaiter(void 0, v
8328
8862
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
8329
8863
  case 11:
8330
8864
  _l.sent(); // should come right after setup tests
8331
- return [4 /*yield*/, close_reasons_no_duplicates_tests()];
8865
+ return [4 /*yield*/, sync_tests()]; // should come directly after setup to avoid extra sync values
8332
8866
  case 12:
8333
- _l.sent();
8334
- return [4 /*yield*/, register_as_enduser_tests()];
8867
+ _l.sent(); // should come directly after setup to avoid extra sync values
8868
+ return [4 /*yield*/, vital_trigger_tests()];
8335
8869
  case 13:
8336
8870
  _l.sent();
8337
- return [4 /*yield*/, sync_tests()];
8871
+ return [4 /*yield*/, ticket_queue_tests()];
8338
8872
  case 14:
8339
8873
  _l.sent();
8340
- return [4 /*yield*/, lockout_tests()];
8874
+ return [4 /*yield*/, close_reasons_no_duplicates_tests()];
8341
8875
  case 15:
8342
8876
  _l.sent();
8343
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
8877
+ return [4 /*yield*/, register_as_enduser_tests()];
8344
8878
  case 16:
8879
+ _l.sent();
8880
+ return [4 /*yield*/, lockout_tests()];
8881
+ case 17:
8882
+ _l.sent();
8883
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
8884
+ case 18:
8345
8885
  _l.sent();
8346
8886
  return [4 /*yield*/, delete_user_tests()
8347
8887
  // await test_send_with_template()
8348
8888
  ];
8349
- case 17:
8889
+ case 19:
8350
8890
  _l.sent();
8351
8891
  // await test_send_with_template()
8352
8892
  return [4 /*yield*/, bulk_read_tests()];
8353
- case 18:
8893
+ case 20:
8354
8894
  // await test_send_with_template()
8355
8895
  _l.sent();
8356
8896
  return [4 /*yield*/, ticket_reminder_tests()];
8357
- case 19:
8358
- _l.sent();
8359
- return [4 /*yield*/, enduser_access_tags_tests()];
8360
- case 20:
8361
- _l.sent();
8362
- return [4 /*yield*/, marketing_email_unsubscribe_tests()];
8363
8897
  case 21:
8364
8898
  _l.sent();
8365
- return [4 /*yield*/, unique_strings_tests()];
8899
+ return [4 /*yield*/, enduser_access_tags_tests()];
8366
8900
  case 22:
8367
8901
  _l.sent();
8368
- return [4 /*yield*/, alternate_phones_tests()];
8902
+ return [4 /*yield*/, marketing_email_unsubscribe_tests()];
8369
8903
  case 23:
8370
8904
  _l.sent();
8371
- return [4 /*yield*/, ticket_queue_tests()];
8905
+ return [4 /*yield*/, unique_strings_tests()];
8372
8906
  case 24:
8373
8907
  _l.sent();
8374
- return [4 /*yield*/, no_chained_triggers_tests()];
8908
+ return [4 /*yield*/, alternate_phones_tests()];
8375
8909
  case 25:
8376
8910
  _l.sent();
8377
- return [4 /*yield*/, field_equals_trigger_tests()];
8911
+ return [4 /*yield*/, no_chained_triggers_tests()];
8378
8912
  case 26:
8379
8913
  _l.sent();
8380
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
8914
+ return [4 /*yield*/, field_equals_trigger_tests()];
8381
8915
  case 27:
8382
8916
  _l.sent();
8383
- return [4 /*yield*/, role_based_access_tests()];
8917
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
8384
8918
  case 28:
8385
8919
  _l.sent();
8386
- return [4 /*yield*/, automation_trigger_tests()];
8920
+ return [4 /*yield*/, role_based_access_tests()];
8387
8921
  case 29:
8388
8922
  _l.sent();
8389
- return [4 /*yield*/, enduser_session_tests()];
8923
+ return [4 /*yield*/, automation_trigger_tests()];
8390
8924
  case 30:
8391
8925
  _l.sent();
8392
- return [4 /*yield*/, nextReminderInMS_tests()];
8926
+ return [4 /*yield*/, enduser_session_tests()];
8393
8927
  case 31:
8394
8928
  _l.sent();
8395
- return [4 /*yield*/, search_tests()];
8929
+ return [4 /*yield*/, nextReminderInMS_tests()];
8396
8930
  case 32:
8397
8931
  _l.sent();
8398
- return [4 /*yield*/, wait_for_trigger_tests()];
8932
+ return [4 /*yield*/, search_tests()];
8399
8933
  case 33:
8400
8934
  _l.sent();
8401
- return [4 /*yield*/, pdf_generation()];
8935
+ return [4 /*yield*/, wait_for_trigger_tests()];
8402
8936
  case 34:
8403
8937
  _l.sent();
8404
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
8938
+ return [4 /*yield*/, pdf_generation()];
8405
8939
  case 35:
8406
8940
  _l.sent();
8407
- return [4 /*yield*/, rate_limit_tests()];
8941
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
8408
8942
  case 36:
8409
8943
  _l.sent();
8410
- return [4 /*yield*/, merge_enduser_tests()];
8944
+ return [4 /*yield*/, rate_limit_tests()];
8411
8945
  case 37:
8412
8946
  _l.sent();
8413
- return [4 /*yield*/, auto_reply_tests()];
8947
+ return [4 /*yield*/, merge_enduser_tests()];
8414
8948
  case 38:
8415
8949
  _l.sent();
8416
- return [4 /*yield*/, sub_organization_enduser_tests()];
8950
+ return [4 /*yield*/, auto_reply_tests()];
8417
8951
  case 39:
8418
8952
  _l.sent();
8419
- return [4 /*yield*/, sub_organization_tests()];
8953
+ return [4 /*yield*/, sub_organization_enduser_tests()];
8420
8954
  case 40:
8421
8955
  _l.sent();
8422
- return [4 /*yield*/, filter_by_date_tests()];
8956
+ return [4 /*yield*/, sub_organization_tests()];
8423
8957
  case 41:
8424
8958
  _l.sent();
8425
- return [4 /*yield*/, generate_user_auth_tests()];
8959
+ return [4 /*yield*/, filter_by_date_tests()];
8426
8960
  case 42:
8427
8961
  _l.sent();
8428
- return [4 /*yield*/, generateEnduserAuthTests()];
8962
+ return [4 /*yield*/, generate_user_auth_tests()];
8429
8963
  case 43:
8430
8964
  _l.sent();
8431
- return [4 /*yield*/, public_form_tests()];
8965
+ return [4 /*yield*/, generateEnduserAuthTests()];
8432
8966
  case 44:
8433
8967
  _l.sent();
8434
- return [4 /*yield*/, badInputTests()];
8968
+ return [4 /*yield*/, public_form_tests()];
8435
8969
  case 45:
8436
8970
  _l.sent();
8437
- return [4 /*yield*/, filterTests()];
8971
+ return [4 /*yield*/, badInputTests()];
8438
8972
  case 46:
8439
8973
  _l.sent();
8440
- return [4 /*yield*/, updatesTests()];
8974
+ return [4 /*yield*/, filterTests()];
8441
8975
  case 47:
8442
8976
  _l.sent();
8443
- return [4 /*yield*/, threadKeyTests()];
8977
+ return [4 /*yield*/, updatesTests()];
8444
8978
  case 48:
8445
8979
  _l.sent();
8446
- return [4 /*yield*/, enduserAccessTests()];
8980
+ return [4 /*yield*/, threadKeyTests()];
8447
8981
  case 49:
8448
8982
  _l.sent();
8449
- return [4 /*yield*/, enduser_redaction_tests()];
8983
+ return [4 /*yield*/, enduserAccessTests()];
8450
8984
  case 50:
8451
8985
  _l.sent();
8452
- return [3 /*break*/, 52];
8986
+ return [4 /*yield*/, enduser_redaction_tests()];
8453
8987
  case 51:
8988
+ _l.sent();
8989
+ return [3 /*break*/, 53];
8990
+ case 52:
8454
8991
  err_1 = _l.sent();
8455
8992
  console.error("Failed during custom test");
8456
8993
  if (err_1.message && err_1.info) {
@@ -8460,18 +8997,18 @@ var close_reasons_no_duplicates_tests = function () { return __awaiter(void 0, v
8460
8997
  console.error(err_1);
8461
8998
  }
8462
8999
  process.exit(1);
8463
- return [3 /*break*/, 52];
8464
- case 52:
9000
+ return [3 /*break*/, 53];
9001
+ case 53:
8465
9002
  _a = schema;
8466
9003
  _b = [];
8467
9004
  for (_c in _a)
8468
9005
  _b.push(_c);
8469
9006
  _i = 0;
8470
- _l.label = 53;
8471
- case 53:
8472
- if (!(_i < _b.length)) return [3 /*break*/, 56];
9007
+ _l.label = 54;
9008
+ case 54:
9009
+ if (!(_i < _b.length)) return [3 /*break*/, 57];
8473
9010
  _c = _b[_i];
8474
- if (!(_c in _a)) return [3 /*break*/, 55];
9011
+ if (!(_c in _a)) return [3 /*break*/, 56];
8475
9012
  n = _c;
8476
9013
  returnValidation = (_k = (_j = schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
8477
9014
  return [4 /*yield*/, run_generated_tests({
@@ -8482,41 +9019,41 @@ var close_reasons_no_duplicates_tests = function () { return __awaiter(void 0, v
8482
9019
  create: returnValidation // ModelFields<ClientModel>,
8483
9020
  }
8484
9021
  })];
8485
- case 54:
8486
- _l.sent();
8487
- _l.label = 55;
8488
9022
  case 55:
8489
- _i++;
8490
- return [3 /*break*/, 53];
9023
+ _l.sent();
9024
+ _l.label = 56;
8491
9025
  case 56:
9026
+ _i++;
9027
+ return [3 /*break*/, 54];
9028
+ case 57:
8492
9029
  _d = tests;
8493
9030
  _f = [];
8494
9031
  for (_g in _d)
8495
9032
  _f.push(_g);
8496
9033
  _h = 0;
8497
- _l.label = 57;
8498
- case 57:
8499
- if (!(_h < _f.length)) return [3 /*break*/, 62];
8500
- _g = _f[_h];
8501
- if (!(_g in _d)) return [3 /*break*/, 61];
8502
- t = _g;
8503
9034
  _l.label = 58;
8504
9035
  case 58:
8505
- _l.trys.push([58, 60, , 61]);
8506
- return [4 /*yield*/, tests[t]()];
9036
+ if (!(_h < _f.length)) return [3 /*break*/, 63];
9037
+ _g = _f[_h];
9038
+ if (!(_g in _d)) return [3 /*break*/, 62];
9039
+ t = _g;
9040
+ _l.label = 59;
8507
9041
  case 59:
8508
- _l.sent();
8509
- return [3 /*break*/, 61];
9042
+ _l.trys.push([59, 61, , 62]);
9043
+ return [4 /*yield*/, tests[t]()];
8510
9044
  case 60:
9045
+ _l.sent();
9046
+ return [3 /*break*/, 62];
9047
+ case 61:
8511
9048
  err_2 = _l.sent();
8512
9049
  console.error("Error running test:");
8513
9050
  console.error(err_2);
8514
9051
  process.exit(1);
8515
- return [3 /*break*/, 61];
8516
- case 61:
8517
- _h++;
8518
- return [3 /*break*/, 57];
9052
+ return [3 /*break*/, 62];
8519
9053
  case 62:
9054
+ _h++;
9055
+ return [3 /*break*/, 58];
9056
+ case 63:
8520
9057
  process.exit();
8521
9058
  return [2 /*return*/];
8522
9059
  }