@tellescope/sdk 1.69.5 → 1.70.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.
@@ -7247,35 +7247,121 @@ var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, v
7247
7247
  _a.sent();
7248
7248
  return [4 /*yield*/, (0, testing_1.async_test)("tickets filter enduser invalid", function () { return sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id } }); }, {
7249
7249
  onResult: function (r) { return r.length === 0; }
7250
- })
7250
+ })];
7251
+ case 47:
7252
+ _a.sent();
7253
+ return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can't update tags", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: ['new tag'] }); }, handleAnyError)];
7254
+ case 48:
7255
+ _a.sent();
7256
+ return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can't update tags (with other updates)", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: ['new tag'], bio: '' }); }, handleAnyError)];
7257
+ case 49:
7258
+ _a.sent();
7259
+ return [4 /*yield*/, (0, testing_1.async_test)("Non-admin can update other fields", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { bio: '' }); }, passOnAnyResult)
7251
7260
  // cleanup
7252
7261
  ];
7253
- case 47:
7262
+ case 50:
7254
7263
  _a.sent();
7255
7264
  // cleanup
7256
7265
  return [4 /*yield*/, sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
7257
7266
  settings: { endusers: { enableAccessTags: false } }
7258
7267
  })];
7259
- case 48:
7268
+ case 51:
7260
7269
  // cleanup
7261
7270
  _a.sent();
7262
7271
  return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [] }, { replaceObjectFields: true })];
7263
- case 49:
7272
+ case 52:
7264
7273
  _a.sent();
7265
7274
  return [4 /*yield*/, sdkNonAdmin.refresh_session()];
7266
- case 50:
7275
+ case 53:
7267
7276
  _a.sent();
7268
7277
  return [4 /*yield*/, Promise.all([
7269
7278
  sdk.api.endusers.deleteOne(matchEnduser.id),
7270
7279
  sdk.api.endusers.deleteOne(matchMultiTagEnduser.id),
7271
7280
  sdk.api.endusers.deleteOne(dontMatchEnduser.id),
7272
7281
  ])];
7273
- case 51:
7282
+ case 54:
7274
7283
  _a.sent();
7275
7284
  return [2 /*return*/];
7276
7285
  }
7277
7286
  });
7278
7287
  }); };
