@tellescope/sdk 1.200.2 → 1.202.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.
@@ -8539,23 +8539,23 @@ export var formsort_tests = function () { return __awaiter(void 0, void 0, void
8539
8539
  case 1:
8540
8540
  form = _a.sent();
8541
8541
  postToFormsort = function (_a) { return __awaiter(void 0, void 0, void 0, function () {
8542
- var _b = _a.matchByName, matchByName = _b === void 0 ? false : _b, o = __rest(_a, ["matchByName"]);
8543
- return __generator(this, function (_c) {
8544
- switch (_c.label) {
8545
- case 0: return [4 /*yield*/, axios.post("".concat(host, "/v1/webhooks/formsort/9d4f9dff00f60df2690a16da2cb848f289b447614ad9bef850e54af09a1fbf7a?formId=").concat(form.id, "&matchByName=").concat(matchByName), o)];
8542
+ var _b = _a.matchByName, matchByName = _b === void 0 ? false : _b, _c = _a.createNewEnduser, createNewEnduser = _c === void 0 ? false : _c, o = __rest(_a, ["matchByName", "createNewEnduser"]);
8543
+ return __generator(this, function (_d) {
8544
+ switch (_d.label) {
8545
+ case 0: return [4 /*yield*/, axios.post("".concat(host, "/v1/webhooks/formsort/9d4f9dff00f60df2690a16da2cb848f289b447614ad9bef850e54af09a1fbf7a?formId=").concat(form.id, "&matchByName=").concat(matchByName, "&createNewEnduser=").concat(createNewEnduser), o)];
8546
8546
  case 1:
8547
- _c.sent();
8547
+ _d.sent();
8548
8548
  return [2 /*return*/];
8549
8549
  }
8550
8550
  });
8551
8551
  }); };
8552
8552
  postToFormsortGeneric = function (_a) { return __awaiter(void 0, void 0, void 0, function () {
8553
- var _b = _a.matchByName, matchByName = _b === void 0 ? false : _b, o = __rest(_a, ["matchByName"]);
8554
- return __generator(this, function (_c) {
8555
- switch (_c.label) {
8556
- case 0: return [4 /*yield*/, axios.post("".concat(host, "/v1/webhooks/form-ingestion/9d4f9dff00f60df2690a16da2cb848f289b447614ad9bef850e54af09a1fbf7a?formId=").concat(form.id, "&matchByName=").concat(matchByName), o)];
8553
+ var _b = _a.matchByName, matchByName = _b === void 0 ? false : _b, _c = _a.createNewEnduser, createNewEnduser = _c === void 0 ? false : _c, o = __rest(_a, ["matchByName", "createNewEnduser"]);
8554
+ return __generator(this, function (_d) {
8555
+ switch (_d.label) {
8556
+ case 0: return [4 /*yield*/, axios.post("".concat(host, "/v1/webhooks/form-ingestion/9d4f9dff00f60df2690a16da2cb848f289b447614ad9bef850e54af09a1fbf7a?formId=").concat(form.id, "&matchByName=").concat(matchByName, "&createNewEnduser=").concat(createNewEnduser), o)];
8557
8557
  case 1:
8558
- _c.sent();
8558
+ _d.sent();
8559
8559
  return [2 /*return*/];
8560
8560
  }
8561
8561
  });
@@ -8962,19 +8962,56 @@ export var formsort_tests = function () { return __awaiter(void 0, void 0, void
8962
8962
  }
8963
8963
  return true;
8964
8964
  }
8965
+ })];
8966
+ case 35:
8967
+ // EXISTING ENDUSER FIELDS ARE CURRENTLY ONLY UPDATED ON SUBMISSION
8968
+ _a.sent();
8969
+ return [4 /*yield*/, postToFormsort({ answers: [emailAnswer], responder_uuid: "createNewEnduser", finalized: false, createNewEnduser: true })];
8970
+ case 36:
8971
+ _a.sent();
8972
+ return [4 /*yield*/, async_test("new enduser and form response created (1)", sdk.api.form_responses.getSome, { onResult: function (r) { return r.length === 7; } })];
8973
+ case 37:
8974
+ _a.sent();
8975
+ return [4 /*yield*/, async_test("new enduser and form response created (1)", sdk.api.endusers.getSome, { onResult: function (r) { return r.length === 5; } })];
8976
+ case 38:
8977
+ _a.sent();
8978
+ return [4 /*yield*/, postToFormsort({ answers: [emailAnswer], responder_uuid: "createNewEnduser", finalized: false, createNewEnduser: true })];
8979
+ case 39:
8980
+ _a.sent();
8981
+ return [4 /*yield*/, async_test("new enduser and form response created (2)", sdk.api.form_responses.getSome, {
8982
+ onResult: function (r) { return r.length === 8 && r.filter(function (e) { return e.externalId === 'createNewEnduser'; }).length === 2; }
8983
+ })];
8984
+ case 40:
8985
+ _a.sent();
8986
+ return [4 /*yield*/, async_test("new enduser and form response created (2)", sdk.api.endusers.getSome, {
8987
+ onResult: function (r) { return r.length === 6 && r.filter(function (e) { return e.externalId === 'createNewEnduser'; }).length === 2; }
8988
+ })];
8989
+ case 41:
8990
+ _a.sent();
8991
+ return [4 /*yield*/, postToFormsort({ answers: [emailAnswer], responder_uuid: "createNewEnduser", finalized: true, createNewEnduser: true })];
8992
+ case 42:
8993
+ _a.sent();
8994
+ return [4 /*yield*/, async_test("new enduser and form response created (3, finalized)", sdk.api.form_responses.getSome, {
8995
+ onResult: function (r) { return r.length === 9 && r.filter(function (e) { return e.externalId === 'createNewEnduser'; }).length === 3; }
8996
+ })];
8997
+ case 43:
8998
+ _a.sent();
8999
+ return [4 /*yield*/, async_test("new enduser and form response created (3, finalized)", sdk.api.endusers.getSome, {
9000
+ onResult: function (r) { return r.length === 7
9001
+ && r.filter(function (e) { return e.externalId === 'createNewEnduser'; }).length === 3
9002
+ && r.filter(function (e) { return e.externalId === 'createNewEnduser' && e.email === emailAnswer.value; }).length === 1; } // email set on finalized
8965
9003
  })
8966
9004
  // cleanup
8967
9005
  ];
8968
- case 35:
8969
- // EXISTING ENDUSER FIELDS ARE CURRENTLY ONLY UPDATED ON SUBMISSION
9006
+ case 44:
8970
9007
  _a.sent();
8971
9008
  return [4 /*yield*/, sdk.api.endusers.getSome()];
8972
- case 36:
9009
+ case 45:
8973
9010
  endusers = _a.sent();
8974
9011
  return [4 /*yield*/, Promise.all(__spreadArray([
8975
9012
  sdk.api.forms.deleteOne(form.id)
8976
9013
  ], endusers.map(function (e) { return sdk.api.endusers.deleteOne(e.id); }), true))];
8977
- case 37:
9014
+ case 46:
8978
9015
  _a.sent();
8979
9016
  return [2 /*return*/];
8980
9017
  }
@@ -12097,7 +12134,7 @@ var test_form_response_search = function () { return __awaiter(void 0, void 0, v
12097
12134
  });
12098
12135
  }); };
12099
12136
  var get_templated_message_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
12100
- var enduser, related;
12137
+ var enduser, related, form;
12101
12138
  return __generator(this, function (_a) {
12102
12139
  switch (_a.label) {
12103
12140
  case 0:
@@ -12108,6 +12145,9 @@ var get_templated_message_tests = function () { return __awaiter(void 0, void 0,
12108
12145
  return [4 /*yield*/, sdk.api.endusers.createOne({ lname: "Related", fields: { OtherCustomField: "Contact" } })];
12109
12146
  case 2:
12110
12147
  related = _a.sent();
12148
+ return [4 /*yield*/, sdk.api.forms.createOne({ title: 'test form for templated message' })];
12149
+ case 3:
12150
+ form = _a.sent();
12111
12151
  return [4 /*yield*/, async_test("Fields are templated correctly for enduser and relatedcontact", function () { return sdk.api.templates.get_templated_message({
12112
12152
  enduserId: enduser.id,
12113
12153
  relatedContactId: related.id,
@@ -12116,7 +12156,7 @@ var get_templated_message_tests = function () { return __awaiter(void 0, void 0,
12116
12156
  userId: sdk.userInfo.id,
12117
12157
  }); }, { onResult: function (r) { return r.plaintext === "Hello MainMainEnduserRelatedContact goodbye"; }
12118
12158
  })];
12119
- case 3:
12159
+ case 4:
12120
12160
  _a.sent();
12121
12161
  return [4 /*yield*/, async_test("{{organization.name}}", function () { return sdk.api.templates.get_templated_message({
12122
12162
  enduserId: enduser.id,
@@ -12126,13 +12166,70 @@ var get_templated_message_tests = function () { return __awaiter(void 0, void 0,
12126
12166
  userId: sdk.userInfo.id,
12127
12167
  }); }, { onResult: function (r) { return r.plaintext === "Tellescope"; }
12128
12168
  })];
12129
- case 4:
12169
+ case 5:
12170
+ _a.sent();
12171
+ return [4 /*yield*/, async_test("Unformatted link", function () { return sdk.api.templates.get_templated_message({
12172
+ enduserId: enduser.id,
12173
+ channel: 'Email',
12174
+ message: "https://www.tellescope.com",
12175
+ html: "https://www.tellescope.com",
12176
+ userId: sdk.userInfo.id,
12177
+ }); }, {
12178
+ onResult: function (r) { return (r.plaintext === 'https://www.tellescope.com'
12179
+ && r.html === 'https://www.tellescope.com'); }
12180
+ })];
12181
+ case 6:
12182
+ _a.sent();
12183
+ return [4 /*yield*/, async_test("link format", function () { return sdk.api.templates.get_templated_message({
12184
+ enduserId: enduser.id,
12185
+ channel: 'Email',
12186
+ message: "{https://www.tellescope.com}[click here]",
12187
+ html: "{https://www.tellescope.com}[click here]",
12188
+ userId: sdk.userInfo.id,
12189
+ }); }, { onResult: function (r) { return (r.plaintext.includes('/r/') && r.plaintext.includes('click here')
12190
+ && r.html.includes('/r/') && r.html.includes('<a') && r.html.includes('click here') && r.html.includes("</a>")); }
12191
+ })];
12192
+ case 7:
12193
+ _a.sent();
12194
+ return [4 /*yield*/, async_test("plain $LINK_ONLY", function () { return sdk.api.templates.get_templated_message({
12195
+ enduserId: enduser.id,
12196
+ channel: 'Email',
12197
+ message: "{https://www.tellescope.com}[$LINK_ONLY]",
12198
+ html: "{https://www.tellescope.com}[$LINK_ONLY]",
12199
+ userId: sdk.userInfo.id,
12200
+ }); }, { onResult: function (r) { return (r.plaintext.includes('/r/') && !r.plaintext.includes('$LINK_ONLY')
12201
+ && r.html.includes('/r/') && !r.html.includes('$LINK_ONLY')); }
12202
+ })];
12203
+ case 8:
12204
+ _a.sent();
12205
+ return [4 /*yield*/, async_test("form link", function () { return sdk.api.templates.get_templated_message({
12206
+ enduserId: enduser.id,
12207
+ channel: 'Email',
12208
+ message: "{{forms.".concat(form.id, ".link:click here}}"),
12209
+ html: "{{forms.".concat(form.id, ".link:click here}}"),
12210
+ userId: sdk.userInfo.id,
12211
+ }); }, { onResult: function (r) { return (r.plaintext.includes('/r/') && r.plaintext.includes('click here')
12212
+ && r.html.includes('/r/') && r.html.includes('<a') && r.html.includes('click here') && r.html.includes("</a>")); }
12213
+ })];
12214
+ case 9:
12215
+ _a.sent();
12216
+ return [4 /*yield*/, async_test("form $LINK_ONLY", function () { return sdk.api.templates.get_templated_message({
12217
+ enduserId: enduser.id,
12218
+ channel: 'Email',
12219
+ message: "{{forms.".concat(form.id, ".link:$LINK_ONLY}}"),
12220
+ html: "{{forms.".concat(form.id, ".link:$LINK_ONLY}}"),
12221
+ userId: sdk.userInfo.id,
12222
+ }); }, { onResult: function (r) { return (r.plaintext.includes('/r/') && !r.plaintext.includes('$LINK_ONLY')
12223
+ && r.html.includes('/r/') && !r.html.includes('$LINK_ONLY')); }
12224
+ })];
12225
+ case 10:
12130
12226
  _a.sent();
12131
12227
  return [4 /*yield*/, Promise.all([
12132
12228
  sdk.api.endusers.deleteOne(enduser.id),
12133
12229
  sdk.api.endusers.deleteOne(related.id),
12230
+ sdk.api.forms.deleteOne(form.id),
12134
12231
  ])];
12135
- case 5:
12232
+ case 11:
12136
12233
  _a.sent();
12137
12234
  return [2 /*return*/];
12138
12235
  }
@@ -12254,6 +12351,574 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12254
12351
  }
12255
12352
  });
12256
12353
  }); };
12354
+ var inbox_loading_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
12355
+ var e, email, sms, groupMMS, call, thread, comment, room, noAccessRole, roleTestUserEmail, roleTestUser, _a, sdkNoAccess, _b, defaultAccessRole, sdkDefaultAccess, _c;
12356
+ var _d, _f;
12357
+ return __generator(this, function (_g) {
12358
+ switch (_g.label) {
12359
+ case 0:
12360
+ log_header("Inbox Loading Tests");
12361
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Test', lname: 'Testson' })];
12362
+ case 1:
12363
+ e = _g.sent();
12364
+ return [4 /*yield*/, sdk.api.emails.createOne({
12365
+ logOnly: true,
12366
+ subject: 'Test Email',
12367
+ enduserId: e.id,
12368
+ textContent: 'This is a test email',
12369
+ inbound: true,
12370
+ userId: sdk.userInfo.id,
12371
+ })];
12372
+ case 2:
12373
+ email = _g.sent();
12374
+ return [4 /*yield*/, sdk.api.sms_messages.createOne({
12375
+ logOnly: true,
12376
+ inbound: true,
12377
+ enduserId: e.id,
12378
+ message: 'This is a test SMS',
12379
+ userId: sdk.userInfo.id,
12380
+ })];
12381
+ case 3:
12382
+ sms = _g.sent();
12383
+ return [4 /*yield*/, sdk.api.group_mms_conversations.createOne({
12384
+ enduserIds: [e.id],
12385
+ userIds: [sdk.userInfo.id],
12386
+ userStates: [],
12387
+ })];
12388
+ case 4:
12389
+ groupMMS = _g.sent();
12390
+ return [4 /*yield*/, sdk.api.phone_calls.createOne({ enduserId: e.id, inbound: true, userId: sdk.userInfo.id })];
12391
+ case 5:
12392
+ call = _g.sent();
12393
+ return [4 /*yield*/, sdk.api.ticket_threads.createOne({ enduserId: e.id, subject: 'test thread' })];
12394
+ case 6:
12395
+ thread = _g.sent();
12396
+ return [4 /*yield*/, sdk.api.ticket_thread_comments.createOne({
12397
+ enduserId: e.id,
12398
+ html: '',
12399
+ inbound: false,
12400
+ plaintext: '',
12401
+ public: false,
12402
+ ticketThreadId: thread.id,
12403
+ userId: sdk.userInfo.id,
12404
+ })];
12405
+ case 7:
12406
+ comment = _g.sent();
12407
+ return [4 /*yield*/, sdk.api.chat_rooms.createOne({ enduserIds: [e.id], userIds: [], title: 'Test Chat Room' })];
12408
+ case 8:
12409
+ room = _g.sent();
12410
+ return [4 /*yield*/, async_test("Inbox loads emails", function () { return sdk.api.endusers.load_inbox_data({}); }, { onResult: function (r) { return (r.chat_rooms.length === 1
12411
+ && r.emails.length === 1
12412
+ && r.sms_messages.length === 1
12413
+ && r.group_mms_conversations.length === 1
12414
+ && r.phone_calls.length === 1
12415
+ && r.ticket_thread_comments.length === 1
12416
+ && r.endusers.length === 1); } })];
12417
+ case 9:
12418
+ _g.sent();
12419
+ return [4 /*yield*/, async_test("Inbox loads emails (filter by self when no threads are assigned)", function () { return sdk.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, { onResult: function (r) { return (r.chat_rooms.length === 1
12420
+ && r.emails.length === 1
12421
+ && r.sms_messages.length === 1
12422
+ && r.group_mms_conversations.length === 1
12423
+ && r.phone_calls.length === 1
12424
+ && r.ticket_thread_comments.length === 1
12425
+ && r.endusers.length === 1); } })];
12426
+ case 10:
12427
+ _g.sent();
12428
+ return [4 /*yield*/, async_test("Inbox loads emails (filter by other when no threads are assigned)", function () { return sdk.api.endusers.load_inbox_data({ userId: sdkNonAdmin.userInfo.id }); }, { onResult: function (r) { return (r.chat_rooms.length === 1
12429
+ && r.emails.length === 1
12430
+ && r.sms_messages.length === 1
12431
+ && r.group_mms_conversations.length === 1
12432
+ && r.phone_calls.length === 1
12433
+ && r.ticket_thread_comments.length === 1
12434
+ && r.endusers.length === 1); } })];
12435
+ case 11:
12436
+ _g.sent();
12437
+ return [4 /*yield*/, async_test('Non-admin cannot load inbox data without assignment', function () { return sdkNonAdmin.api.endusers.load_inbox_data({}); }, {
12438
+ onResult: function (r) { return (r.chat_rooms.length === 0
12439
+ && r.emails.length === 0
12440
+ && r.sms_messages.length === 0
12441
+ && r.group_mms_conversations.length === 0
12442
+ && r.phone_calls.length === 0
12443
+ && r.ticket_thread_comments.length === 0
12444
+ && r.endusers.length === 0); }
12445
+ })];
12446
+ case 12:
12447
+ _g.sent();
12448
+ return [4 /*yield*/, async_test('Non-admin cannot load inbox data without assignment (self as filter)', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdkNonAdmin.userInfo.id }); }, {
12449
+ onResult: function (r) { return (r.chat_rooms.length === 0
12450
+ && r.emails.length === 0
12451
+ && r.sms_messages.length === 0
12452
+ && r.group_mms_conversations.length === 0
12453
+ && r.phone_calls.length === 0
12454
+ && r.ticket_thread_comments.length === 0
12455
+ && r.endusers.length === 0); }
12456
+ })];
12457
+ case 13:
12458
+ _g.sent();
12459
+ return [4 /*yield*/, async_test('Non-admin cannot load inbox data without assignment (other user as filter)', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12460
+ onResult: function (r) { return (r.chat_rooms.length === 0
12461
+ && r.emails.length === 0
12462
+ && r.sms_messages.length === 0
12463
+ && r.group_mms_conversations.length === 0
12464
+ && r.phone_calls.length === 0
12465
+ && r.ticket_thread_comments.length === 0
12466
+ && r.endusers.length === 0); }
12467
+ })
12468
+ // assign to Enduser
12469
+ ];
12470
+ case 14:
12471
+ _g.sent();
12472
+ // assign to Enduser
12473
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [sdkNonAdmin.userInfo.id] }, { replaceObjectFields: true })];
12474
+ case 15:
12475
+ // assign to Enduser
12476
+ _g.sent();
12477
+ return [4 /*yield*/, async_test('Non-admin can load inbox data with assignment', function () { return sdkNonAdmin.api.endusers.load_inbox_data({}); }, {
12478
+ onResult: function (r) { return (r.chat_rooms.length === 1
12479
+ && r.emails.length === 1
12480
+ && r.sms_messages.length === 1
12481
+ && r.group_mms_conversations.length === 1
12482
+ && r.phone_calls.length === 1
12483
+ && r.ticket_thread_comments.length === 1
12484
+ && r.endusers.length === 1); }
12485
+ })];
12486
+ case 16:
12487
+ _g.sent();
12488
+ return [4 /*yield*/, async_test('Non-admin can load inbox data with assignment (self as filter)', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdkNonAdmin.userInfo.id }); }, {
12489
+ onResult: function (r) { return (r.chat_rooms.length === 1
12490
+ && r.emails.length === 1
12491
+ && r.sms_messages.length === 1
12492
+ && r.group_mms_conversations.length === 1
12493
+ && r.phone_calls.length === 1
12494
+ && r.ticket_thread_comments.length === 1
12495
+ && r.endusers.length === 1); }
12496
+ })];
12497
+ case 17:
12498
+ _g.sent();
12499
+ return [4 /*yield*/, async_test('Non-admin can load inbox data with assignment (other user as filter, not assigned)', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12500
+ onResult: function (r) { return (r.chat_rooms.length === 0
12501
+ && r.emails.length === 0
12502
+ && r.sms_messages.length === 0
12503
+ && r.group_mms_conversations.length === 0
12504
+ && r.phone_calls.length === 0
12505
+ && r.ticket_thread_comments.length === 0
12506
+ && r.endusers.length === 0); }
12507
+ })];
12508
+ case 18:
12509
+ _g.sent();
12510
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [sdk.userInfo.id] }, {})]; // add other assignment
12511
+ case 19:
12512
+ _g.sent(); // add other assignment
12513
+ return [4 /*yield*/, async_test('Non-admin can load inbox data with assignment (other user as filter, assigned)', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12514
+ onResult: function (r) { return (r.chat_rooms.length === 1
12515
+ && r.emails.length === 1
12516
+ && r.sms_messages.length === 1
12517
+ && r.group_mms_conversations.length === 1
12518
+ && r.phone_calls.length === 1
12519
+ && r.ticket_thread_comments.length === 1
12520
+ && r.endusers.length === 1); }
12521
+ })
12522
+ // assign admin to all threads
12523
+ ];
12524
+ case 20:
12525
+ _g.sent();
12526
+ // assign admin to all threads
12527
+ return [4 /*yield*/, sdk.api.emails.updateOne(email.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12528
+ case 21:
12529
+ // assign admin to all threads
12530
+ _g.sent();
12531
+ return [4 /*yield*/, sdk.api.sms_messages.updateOne(sms.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12532
+ case 22:
12533
+ _g.sent();
12534
+ return [4 /*yield*/, sdk.api.group_mms_conversations.updateOne(groupMMS.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12535
+ case 23:
12536
+ _g.sent();
12537
+ return [4 /*yield*/, sdk.api.phone_calls.updateOne(call.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12538
+ case 24:
12539
+ _g.sent();
12540
+ return [4 /*yield*/, sdk.api.ticket_threads.updateOne(thread.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12541
+ case 25:
12542
+ _g.sent();
12543
+ return [4 /*yield*/, sdk.api.ticket_thread_comments.updateOne(comment.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12544
+ case 26:
12545
+ _g.sent();
12546
+ return [4 /*yield*/, sdk.api.chat_rooms.updateOne(room.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12547
+ case 27:
12548
+ _g.sent();
12549
+ return [4 /*yield*/, async_test('admin doesnt load inbox data with assignedTo as other filter', function () { return sdk.api.endusers.load_inbox_data({ userId: sdkNonAdmin.userInfo.id }); }, {
12550
+ onResult: function (r) { return (r.chat_rooms.length === 0
12551
+ && r.emails.length === 0
12552
+ && r.sms_messages.length === 0
12553
+ && r.group_mms_conversations.length === 0
12554
+ && r.phone_calls.length === 0
12555
+ && r.ticket_thread_comments.length === 0
12556
+ && r.endusers.length === 0); }
12557
+ })];
12558
+ case 28:
12559
+ _g.sent();
12560
+ return [4 /*yield*/, async_test('admin loads inbox data for other user as filter assignedTo', function () { return sdk.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12561
+ onResult: function (r) { return (r.chat_rooms.length === 1
12562
+ && r.emails.length === 1
12563
+ && r.sms_messages.length === 1
12564
+ && r.group_mms_conversations.length === 1
12565
+ && r.phone_calls.length === 1
12566
+ && r.ticket_thread_comments.length === 1
12567
+ && r.endusers.length === 1); }
12568
+ })];
12569
+ case 29:
12570
+ _g.sent();
12571
+ return [4 /*yield*/, async_test('admin loads inbox data with no user', function () { return sdk.api.endusers.load_inbox_data({}); }, {
12572
+ onResult: function (r) { return (r.chat_rooms.length === 1
12573
+ && r.emails.length === 1
12574
+ && r.sms_messages.length === 1
12575
+ && r.group_mms_conversations.length === 1
12576
+ && r.phone_calls.length === 1
12577
+ && r.ticket_thread_comments.length === 1
12578
+ && r.endusers.length === 1); }
12579
+ })];
12580
+ case 30:
12581
+ _g.sent();
12582
+ return [4 /*yield*/, async_test('Non-admin cant load inbox data with assignedTo as other (self as filter)', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdkNonAdmin.userInfo.id }); }, {
12583
+ onResult: function (r) { return (r.chat_rooms.length === 0
12584
+ && r.emails.length === 0
12585
+ && r.sms_messages.length === 0
12586
+ && r.group_mms_conversations.length === 0
12587
+ && r.phone_calls.length === 0
12588
+ && r.ticket_thread_comments.length === 0
12589
+ && r.endusers.length === 0); }
12590
+ })];
12591
+ case 31:
12592
+ _g.sent();
12593
+ return [4 /*yield*/, async_test('Non-admin can load inbox data for other user as filter, assignedTo', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12594
+ onResult: function (r) { return (r.chat_rooms.length === 1
12595
+ && r.emails.length === 1
12596
+ && r.sms_messages.length === 1
12597
+ && r.group_mms_conversations.length === 1
12598
+ && r.phone_calls.length === 1
12599
+ && r.ticket_thread_comments.length === 1
12600
+ && r.endusers.length === 1); }
12601
+ })];
12602
+ case 32:
12603
+ _g.sent();
12604
+ return [4 /*yield*/, async_test('Non-admin can load inbox data with no user', function () { return sdkNonAdmin.api.endusers.load_inbox_data({}); }, {
12605
+ onResult: function (r) { return (r.chat_rooms.length === 1
12606
+ && r.emails.length === 1
12607
+ && r.sms_messages.length === 1
12608
+ && r.group_mms_conversations.length === 1
12609
+ && r.phone_calls.length === 1
12610
+ && r.ticket_thread_comments.length === 1
12611
+ && r.endusers.length === 1); }
12612
+ })
12613
+ // assign other user to all threads
12614
+ ];
12615
+ case 33:
12616
+ _g.sent();
12617
+ // assign other user to all threads
12618
+ return [4 /*yield*/, sdk.api.emails.updateOne(email.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12619
+ case 34:
12620
+ // assign other user to all threads
12621
+ _g.sent();
12622
+ return [4 /*yield*/, sdk.api.sms_messages.updateOne(sms.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12623
+ case 35:
12624
+ _g.sent();
12625
+ return [4 /*yield*/, sdk.api.group_mms_conversations.updateOne(groupMMS.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12626
+ case 36:
12627
+ _g.sent();
12628
+ return [4 /*yield*/, sdk.api.phone_calls.updateOne(call.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12629
+ case 37:
12630
+ _g.sent();
12631
+ return [4 /*yield*/, sdk.api.ticket_threads.updateOne(thread.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12632
+ case 38:
12633
+ _g.sent();
12634
+ return [4 /*yield*/, sdk.api.ticket_thread_comments.updateOne(comment.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12635
+ case 39:
12636
+ _g.sent();
12637
+ return [4 /*yield*/, sdk.api.chat_rooms.updateOne(room.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12638
+ case 40:
12639
+ _g.sent();
12640
+ return [4 /*yield*/, async_test('[both assigned] admin does load inbox data with assignedTo as other filter', function () { return sdk.api.endusers.load_inbox_data({ userId: sdkNonAdmin.userInfo.id }); }, {
12641
+ onResult: function (r) { return (r.chat_rooms.length === 1
12642
+ && r.emails.length === 1
12643
+ && r.sms_messages.length === 1
12644
+ && r.group_mms_conversations.length === 1
12645
+ && r.phone_calls.length === 1
12646
+ && r.ticket_thread_comments.length === 1
12647
+ && r.endusers.length === 1); }
12648
+ })];
12649
+ case 41:
12650
+ _g.sent();
12651
+ return [4 /*yield*/, async_test('[both assigned] admin loads inbox data for other user as filter assignedTo', function () { return sdk.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12652
+ onResult: function (r) { return (r.chat_rooms.length === 1
12653
+ && r.emails.length === 1
12654
+ && r.sms_messages.length === 1
12655
+ && r.group_mms_conversations.length === 1
12656
+ && r.phone_calls.length === 1
12657
+ && r.ticket_thread_comments.length === 1
12658
+ && r.endusers.length === 1); }
12659
+ })];
12660
+ case 42:
12661
+ _g.sent();
12662
+ return [4 /*yield*/, async_test('[both assigned] admin loads inbox data with no user', function () { return sdk.api.endusers.load_inbox_data({}); }, {
12663
+ onResult: function (r) { return (r.chat_rooms.length === 1
12664
+ && r.emails.length === 1
12665
+ && r.sms_messages.length === 1
12666
+ && r.group_mms_conversations.length === 1
12667
+ && r.phone_calls.length === 1
12668
+ && r.ticket_thread_comments.length === 1
12669
+ && r.endusers.length === 1); }
12670
+ })];
12671
+ case 43:
12672
+ _g.sent();
12673
+ return [4 /*yield*/, async_test('[both assigned] Non-admin can load inbox data with assignedTo as other (self as filter)', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdkNonAdmin.userInfo.id }); }, {
12674
+ onResult: function (r) { return (r.chat_rooms.length === 1
12675
+ && r.emails.length === 1
12676
+ && r.sms_messages.length === 1
12677
+ && r.group_mms_conversations.length === 1
12678
+ && r.phone_calls.length === 1
12679
+ && r.ticket_thread_comments.length === 1
12680
+ && r.endusers.length === 1); }
12681
+ })];
12682
+ case 44:
12683
+ _g.sent();
12684
+ return [4 /*yield*/, async_test('[both assigned] Non-admin can load inbox data for other user as filter, assignedTo', function () { return sdkNonAdmin.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12685
+ onResult: function (r) { return (r.chat_rooms.length === 1
12686
+ && r.emails.length === 1
12687
+ && r.sms_messages.length === 1
12688
+ && r.group_mms_conversations.length === 1
12689
+ && r.phone_calls.length === 1
12690
+ && r.ticket_thread_comments.length === 1
12691
+ && r.endusers.length === 1); }
12692
+ })];
12693
+ case 45:
12694
+ _g.sent();
12695
+ return [4 /*yield*/, async_test('[both assigned] Non-admin can load inbox data with no user', function () { return sdkNonAdmin.api.endusers.load_inbox_data({}); }, {
12696
+ onResult: function (r) { return (r.chat_rooms.length === 1
12697
+ && r.emails.length === 1
12698
+ && r.sms_messages.length === 1
12699
+ && r.group_mms_conversations.length === 1
12700
+ && r.phone_calls.length === 1
12701
+ && r.ticket_thread_comments.length === 1
12702
+ && r.endusers.length === 1); }
12703
+ })];
12704
+ case 46:
12705
+ _g.sent();
12706
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
12707
+ role: 'No Access',
12708
+ permissions: {
12709
+ emails: { read: null, create: null, update: null, delete: null },
12710
+ sms_messages: { read: null, create: null, update: null, delete: null },
12711
+ group_mms_conversations: { read: null, create: null, update: null, delete: null },
12712
+ phone_calls: { read: null, create: null, update: null, delete: null },
12713
+ ticket_threads: { read: null, create: null, update: null, delete: null },
12714
+ ticket_thread_comments: { read: null, create: null, update: null, delete: null },
12715
+ chat_rooms: { read: null, create: null, update: null, delete: null },
12716
+ // read must be default for endpoint to return non 403
12717
+ endusers: { read: 'Default', create: null, update: null, delete: null },
12718
+ },
12719
+ })];
12720
+ case 47:
12721
+ noAccessRole = _g.sent();
12722
+ roleTestUserEmail = 'inbox.role.test@tellescope.com';
12723
+ return [4 /*yield*/, sdk.api.users.getOne({ email: roleTestUserEmail }).catch(function () { return null; })]; // throws error on none found
12724
+ case 48:
12725
+ _a = (_g.sent() // throws error on none found
12726
+ );
12727
+ if (_a) return [3 /*break*/, 50];
12728
+ return [4 /*yield*/, sdk.api.users.createOne({ email: roleTestUserEmail })];
12729
+ case 49:
12730
+ _a = (_g.sent());
12731
+ _g.label = 50;
12732
+ case 50:
12733
+ roleTestUser = _a;
12734
+ // ensure role is set, in case GET returned a user without a role or with a different role
12735
+ return [4 /*yield*/, sdk.api.users.updateOne(roleTestUser.id, { roles: [noAccessRole.role] }, { replaceObjectFields: true })
12736
+ // add to care team to ensure this doesn't grant unexpected access
12737
+ ];
12738
+ case 51:
12739
+ // ensure role is set, in case GET returned a user without a role or with a different role
12740
+ _g.sent();
12741
+ // add to care team to ensure this doesn't grant unexpected access
12742
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [roleTestUser.id] })];
12743
+ case 52:
12744
+ // add to care team to ensure this doesn't grant unexpected access
12745
+ _g.sent();
12746
+ return [4 /*yield*/, wait(undefined, 2000)]; // role change triggers a logout
12747
+ case 53:
12748
+ _g.sent(); // role change triggers a logout
12749
+ _b = Session.bind;
12750
+ _d = {
12751
+ host: host
12752
+ };
12753
+ return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: roleTestUser.id })];
12754
+ case 54:
12755
+ sdkNoAccess = new (_b.apply(Session, [void 0, (_d.authToken = (_g.sent()).authToken,
12756
+ _d)]))();
12757
+ return [4 /*yield*/, async_test('test_authenticated (no access)', sdkNoAccess.test_authenticated, { expectedResult: 'Authenticated!' })];
12758
+ case 55:
12759
+ _g.sent();
12760
+ return [4 /*yield*/, async_test('verify no-read on direct API call', sdkNoAccess.api.emails.getSome, handleAnyError)]; // ensures role is set up correctly
12761
+ case 56:
12762
+ _g.sent(); // ensures role is set up correctly
12763
+ return [4 /*yield*/, async_test("No access reads nothing", function () { return sdkNoAccess.api.endusers.load_inbox_data({}); }, {
12764
+ onResult: function (r) { return (r.chat_rooms.length === 0
12765
+ && r.emails.length === 0
12766
+ && r.sms_messages.length === 0
12767
+ && r.group_mms_conversations.length === 0
12768
+ && r.phone_calls.length === 0
12769
+ && r.ticket_thread_comments.length === 0
12770
+ && r.endusers.length === 0); }
12771
+ })];
12772
+ case 57:
12773
+ _g.sent();
12774
+ return [4 /*yield*/, async_test("No access reads nothing (for self)", function () { return sdkNoAccess.api.endusers.load_inbox_data({ userId: roleTestUser.id }); }, {
12775
+ onResult: function (r) { return (r.chat_rooms.length === 0
12776
+ && r.emails.length === 0
12777
+ && r.sms_messages.length === 0
12778
+ && r.group_mms_conversations.length === 0
12779
+ && r.phone_calls.length === 0
12780
+ && r.ticket_thread_comments.length === 0
12781
+ && r.endusers.length === 0); }
12782
+ })];
12783
+ case 58:
12784
+ _g.sent();
12785
+ return [4 /*yield*/, async_test("No access reads nothing (for assigned admin)", function () { return sdkNoAccess.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12786
+ onResult: function (r) { return (r.chat_rooms.length === 0
12787
+ && r.emails.length === 0
12788
+ && r.sms_messages.length === 0
12789
+ && r.group_mms_conversations.length === 0
12790
+ && r.phone_calls.length === 0
12791
+ && r.ticket_thread_comments.length === 0
12792
+ && r.endusers.length === 0); }
12793
+ })];
12794
+ case 59:
12795
+ _g.sent();
12796
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
12797
+ role: 'Default Access',
12798
+ permissions: {
12799
+ emails: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12800
+ sms_messages: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12801
+ group_mms_conversations: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12802
+ phone_calls: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12803
+ ticket_threads: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12804
+ ticket_thread_comments: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12805
+ chat_rooms: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12806
+ endusers: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12807
+ },
12808
+ })];
12809
+ case 60:
12810
+ defaultAccessRole = _g.sent();
12811
+ return [4 /*yield*/, sdk.api.users.updateOne(roleTestUser.id, { roles: [defaultAccessRole.role] }, { replaceObjectFields: true })];
12812
+ case 61:
12813
+ _g.sent();
12814
+ return [4 /*yield*/, wait(undefined, 2000)]; // role change triggers a logout
12815
+ case 62:
12816
+ _g.sent(); // role change triggers a logout
12817
+ _c = Session.bind;
12818
+ _f = {
12819
+ host: host
12820
+ };
12821
+ return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: roleTestUser.id })];
12822
+ case 63:
12823
+ sdkDefaultAccess = new (_c.apply(Session, [void 0, (_f.authToken = (_g.sent()).authToken,
12824
+ _f)]))();
12825
+ return [4 /*yield*/, async_test('test_authenticated (default access)', sdkDefaultAccess.test_authenticated, { expectedResult: 'Authenticated!' })];
12826
+ case 64:
12827
+ _g.sent();
12828
+ return [4 /*yield*/, async_test("Default access reads nothing", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({}); }, {
12829
+ onResult: function (r) { return (r.chat_rooms.length === 0
12830
+ && r.emails.length === 0
12831
+ && r.sms_messages.length === 0
12832
+ && r.group_mms_conversations.length === 0
12833
+ && r.phone_calls.length === 0
12834
+ && r.ticket_thread_comments.length === 0
12835
+ && r.endusers.length === 0); }
12836
+ })];
12837
+ case 65:
12838
+ _g.sent();
12839
+ return [4 /*yield*/, async_test("Default access reads nothing (for self)", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({ userId: roleTestUser.id }); }, {
12840
+ onResult: function (r) { return (r.chat_rooms.length === 0
12841
+ && r.emails.length === 0
12842
+ && r.sms_messages.length === 0
12843
+ && r.group_mms_conversations.length === 0
12844
+ && r.phone_calls.length === 0
12845
+ && r.ticket_thread_comments.length === 0
12846
+ && r.endusers.length === 0); }
12847
+ })];
12848
+ case 66:
12849
+ _g.sent();
12850
+ return [4 /*yield*/, async_test("Default access reads nothing (for assigned admin)", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12851
+ onResult: function (r) { return (r.chat_rooms.length === 0
12852
+ && r.emails.length === 0
12853
+ && r.sms_messages.length === 0
12854
+ && r.group_mms_conversations.length === 0
12855
+ && r.phone_calls.length === 0
12856
+ && r.ticket_thread_comments.length === 0
12857
+ && r.endusers.length === 0); }
12858
+ })
12859
+ // assign default user to the specific messages by setting userId, userIds, etc.
12860
+ ];
12861
+ case 67:
12862
+ _g.sent();
12863
+ // assign default user to the specific messages by setting userId, userIds, etc.
12864
+ return [4 /*yield*/, sdk.api.emails.updateOne(email.id, { assignedTo: [], userId: roleTestUser.id }, { replaceObjectFields: true })];
12865
+ case 68:
12866
+ // assign default user to the specific messages by setting userId, userIds, etc.
12867
+ _g.sent();
12868
+ return [4 /*yield*/, sdk.api.sms_messages.updateOne(sms.id, { assignedTo: [], userId: roleTestUser.id }, { replaceObjectFields: true })];
12869
+ case 69:
12870
+ _g.sent();
12871
+ return [4 /*yield*/, sdk.api.group_mms_conversations.updateOne(groupMMS.id, { assignedTo: [], userIds: [roleTestUser.id] }, { replaceObjectFields: true })];
12872
+ case 70:
12873
+ _g.sent();
12874
+ return [4 /*yield*/, sdk.api.phone_calls.updateOne(call.id, { assignedTo: [], userId: roleTestUser.id }, { replaceObjectFields: true })];
12875
+ case 71:
12876
+ _g.sent();
12877
+ return [4 /*yield*/, sdk.api.ticket_thread_comments.updateOne(comment.id, { assignedTo: [], userId: roleTestUser.id }, { replaceObjectFields: true })
12878
+ // need to replace assignedTo for userIds to take precedent
12879
+ ];
12880
+ case 72:
12881
+ _g.sent();
12882
+ // need to replace assignedTo for userIds to take precedent
12883
+ return [4 /*yield*/, sdk.api.chat_rooms.updateOne(room.id, { assignedTo: [], userIds: [roleTestUser.id] }, { replaceObjectFields: true })];
12884
+ case 73:
12885
+ // need to replace assignedTo for userIds to take precedent
12886
+ _g.sent();
12887
+ return [4 /*yield*/, async_test("Default access reads stuff when assigned", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({}); }, {
12888
+ onResult: function (r) { return (r.chat_rooms.length === 1
12889
+ && r.emails.length === 1
12890
+ && r.sms_messages.length === 1
12891
+ && r.group_mms_conversations.length === 1
12892
+ && r.phone_calls.length === 1
12893
+ && r.ticket_thread_comments.length === 1
12894
+ && r.endusers.length === 1); }
12895
+ })];
12896
+ case 74:
12897
+ _g.sent();
12898
+ return [4 /*yield*/, async_test("Default access reads stuff when assigned (for self)", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({ userId: roleTestUser.id }); }, {
12899
+ onResult: function (r) { return (r.chat_rooms.length === 1
12900
+ && r.emails.length === 1
12901
+ && r.sms_messages.length === 1
12902
+ && r.group_mms_conversations.length === 1
12903
+ && r.phone_calls.length === 1
12904
+ && r.ticket_thread_comments.length === 1
12905
+ && r.endusers.length === 1); }
12906
+ })];
12907
+ case 75:
12908
+ _g.sent();
12909
+ return [4 /*yield*/, Promise.all([
12910
+ sdk.api.endusers.deleteOne(e.id),
12911
+ sdk.api.chat_rooms.deleteOne(room.id),
12912
+ sdk.api.role_based_access_permissions.deleteOne(noAccessRole.id),
12913
+ sdk.api.role_based_access_permissions.deleteOne(defaultAccessRole.id),
12914
+ sdk.api.users.deleteOne(roleTestUser.id),
12915
+ ])];
12916
+ case 76:
12917
+ _g.sent();
12918
+ return [2 /*return*/];
12919
+ }
12920
+ });
12921
+ }); };
12257
12922
  (function () { return __awaiter(void 0, void 0, void 0, function () {
12258
12923
  var fields, err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _f, _g, _h, err_2;
12259
12924
  var _j, _k;
@@ -12266,7 +12931,7 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12266
12931
  _l.sent();
12267
12932
  _l.label = 2;
12268
12933
  case 2:
12269
- _l.trys.push([2, 73, , 74]);
12934
+ _l.trys.push([2, 74, , 75]);
12270
12935
  form_conditional_logic_tests();
12271
12936
  return [4 /*yield*/, test_weighted_round_robin()];
12272
12937
  case 3:
@@ -12403,183 +13068,186 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12403
13068
  return [4 /*yield*/, setup_tests()];
12404
13069
  case 15:
12405
13070
  _l.sent();
12406
- return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
13071
+ return [4 /*yield*/, formsort_tests()];
12407
13072
  case 16:
13073
+ _l.sent();
13074
+ return [4 /*yield*/, inbox_loading_tests()];
13075
+ case 17:
13076
+ _l.sent();
13077
+ return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
13078
+ case 18:
12408
13079
  _l.sent(); // should come right after setup tests
12409
13080
  return [4 /*yield*/, sync_tests_with_access_tags()]; // should come directly after setup to avoid extra sync values
12410
- case 17:
13081
+ case 19:
12411
13082
  _l.sent(); // should come directly after setup to avoid extra sync values
12412
13083
  return [4 /*yield*/, sync_tests()]; // should come directly after setup to avoid extra sync values
12413
- case 18:
12414
- _l.sent(); // should come directly after setup to avoid extra sync values
12415
- return [4 /*yield*/, updatedAt_tests()];
12416
- case 19:
12417
- _l.sent();
12418
- return [4 /*yield*/, automation_trigger_tests()];
12419
13084
  case 20:
12420
- _l.sent();
12421
- return [4 /*yield*/, file_source_tests()];
13085
+ _l.sent(); // should come directly after setup to avoid extra sync values
13086
+ return [4 /*yield*/, get_templated_message_tests()];
12422
13087
  case 21:
12423
13088
  _l.sent();
12424
- return [4 /*yield*/, get_templated_message_tests()];
13089
+ return [4 /*yield*/, updatedAt_tests()];
12425
13090
  case 22:
12426
13091
  _l.sent();
12427
- return [4 /*yield*/, enduser_access_tags_tests()];
13092
+ return [4 /*yield*/, automation_trigger_tests()];
12428
13093
  case 23:
12429
13094
  _l.sent();
12430
- return [4 /*yield*/, enduserAccessTests()];
13095
+ return [4 /*yield*/, file_source_tests()];
12431
13096
  case 24:
12432
13097
  _l.sent();
12433
- return [4 /*yield*/, test_form_response_search()];
13098
+ return [4 /*yield*/, enduser_access_tags_tests()];
12434
13099
  case 25:
12435
13100
  _l.sent();
12436
- return [4 /*yield*/, date_parsing_tests()];
13101
+ return [4 /*yield*/, enduserAccessTests()];
12437
13102
  case 26:
12438
13103
  _l.sent();
12439
- return [4 /*yield*/, fromEmailOverride_tests()];
13104
+ return [4 /*yield*/, test_form_response_search()];
12440
13105
  case 27:
12441
13106
  _l.sent();
12442
- return [4 /*yield*/, ticket_tests()];
13107
+ return [4 /*yield*/, date_parsing_tests()];
12443
13108
  case 28:
12444
13109
  _l.sent();
12445
- return [4 /*yield*/, uniqueness_tests()];
13110
+ return [4 /*yield*/, fromEmailOverride_tests()];
12446
13111
  case 29:
12447
13112
  _l.sent();
12448
- return [4 /*yield*/, enduser_orders_tests()];
13113
+ return [4 /*yield*/, ticket_tests()];
12449
13114
  case 30:
12450
13115
  _l.sent();
12451
- return [4 /*yield*/, calendar_event_care_team_tests()];
13116
+ return [4 /*yield*/, uniqueness_tests()];
12452
13117
  case 31:
12453
13118
  _l.sent();
12454
- return [4 /*yield*/, merge_enduser_tests()];
13119
+ return [4 /*yield*/, enduser_orders_tests()];
12455
13120
  case 32:
12456
13121
  _l.sent();
12457
- return [4 /*yield*/, input_modifier_tests()];
13122
+ return [4 /*yield*/, calendar_event_care_team_tests()];
12458
13123
  case 33:
12459
13124
  _l.sent();
12460
- return [4 /*yield*/, formsort_tests()];
13125
+ return [4 /*yield*/, merge_enduser_tests()];
12461
13126
  case 34:
12462
13127
  _l.sent();
12463
- return [4 /*yield*/, switch_to_related_contacts_tests()];
13128
+ return [4 /*yield*/, input_modifier_tests()];
12464
13129
  case 35:
12465
13130
  _l.sent();
12466
- return [4 /*yield*/, redaction_tests()];
13131
+ return [4 /*yield*/, switch_to_related_contacts_tests()];
12467
13132
  case 36:
12468
13133
  _l.sent();
12469
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
13134
+ return [4 /*yield*/, redaction_tests()];
12470
13135
  case 37:
12471
13136
  _l.sent();
12472
- return [4 /*yield*/, no_chained_triggers_tests()];
13137
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
12473
13138
  case 38:
12474
13139
  _l.sent();
12475
- return [4 /*yield*/, rate_limit_tests()];
13140
+ return [4 /*yield*/, no_chained_triggers_tests()];
12476
13141
  case 39:
12477
13142
  _l.sent();
12478
- return [4 /*yield*/, mdb_filter_tests()];
13143
+ return [4 /*yield*/, rate_limit_tests()];
12479
13144
  case 40:
12480
13145
  _l.sent();
12481
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
13146
+ return [4 /*yield*/, mdb_filter_tests()];
12482
13147
  case 41:
12483
13148
  _l.sent();
12484
- return [4 /*yield*/, superadmin_tests()];
13149
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
12485
13150
  case 42:
12486
13151
  _l.sent();
12487
- return [4 /*yield*/, ticket_queue_tests()];
13152
+ return [4 /*yield*/, superadmin_tests()];
12488
13153
  case 43:
12489
13154
  _l.sent();
12490
- return [4 /*yield*/, vital_trigger_tests()];
13155
+ return [4 /*yield*/, ticket_queue_tests()];
12491
13156
  case 44:
12492
13157
  _l.sent();
12493
- return [4 /*yield*/, close_reasons_no_duplicates_tests()];
13158
+ return [4 /*yield*/, vital_trigger_tests()];
12494
13159
  case 45:
12495
13160
  _l.sent();
12496
- return [4 /*yield*/, register_as_enduser_tests()];
13161
+ return [4 /*yield*/, close_reasons_no_duplicates_tests()];
12497
13162
  case 46:
12498
13163
  _l.sent();
12499
- return [4 /*yield*/, lockout_tests()];
13164
+ return [4 /*yield*/, register_as_enduser_tests()];
12500
13165
  case 47:
13166
+ _l.sent();
13167
+ return [4 /*yield*/, lockout_tests()];
13168
+ case 48:
12501
13169
  _l.sent();
12502
13170
  return [4 /*yield*/, delete_user_tests()
12503
13171
  // await test_send_with_template()
12504
13172
  ];
12505
- case 48:
13173
+ case 49:
12506
13174
  _l.sent();
12507
13175
  // await test_send_with_template()
12508
13176
  return [4 /*yield*/, bulk_read_tests()];
12509
- case 49:
13177
+ case 50:
12510
13178
  // await test_send_with_template()
12511
13179
  _l.sent();
12512
13180
  return [4 /*yield*/, ticket_reminder_tests()];
12513
- case 50:
13181
+ case 51:
12514
13182
  _l.sent();
12515
13183
  return [4 /*yield*/, marketing_email_unsubscribe_tests()];
12516
- case 51:
13184
+ case 52:
12517
13185
  _l.sent();
12518
13186
  return [4 /*yield*/, unique_strings_tests()];
12519
- case 52:
13187
+ case 53:
12520
13188
  _l.sent();
12521
13189
  return [4 /*yield*/, alternate_phones_tests()];
12522
- case 53:
13190
+ case 54:
12523
13191
  _l.sent();
12524
13192
  return [4 /*yield*/, field_equals_trigger_tests()];
12525
- case 54:
13193
+ case 55:
12526
13194
  _l.sent();
12527
13195
  return [4 /*yield*/, role_based_access_tests()];
12528
- case 55:
13196
+ case 56:
12529
13197
  _l.sent();
12530
13198
  return [4 /*yield*/, enduser_session_tests()];
12531
- case 56:
13199
+ case 57:
12532
13200
  _l.sent();
12533
13201
  return [4 /*yield*/, nextReminderInMS_tests()];
12534
- case 57:
13202
+ case 58:
12535
13203
  _l.sent();
12536
13204
  return [4 /*yield*/, search_tests()];
12537
- case 58:
13205
+ case 59:
12538
13206
  _l.sent();
12539
13207
  return [4 /*yield*/, wait_for_trigger_tests()];
12540
- case 59:
13208
+ case 60:
12541
13209
  _l.sent();
12542
13210
  return [4 /*yield*/, pdf_generation()];
12543
- case 60:
13211
+ case 61:
12544
13212
  _l.sent();
12545
13213
  return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests().catch(console.error)]; // timing is unreliable, uncomment if changing logic
12546
- case 61:
13214
+ case 62:
12547
13215
  _l.sent(); // timing is unreliable, uncomment if changing logic
12548
13216
  return [4 /*yield*/, auto_reply_tests()];
12549
- case 62:
12550
- _l.sent();
12551
- return [4 /*yield*/, sub_organization_enduser_tests()];
12552
13217
  case 63:
12553
13218
  _l.sent();
12554
- return [4 /*yield*/, sub_organization_tests()];
13219
+ return [4 /*yield*/, sub_organization_enduser_tests()];
12555
13220
  case 64:
12556
13221
  _l.sent();
12557
- return [4 /*yield*/, filter_by_date_tests()];
13222
+ return [4 /*yield*/, sub_organization_tests()];
12558
13223
  case 65:
12559
13224
  _l.sent();
12560
- return [4 /*yield*/, generate_user_auth_tests()];
13225
+ return [4 /*yield*/, filter_by_date_tests()];
12561
13226
  case 66:
12562
13227
  _l.sent();
12563
- return [4 /*yield*/, generateEnduserAuthTests()];
13228
+ return [4 /*yield*/, generate_user_auth_tests()];
12564
13229
  case 67:
12565
13230
  _l.sent();
12566
- return [4 /*yield*/, public_form_tests()];
13231
+ return [4 /*yield*/, generateEnduserAuthTests()];
12567
13232
  case 68:
12568
13233
  _l.sent();
12569
- return [4 /*yield*/, badInputTests()];
13234
+ return [4 /*yield*/, public_form_tests()];
12570
13235
  case 69:
12571
13236
  _l.sent();
12572
- return [4 /*yield*/, filterTests()];
13237
+ return [4 /*yield*/, badInputTests()];
12573
13238
  case 70:
12574
13239
  _l.sent();
12575
- return [4 /*yield*/, updatesTests()];
13240
+ return [4 /*yield*/, filterTests()];
12576
13241
  case 71:
12577
13242
  _l.sent();
12578
- return [4 /*yield*/, threadKeyTests()];
13243
+ return [4 /*yield*/, updatesTests()];
12579
13244
  case 72:
12580
13245
  _l.sent();
12581
- return [3 /*break*/, 74];
13246
+ return [4 /*yield*/, threadKeyTests()];
12582
13247
  case 73:
13248
+ _l.sent();
13249
+ return [3 /*break*/, 75];
13250
+ case 74:
12583
13251
  err_1 = _l.sent();
12584
13252
  console.error("Failed during custom test");
12585
13253
  if (err_1.message && err_1.info) {
@@ -12589,18 +13257,18 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12589
13257
  console.error(err_1);
12590
13258
  }
12591
13259
  process.exit(1);
12592
- return [3 /*break*/, 74];
12593
- case 74:
13260
+ return [3 /*break*/, 75];
13261
+ case 75:
12594
13262
  _a = schema;
12595
13263
  _b = [];
12596
13264
  for (_c in _a)
12597
13265
  _b.push(_c);
12598
13266
  _i = 0;
12599
- _l.label = 75;
12600
- case 75:
12601
- if (!(_i < _b.length)) return [3 /*break*/, 78];
13267
+ _l.label = 76;
13268
+ case 76:
13269
+ if (!(_i < _b.length)) return [3 /*break*/, 79];
12602
13270
  _c = _b[_i];
12603
- if (!(_c in _a)) return [3 /*break*/, 77];
13271
+ if (!(_c in _a)) return [3 /*break*/, 78];
12604
13272
  n = _c;
12605
13273
  returnValidation = (_k = (_j = schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
12606
13274
  return [4 /*yield*/, run_generated_tests({
@@ -12611,41 +13279,41 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12611
13279
  create: returnValidation // ModelFields<ClientModel>,
12612
13280
  }
12613
13281
  })];
12614
- case 76:
12615
- _l.sent();
12616
- _l.label = 77;
12617
13282
  case 77:
12618
- _i++;
12619
- return [3 /*break*/, 75];
13283
+ _l.sent();
13284
+ _l.label = 78;
12620
13285
  case 78:
13286
+ _i++;
13287
+ return [3 /*break*/, 76];
13288
+ case 79:
12621
13289
  _d = tests;
12622
13290
  _f = [];
12623
13291
  for (_g in _d)
12624
13292
  _f.push(_g);
12625
13293
  _h = 0;
12626
- _l.label = 79;
12627
- case 79:
12628
- if (!(_h < _f.length)) return [3 /*break*/, 84];
12629
- _g = _f[_h];
12630
- if (!(_g in _d)) return [3 /*break*/, 83];
12631
- t = _g;
12632
13294
  _l.label = 80;
12633
13295
  case 80:
12634
- _l.trys.push([80, 82, , 83]);
12635
- return [4 /*yield*/, tests[t]()];
13296
+ if (!(_h < _f.length)) return [3 /*break*/, 85];
13297
+ _g = _f[_h];
13298
+ if (!(_g in _d)) return [3 /*break*/, 84];
13299
+ t = _g;
13300
+ _l.label = 81;
12636
13301
  case 81:
12637
- _l.sent();
12638
- return [3 /*break*/, 83];
13302
+ _l.trys.push([81, 83, , 84]);
13303
+ return [4 /*yield*/, tests[t]()];
12639
13304
  case 82:
13305
+ _l.sent();
13306
+ return [3 /*break*/, 84];
13307
+ case 83:
12640
13308
  err_2 = _l.sent();
12641
13309
  console.error("Error running test:");
12642
13310
  console.error(err_2);
12643
13311
  process.exit(1);
12644
- return [3 /*break*/, 83];
12645
- case 83:
12646
- _h++;
12647
- return [3 /*break*/, 79];
13312
+ return [3 /*break*/, 84];
12648
13313
  case 84:
13314
+ _h++;
13315
+ return [3 /*break*/, 80];
13316
+ case 85:
12649
13317
  process.exit();
12650
13318
  return [2 /*return*/];
12651
13319
  }