7288
+ var unique_strings_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
7289
+ var e;
7290
+ return __generator(this, function (_a) {
7291
+ switch (_a.label) {
7292
+ case 0:
7293
+ (0, testing_1.log_header)("unique_strings test");
7294
+ return [4 /*yield*/, sdk.api.endusers.createOne({ assignedTo: ['1', '2', '2', '1', '3'] })];
7295
+ case 1:
7296
+ e = _a.sent();
7297
+ return [4 /*yield*/, (0, testing_1.async_test)("Duplicate care team assignments are prevented", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 3 && e.assignedTo.includes('1') && e.assignedTo.includes('2') && e.assignedTo.includes('3'); } })
7298
+ // attempt to push duplicates of each
7299
+ ];
7300
+ case 2:
7301
+ _a.sent();
7302
+ // attempt to push duplicates of each
7303
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: ['1', '2', '3'] }, { replaceObjectFields: false })];
7304
+ case 3:
7305
+ // attempt to push duplicates of each
7306
+ _a.sent();
7307
+ return [4 /*yield*/, (0, testing_1.async_test)("Duplicate care team assignments are prevented (update)", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 3 && e.assignedTo.includes('1') && e.assignedTo.includes('2') && e.assignedTo.includes('3'); } })
7308
+ // validate setting empty is allowed
7309
+ ];
7310
+ case 4:
7311
+ _a.sent();
7312
+ // validate setting empty is allowed
7313
+ return [4 /*yield*/, (0, testing_1.async_test)("Setting empty is still allowed", function () { return sdk.api.endusers.updateOne(e.id, { assignedTo: [] }, { replaceObjectFields: true }); }, passOnAnyResult)];
7314
+ case 5:
7315
+ // validate setting empty is allowed
7316
+ _a.sent();
7317
+ return [4 /*yield*/, Promise.all([
7318
+ sdk.api.endusers.deleteOne(e.id),
7319
+ ])];
7320
+ case 6: return [2 /*return*/, _a.sent()];
7321
+ }
7322
+ });
7323
+ }); };
7324
+ var marketing_email_unsubscribe_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
7325
+ var e;
7326
+ return __generator(this, function (_a) {
7327
+ switch (_a.label) {
7328
+ case 0:
7329
+ (0, testing_1.log_header)("marketing_email_unsubscribe_tests");
7330
+ return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'test@tellescope.com' })];
7331
+ case 1:
7332
+ e = _a.sent();
7333
+ return [4 /*yield*/, (0, testing_1.async_test)("Non-marketing email good", function () { return sdk.api.emails.createOne({ logOnly: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }); }, passOnAnyResult)];
7334
+ case 2:
7335
+ _a.sent();
7336
+ return [4 /*yield*/, (0, testing_1.async_test)("Marketing email good when subscribed", function () { return sdk.api.emails.createOne({ logOnly: true, isMarketing: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }); }, passOnAnyResult)
7337
+ // attempt to push duplicates of each
7338
+ ];
7339
+ case 3:
7340
+ _a.sent();
7341
+ // attempt to push duplicates of each
7342
+ return [4 /*yield*/, sdk.GET('/v1/unsubscribe', { enduserId: e.id })];
7343
+ case 4:
7344
+ // attempt to push duplicates of each
7345
+ _a.sent();
7346
+ return [4 /*yield*/, (0, testing_1.async_test)("GET /v1/unsubscribe works", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) { return e.unsubscribedFromMarketing === true; } })];
7347
+ case 5:
7348
+ _a.sent();
7349
+ return [4 /*yield*/, (0, testing_1.async_test)("Non-marketing email good", function () { return sdk.api.emails.createOne({ logOnly: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }); }, passOnAnyResult)];
7350
+ case 6:
7351
+ _a.sent();
7352
+ return [4 /*yield*/, (0, testing_1.async_test)("Marketing email bad when unsubscribed", function () { return sdk.api.emails.createOne({ logOnly: true, isMarketing: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }); }, handleAnyError)];
7353
+ case 7:
7354
+ _a.sent();
7355
+ return [4 /*yield*/, (0, testing_1.async_test)("Marketing email bad when unsubscribed (bulk)", function () { return sdk.api.emails.createSome([{ logOnly: true, isMarketing: true, subject: '', enduserId: e.id, textContent: '', HTMLContent: '' }]); }, handleAnyError)];
7356
+ case 8:
7357
+ _a.sent();
7358
+ return [4 /*yield*/, Promise.all([
7359
+ sdk.api.endusers.deleteOne(e.id),
7360
+ ])];
7361
+ case 9: return [2 /*return*/, _a.sent()];
7362
+ }
7363
+ });
7364
+ }); };
7279
7365
  (function () { return __awaiter(void 0, void 0, void 0, function () {
7280
7366
  var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
7281
7367
  var _h, _j;
@@ -7288,7 +7374,7 @@ var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, v
7288
7374
  _k.sent();
7289
7375
  _k.label = 2;
7290
7376
  case 2:
7291
- _k.trys.push([2, 41, , 42]);
7377
+ _k.trys.push([2, 43, , 44]);
7292
7378
  return [4 /*yield*/, test_weighted_round_robin()];
7293
7379
  case 3:
7294
7380
  _k.sent();
@@ -7325,98 +7411,104 @@ var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, v
7325
7411
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
7326
7412
  case 10:
7327
7413
  _k.sent(); // should come right after setup tests
7328
- return [4 /*yield*/, enduser_access_tags_tests()];
7414
+ return [4 /*yield*/, marketing_email_unsubscribe_tests()];
7329
7415
  case 11:
7330
7416
  _k.sent();
7331
- return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
7417
+ return [4 /*yield*/, unique_strings_tests()];
7332
7418
  case 12:
7333
7419
  _k.sent();
7334
- return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
7420
+ return [4 /*yield*/, enduser_access_tags_tests()];
7335
7421
  case 13:
7336
7422
  _k.sent();
7337
- return [4 /*yield*/, (0, exports.ticket_queue_tests)()];
7423
+ return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
7338
7424
  case 14:
7339
7425
  _k.sent();
7340
- return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
7426
+ return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
7341
7427
  case 15:
7342
7428
  _k.sent();
7343
- return [4 /*yield*/, field_equals_trigger_tests()];
7429
+ return [4 /*yield*/, (0, exports.ticket_queue_tests)()];
7344
7430
  case 16:
7345
7431
  _k.sent();
7346
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
7432
+ return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
7347
7433
  case 17:
7348
7434
  _k.sent();
7349
- return [4 /*yield*/, role_based_access_tests()];
7435
+ return [4 /*yield*/, field_equals_trigger_tests()];
7350
7436
  case 18:
7351
7437
  _k.sent();
7352
- return [4 /*yield*/, automation_trigger_tests()];
7438
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
7353
7439
  case 19:
7354
7440
  _k.sent();
7355
- return [4 /*yield*/, enduser_session_tests()];
7441
+ return [4 /*yield*/, role_based_access_tests()];
7356
7442
  case 20:
7357
7443
  _k.sent();
7358
- return [4 /*yield*/, nextReminderInMS_tests()];
7444
+ return [4 /*yield*/, automation_trigger_tests()];
7359
7445
  case 21:
7360
7446
  _k.sent();
7361
- return [4 /*yield*/, search_tests()];
7447
+ return [4 /*yield*/, enduser_session_tests()];
7362
7448
  case 22:
7363
7449
  _k.sent();
7364
- return [4 /*yield*/, wait_for_trigger_tests()];
7450
+ return [4 /*yield*/, nextReminderInMS_tests()];
7365
7451
  case 23:
7366
7452
  _k.sent();
7367
- return [4 /*yield*/, pdf_generation()];
7453
+ return [4 /*yield*/, search_tests()];
7368
7454
  case 24:
7369
7455
  _k.sent();
7370
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
7456
+ return [4 /*yield*/, wait_for_trigger_tests()];
7371
7457
  case 25:
7372
7458
  _k.sent();
7373
- return [4 /*yield*/, rate_limit_tests()];
7459
+ return [4 /*yield*/, pdf_generation()];
7374
7460
  case 26:
7375
7461
  _k.sent();
7376
- return [4 /*yield*/, merge_enduser_tests()];
7462
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
7377
7463
  case 27:
7378
7464
  _k.sent();
7379
- return [4 /*yield*/, auto_reply_tests()];
7465
+ return [4 /*yield*/, rate_limit_tests()];
7380
7466
  case 28:
7381
7467
  _k.sent();
7382
- return [4 /*yield*/, sub_organization_enduser_tests()];
7468
+ return [4 /*yield*/, merge_enduser_tests()];
7383
7469
  case 29:
7384
7470
  _k.sent();
7385
- return [4 /*yield*/, sub_organization_tests()];
7471
+ return [4 /*yield*/, auto_reply_tests()];
7386
7472
  case 30:
7387
7473
  _k.sent();
7388
- return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
7474
+ return [4 /*yield*/, sub_organization_enduser_tests()];
7389
7475
  case 31:
7390
7476
  _k.sent();
7391
- return [4 /*yield*/, generate_user_auth_tests()];
7477
+ return [4 /*yield*/, sub_organization_tests()];
7392
7478
  case 32:
7393
7479
  _k.sent();
7394
- return [4 /*yield*/, generateEnduserAuthTests()];
7480
+ return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
7395
7481
  case 33:
7396
7482
  _k.sent();
7397
- return [4 /*yield*/, public_form_tests()];
7483
+ return [4 /*yield*/, generate_user_auth_tests()];
7398
7484
  case 34:
7399
7485
  _k.sent();
7400
- return [4 /*yield*/, badInputTests()];
7486
+ return [4 /*yield*/, generateEnduserAuthTests()];
7401
7487
  case 35:
7402
7488
  _k.sent();
7403
- return [4 /*yield*/, filterTests()];
7489
+ return [4 /*yield*/, public_form_tests()];
7404
7490
  case 36:
7405
7491
  _k.sent();
7406
- return [4 /*yield*/, updatesTests()];
7492
+ return [4 /*yield*/, badInputTests()];
7407
7493
  case 37:
7408
7494
  _k.sent();
7409
- return [4 /*yield*/, threadKeyTests()];
7495
+ return [4 /*yield*/, filterTests()];
7410
7496
  case 38:
7411
7497
  _k.sent();
7412
- return [4 /*yield*/, enduserAccessTests()];
7498
+ return [4 /*yield*/, updatesTests()];
7413
7499
  case 39:
7414
7500
  _k.sent();
7415
- return [4 /*yield*/, enduser_redaction_tests()];
7501
+ return [4 /*yield*/, threadKeyTests()];
7416
7502
  case 40:
7417
7503
  _k.sent();
7418
- return [3 /*break*/, 42];
7504
+ return [4 /*yield*/, enduserAccessTests()];
7419
7505
  case 41:
7506
+ _k.sent();
7507
+ return [4 /*yield*/, enduser_redaction_tests()];
7508
+ case 42:
7509
+ _k.sent();
7510
+ return [3 /*break*/, 44];
7511
+ case 43:
7420
7512
  err_1 = _k.sent();
7421
7513
  console.error("Failed during custom test");
7422
7514
  if (err_1.message && err_1.info) {
@@ -7426,18 +7518,18 @@ var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, v
7426
7518
  console.error(err_1);
7427
7519
  }
7428
7520
  process.exit(1);
7429
- return [3 /*break*/, 42];
7430
- case 42:
7521
+ return [3 /*break*/, 44];
7522
+ case 44:
7431
7523
  _a = schema_1.schema;
7432
7524
  _b = [];
7433
7525
  for (_c in _a)
7434
7526
  _b.push(_c);
7435
7527
  _i = 0;
7436
- _k.label = 43;
7437
- case 43:
7438
- if (!(_i < _b.length)) return [3 /*break*/, 46];
7528
+ _k.label = 45;
7529
+ case 45:
7530
+ if (!(_i < _b.length)) return [3 /*break*/, 48];
7439
7531
  _c = _b[_i];
7440
- if (!(_c in _a)) return [3 /*break*/, 45];
7532
+ if (!(_c in _a)) return [3 /*break*/, 47];
7441
7533
  n = _c;
7442
7534
  returnValidation = (_j = (_h = schema_1.schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
7443
7535
  return [4 /*yield*/, run_generated_tests({
@@ -7448,41 +7540,41 @@ var enduser_access_tags_tests = function () { return __awaiter(void 0, void 0, v
7448
7540
  create: returnValidation // ModelFields<ClientModel>,
7449
7541
  }
7450
7542
  })];
7451
- case 44:
7543
+ case 46:
7452
7544
  _k.sent();
7453
- _k.label = 45;
7454
- case 45:
7545
+ _k.label = 47;
7546
+ case 47:
7455
7547
  _i++;
7456
- return [3 /*break*/, 43];
7457
- case 46:
7548
+ return [3 /*break*/, 45];
7549
+ case 48:
7458
7550
  _d = tests;
7459
7551
  _e = [];
7460
7552
  for (_f in _d)
7461
7553
  _e.push(_f);
7462
7554
  _g = 0;
7463
- _k.label = 47;
7464
- case 47:
7465
- if (!(_g < _e.length)) return [3 /*break*/, 52];
7555
+ _k.label = 49;
7556
+ case 49:
7557
+ if (!(_g < _e.length)) return [3 /*break*/, 54];
7466
7558
  _f = _e[_g];
7467
- if (!(_f in _d)) return [3 /*break*/, 51];
7559
+ if (!(_f in _d)) return [3 /*break*/, 53];
7468
7560
  t = _f;
7469
- _k.label = 48;
7470
- case 48:
7471
- _k.trys.push([48, 50, , 51]);
7561
+ _k.label = 50;
7562
+ case 50:
7563
+ _k.trys.push([50, 52, , 53]);
7472
7564
  return [4 /*yield*/, tests[t]()];
7473
- case 49:
7565
+ case 51:
7474
7566
  _k.sent();
7475
- return [3 /*break*/, 51];
7476
- case 50:
7567
+ return [3 /*break*/, 53];
7568
+ case 52:
7477
7569
  err_2 = _k.sent();
7478
7570
  console.error("Error running test:");
7479
7571
  console.error(err_2);
7480
7572
  process.exit(1);
7481
- return [3 /*break*/, 51];
7482
- case 51:
7573
+ return [3 /*break*/, 53];
7574
+ case 53:
7483
7575
  _g++;
7484
- return [3 /*break*/, 47];
7485
- case 52:
7576
+ return [3 /*break*/, 49];
7577
+ case 54:
7486
7578
  process.exit();
7487
7579
  return [2 /*return*/];
7488
7580
  }