@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.
@@ -8584,23 +8584,23 @@ var formsort_tests = function () { return __awaiter(void 0, void 0, void 0, func
8584
8584
  case 1:
8585
8585
  form = _a.sent();
8586
8586
  postToFormsort = function (_a) { return __awaiter(void 0, void 0, void 0, function () {
8587
- var _b = _a.matchByName, matchByName = _b === void 0 ? false : _b, o = __rest(_a, ["matchByName"]);
8588
- return __generator(this, function (_c) {
8589
- switch (_c.label) {
8590
- case 0: return [4 /*yield*/, axios_1.default.post("".concat(host, "/v1/webhooks/formsort/9d4f9dff00f60df2690a16da2cb848f289b447614ad9bef850e54af09a1fbf7a?formId=").concat(form.id, "&matchByName=").concat(matchByName), o)];
8587
+ var _b = _a.matchByName, matchByName = _b === void 0 ? false : _b, _c = _a.createNewEnduser, createNewEnduser = _c === void 0 ? false : _c, o = __rest(_a, ["matchByName", "createNewEnduser"]);
8588
+ return __generator(this, function (_d) {
8589
+ switch (_d.label) {
8590
+ case 0: return [4 /*yield*/, axios_1.default.post("".concat(host, "/v1/webhooks/formsort/9d4f9dff00f60df2690a16da2cb848f289b447614ad9bef850e54af09a1fbf7a?formId=").concat(form.id, "&matchByName=").concat(matchByName, "&createNewEnduser=").concat(createNewEnduser), o)];
8591
8591
  case 1:
8592
- _c.sent();
8592
+ _d.sent();
8593
8593
  return [2 /*return*/];
8594
8594
  }
8595
8595
  });
8596
8596
  }); };
8597
8597
  postToFormsortGeneric = function (_a) { return __awaiter(void 0, void 0, void 0, function () {
8598
- var _b = _a.matchByName, matchByName = _b === void 0 ? false : _b, o = __rest(_a, ["matchByName"]);
8599
- return __generator(this, function (_c) {
8600
- switch (_c.label) {
8601
- case 0: return [4 /*yield*/, axios_1.default.post("".concat(host, "/v1/webhooks/form-ingestion/9d4f9dff00f60df2690a16da2cb848f289b447614ad9bef850e54af09a1fbf7a?formId=").concat(form.id, "&matchByName=").concat(matchByName), o)];
8598
+ var _b = _a.matchByName, matchByName = _b === void 0 ? false : _b, _c = _a.createNewEnduser, createNewEnduser = _c === void 0 ? false : _c, o = __rest(_a, ["matchByName", "createNewEnduser"]);
8599
+ return __generator(this, function (_d) {
8600
+ switch (_d.label) {
8601
+ case 0: return [4 /*yield*/, axios_1.default.post("".concat(host, "/v1/webhooks/form-ingestion/9d4f9dff00f60df2690a16da2cb848f289b447614ad9bef850e54af09a1fbf7a?formId=").concat(form.id, "&matchByName=").concat(matchByName, "&createNewEnduser=").concat(createNewEnduser), o)];
8602
8602
  case 1:
8603
- _c.sent();
8603
+ _d.sent();
8604
8604
  return [2 /*return*/];
8605
8605
  }
8606
8606
  });
@@ -9007,19 +9007,56 @@ var formsort_tests = function () { return __awaiter(void 0, void 0, void 0, func
9007
9007
  }
9008
9008
  return true;
9009
9009
  }
9010
+ })];
9011
+ case 35:
9012
+ // EXISTING ENDUSER FIELDS ARE CURRENTLY ONLY UPDATED ON SUBMISSION
9013
+ _a.sent();
9014
+ return [4 /*yield*/, postToFormsort({ answers: [emailAnswer], responder_uuid: "createNewEnduser", finalized: false, createNewEnduser: true })];
9015
+ case 36:
9016
+ _a.sent();
9017
+ return [4 /*yield*/, (0, testing_1.async_test)("new enduser and form response created (1)", sdk.api.form_responses.getSome, { onResult: function (r) { return r.length === 7; } })];
9018
+ case 37:
9019
+ _a.sent();
9020
+ return [4 /*yield*/, (0, testing_1.async_test)("new enduser and form response created (1)", sdk.api.endusers.getSome, { onResult: function (r) { return r.length === 5; } })];
9021
+ case 38:
9022
+ _a.sent();
9023
+ return [4 /*yield*/, postToFormsort({ answers: [emailAnswer], responder_uuid: "createNewEnduser", finalized: false, createNewEnduser: true })];
9024
+ case 39:
9025
+ _a.sent();
9026
+ return [4 /*yield*/, (0, testing_1.async_test)("new enduser and form response created (2)", sdk.api.form_responses.getSome, {
9027
+ onResult: function (r) { return r.length === 8 && r.filter(function (e) { return e.externalId === 'createNewEnduser'; }).length === 2; }
9028
+ })];
9029
+ case 40:
9030
+ _a.sent();
9031
+ return [4 /*yield*/, (0, testing_1.async_test)("new enduser and form response created (2)", sdk.api.endusers.getSome, {
9032
+ onResult: function (r) { return r.length === 6 && r.filter(function (e) { return e.externalId === 'createNewEnduser'; }).length === 2; }
9033
+ })];
9034
+ case 41:
9035
+ _a.sent();
9036
+ return [4 /*yield*/, postToFormsort({ answers: [emailAnswer], responder_uuid: "createNewEnduser", finalized: true, createNewEnduser: true })];
9037
+ case 42:
9038
+ _a.sent();
9039
+ return [4 /*yield*/, (0, testing_1.async_test)("new enduser and form response created (3, finalized)", sdk.api.form_responses.getSome, {
9040
+ onResult: function (r) { return r.length === 9 && r.filter(function (e) { return e.externalId === 'createNewEnduser'; }).length === 3; }
9041
+ })];
9042
+ case 43:
9043
+ _a.sent();
9044
+ return [4 /*yield*/, (0, testing_1.async_test)("new enduser and form response created (3, finalized)", sdk.api.endusers.getSome, {
9045
+ onResult: function (r) { return r.length === 7
9046
+ && r.filter(function (e) { return e.externalId === 'createNewEnduser'; }).length === 3
9047
+ && r.filter(function (e) { return e.externalId === 'createNewEnduser' && e.email === emailAnswer.value; }).length === 1; } // email set on finalized
9010
9048
  })
9011
9049
  // cleanup
9012
9050
  ];
9013
- case 35:
9014
- // EXISTING ENDUSER FIELDS ARE CURRENTLY ONLY UPDATED ON SUBMISSION
9051
+ case 44:
9015
9052
  _a.sent();
9016
9053
  return [4 /*yield*/, sdk.api.endusers.getSome()];
9017
- case 36:
9054
+ case 45:
9018
9055
  endusers = _a.sent();
9019
9056
  return [4 /*yield*/, Promise.all(__spreadArray([
9020
9057
  sdk.api.forms.deleteOne(form.id)
9021
9058
  ], endusers.map(function (e) { return sdk.api.endusers.deleteOne(e.id); }), true))];
9022
- case 37:
9059
+ case 46:
9023
9060
  _a.sent();
9024
9061
  return [2 /*return*/];
9025
9062
  }
@@ -12146,7 +12183,7 @@ var test_form_response_search = function () { return __awaiter(void 0, void 0, v
12146
12183
  });
12147
12184
  }); };
12148
12185
  var get_templated_message_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
12149
- var enduser, related;
12186
+ var enduser, related, form;
12150
12187
  return __generator(this, function (_a) {
12151
12188
  switch (_a.label) {
12152
12189
  case 0:
@@ -12157,6 +12194,9 @@ var get_templated_message_tests = function () { return __awaiter(void 0, void 0,
12157
12194
  return [4 /*yield*/, sdk.api.endusers.createOne({ lname: "Related", fields: { OtherCustomField: "Contact" } })];
12158
12195
  case 2:
12159
12196
  related = _a.sent();
12197
+ return [4 /*yield*/, sdk.api.forms.createOne({ title: 'test form for templated message' })];
12198
+ case 3:
12199
+ form = _a.sent();
12160
12200
  return [4 /*yield*/, (0, testing_1.async_test)("Fields are templated correctly for enduser and relatedcontact", function () { return sdk.api.templates.get_templated_message({
12161
12201
  enduserId: enduser.id,
12162
12202
  relatedContactId: related.id,
@@ -12165,7 +12205,7 @@ var get_templated_message_tests = function () { return __awaiter(void 0, void 0,
12165
12205
  userId: sdk.userInfo.id,
12166
12206
  }); }, { onResult: function (r) { return r.plaintext === "Hello MainMainEnduserRelatedContact goodbye"; }
12167
12207
  })];
12168
- case 3:
12208
+ case 4:
12169
12209
  _a.sent();
12170
12210
  return [4 /*yield*/, (0, testing_1.async_test)("{{organization.name}}", function () { return sdk.api.templates.get_templated_message({
12171
12211
  enduserId: enduser.id,
@@ -12175,13 +12215,70 @@ var get_templated_message_tests = function () { return __awaiter(void 0, void 0,
12175
12215
  userId: sdk.userInfo.id,
12176
12216
  }); }, { onResult: function (r) { return r.plaintext === "Tellescope"; }
12177
12217
  })];
12178
- case 4:
12218
+ case 5:
12219
+ _a.sent();
12220
+ return [4 /*yield*/, (0, testing_1.async_test)("Unformatted link", function () { return sdk.api.templates.get_templated_message({
12221
+ enduserId: enduser.id,
12222
+ channel: 'Email',
12223
+ message: "https://www.tellescope.com",
12224
+ html: "https://www.tellescope.com",
12225
+ userId: sdk.userInfo.id,
12226
+ }); }, {
12227
+ onResult: function (r) { return (r.plaintext === 'https://www.tellescope.com'
12228
+ && r.html === 'https://www.tellescope.com'); }
12229
+ })];
12230
+ case 6:
12231
+ _a.sent();
12232
+ return [4 /*yield*/, (0, testing_1.async_test)("link format", function () { return sdk.api.templates.get_templated_message({
12233
+ enduserId: enduser.id,
12234
+ channel: 'Email',
12235
+ message: "{https://www.tellescope.com}[click here]",
12236
+ html: "{https://www.tellescope.com}[click here]",
12237
+ userId: sdk.userInfo.id,
12238
+ }); }, { onResult: function (r) { return (r.plaintext.includes('/r/') && r.plaintext.includes('click here')
12239
+ && r.html.includes('/r/') && r.html.includes('<a') && r.html.includes('click here') && r.html.includes("</a>")); }
12240
+ })];
12241
+ case 7:
12242
+ _a.sent();
12243
+ return [4 /*yield*/, (0, testing_1.async_test)("plain $LINK_ONLY", function () { return sdk.api.templates.get_templated_message({
12244
+ enduserId: enduser.id,
12245
+ channel: 'Email',
12246
+ message: "{https://www.tellescope.com}[$LINK_ONLY]",
12247
+ html: "{https://www.tellescope.com}[$LINK_ONLY]",
12248
+ userId: sdk.userInfo.id,
12249
+ }); }, { onResult: function (r) { return (r.plaintext.includes('/r/') && !r.plaintext.includes('$LINK_ONLY')
12250
+ && r.html.includes('/r/') && !r.html.includes('$LINK_ONLY')); }
12251
+ })];
12252
+ case 8:
12253
+ _a.sent();
12254
+ return [4 /*yield*/, (0, testing_1.async_test)("form link", function () { return sdk.api.templates.get_templated_message({
12255
+ enduserId: enduser.id,
12256
+ channel: 'Email',
12257
+ message: "{{forms.".concat(form.id, ".link:click here}}"),
12258
+ html: "{{forms.".concat(form.id, ".link:click here}}"),
12259
+ userId: sdk.userInfo.id,
12260
+ }); }, { onResult: function (r) { return (r.plaintext.includes('/r/') && r.plaintext.includes('click here')
12261
+ && r.html.includes('/r/') && r.html.includes('<a') && r.html.includes('click here') && r.html.includes("</a>")); }
12262
+ })];
12263
+ case 9:
12264
+ _a.sent();
12265
+ return [4 /*yield*/, (0, testing_1.async_test)("form $LINK_ONLY", function () { return sdk.api.templates.get_templated_message({
12266
+ enduserId: enduser.id,
12267
+ channel: 'Email',
12268
+ message: "{{forms.".concat(form.id, ".link:$LINK_ONLY}}"),
12269
+ html: "{{forms.".concat(form.id, ".link:$LINK_ONLY}}"),
12270
+ userId: sdk.userInfo.id,
12271
+ }); }, { onResult: function (r) { return (r.plaintext.includes('/r/') && !r.plaintext.includes('$LINK_ONLY')
12272
+ && r.html.includes('/r/') && !r.html.includes('$LINK_ONLY')); }
12273
+ })];
12274
+ case 10:
12179
12275
  _a.sent();
12180
12276
  return [4 /*yield*/, Promise.all([
12181
12277
  sdk.api.endusers.deleteOne(enduser.id),
12182
12278
  sdk.api.endusers.deleteOne(related.id),
12279
+ sdk.api.forms.deleteOne(form.id),
12183
12280
  ])];
12184
- case 5:
12281
+ case 11:
12185
12282
  _a.sent();
12186
12283
  return [2 /*return*/];
12187
12284
  }
@@ -12303,6 +12400,574 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12303
12400
  }
12304
12401
  });
12305
12402
  }); };
12403
+ var inbox_loading_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
12404
+ var e, email, sms, groupMMS, call, thread, comment, room, noAccessRole, roleTestUserEmail, roleTestUser, _a, sdkNoAccess, _b, defaultAccessRole, sdkDefaultAccess, _c;
12405
+ var _d, _f;
12406
+ return __generator(this, function (_g) {
12407
+ switch (_g.label) {
12408
+ case 0:
12409
+ (0, testing_1.log_header)("Inbox Loading Tests");
12410
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Test', lname: 'Testson' })];
12411
+ case 1:
12412
+ e = _g.sent();
12413
+ return [4 /*yield*/, sdk.api.emails.createOne({
12414
+ logOnly: true,
12415
+ subject: 'Test Email',
12416
+ enduserId: e.id,
12417
+ textContent: 'This is a test email',
12418
+ inbound: true,
12419
+ userId: sdk.userInfo.id,
12420
+ })];
12421
+ case 2:
12422
+ email = _g.sent();
12423
+ return [4 /*yield*/, sdk.api.sms_messages.createOne({
12424
+ logOnly: true,
12425
+ inbound: true,
12426
+ enduserId: e.id,
12427
+ message: 'This is a test SMS',
12428
+ userId: sdk.userInfo.id,
12429
+ })];
12430
+ case 3:
12431
+ sms = _g.sent();
12432
+ return [4 /*yield*/, sdk.api.group_mms_conversations.createOne({
12433
+ enduserIds: [e.id],
12434
+ userIds: [sdk.userInfo.id],
12435
+ userStates: [],
12436
+ })];
12437
+ case 4:
12438
+ groupMMS = _g.sent();
12439
+ return [4 /*yield*/, sdk.api.phone_calls.createOne({ enduserId: e.id, inbound: true, userId: sdk.userInfo.id })];
12440
+ case 5:
12441
+ call = _g.sent();
12442
+ return [4 /*yield*/, sdk.api.ticket_threads.createOne({ enduserId: e.id, subject: 'test thread' })];
12443
+ case 6:
12444
+ thread = _g.sent();
12445
+ return [4 /*yield*/, sdk.api.ticket_thread_comments.createOne({
12446
+ enduserId: e.id,
12447
+ html: '',
12448
+ inbound: false,
12449
+ plaintext: '',
12450
+ public: false,
12451
+ ticketThreadId: thread.id,
12452
+ userId: sdk.userInfo.id,
12453
+ })];
12454
+ case 7:
12455
+ comment = _g.sent();
12456
+ return [4 /*yield*/, sdk.api.chat_rooms.createOne({ enduserIds: [e.id], userIds: [], title: 'Test Chat Room' })];
12457
+ case 8:
12458
+ room = _g.sent();
12459
+ return [4 /*yield*/, (0, testing_1.async_test)("Inbox loads emails", function () { return sdk.api.endusers.load_inbox_data({}); }, { onResult: function (r) { return (r.chat_rooms.length === 1
12460
+ && r.emails.length === 1
12461
+ && r.sms_messages.length === 1
12462
+ && r.group_mms_conversations.length === 1
12463
+ && r.phone_calls.length === 1
12464
+ && r.ticket_thread_comments.length === 1
12465
+ && r.endusers.length === 1); } })];
12466
+ case 9:
12467
+ _g.sent();
12468
+ return [4 /*yield*/, (0, testing_1.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
12469
+ && r.emails.length === 1
12470
+ && r.sms_messages.length === 1
12471
+ && r.group_mms_conversations.length === 1
12472
+ && r.phone_calls.length === 1
12473
+ && r.ticket_thread_comments.length === 1
12474
+ && r.endusers.length === 1); } })];
12475
+ case 10:
12476
+ _g.sent();
12477
+ return [4 /*yield*/, (0, testing_1.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
12478
+ && r.emails.length === 1
12479
+ && r.sms_messages.length === 1
12480
+ && r.group_mms_conversations.length === 1
12481
+ && r.phone_calls.length === 1
12482
+ && r.ticket_thread_comments.length === 1
12483
+ && r.endusers.length === 1); } })];
12484
+ case 11:
12485
+ _g.sent();
12486
+ return [4 /*yield*/, (0, testing_1.async_test)('Non-admin cannot load inbox data without assignment', function () { return sdkNonAdmin.api.endusers.load_inbox_data({}); }, {
12487
+ onResult: function (r) { return (r.chat_rooms.length === 0
12488
+ && r.emails.length === 0
12489
+ && r.sms_messages.length === 0
12490
+ && r.group_mms_conversations.length === 0
12491
+ && r.phone_calls.length === 0
12492
+ && r.ticket_thread_comments.length === 0
12493
+ && r.endusers.length === 0); }
12494
+ })];
12495
+ case 12:
12496
+ _g.sent();
12497
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12498
+ onResult: function (r) { return (r.chat_rooms.length === 0
12499
+ && r.emails.length === 0
12500
+ && r.sms_messages.length === 0
12501
+ && r.group_mms_conversations.length === 0
12502
+ && r.phone_calls.length === 0
12503
+ && r.ticket_thread_comments.length === 0
12504
+ && r.endusers.length === 0); }
12505
+ })];
12506
+ case 13:
12507
+ _g.sent();
12508
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12509
+ onResult: function (r) { return (r.chat_rooms.length === 0
12510
+ && r.emails.length === 0
12511
+ && r.sms_messages.length === 0
12512
+ && r.group_mms_conversations.length === 0
12513
+ && r.phone_calls.length === 0
12514
+ && r.ticket_thread_comments.length === 0
12515
+ && r.endusers.length === 0); }
12516
+ })
12517
+ // assign to Enduser
12518
+ ];
12519
+ case 14:
12520
+ _g.sent();
12521
+ // assign to Enduser
12522
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [sdkNonAdmin.userInfo.id] }, { replaceObjectFields: true })];
12523
+ case 15:
12524
+ // assign to Enduser
12525
+ _g.sent();
12526
+ return [4 /*yield*/, (0, testing_1.async_test)('Non-admin can load inbox data with assignment', function () { return sdkNonAdmin.api.endusers.load_inbox_data({}); }, {
12527
+ onResult: function (r) { return (r.chat_rooms.length === 1
12528
+ && r.emails.length === 1
12529
+ && r.sms_messages.length === 1
12530
+ && r.group_mms_conversations.length === 1
12531
+ && r.phone_calls.length === 1
12532
+ && r.ticket_thread_comments.length === 1
12533
+ && r.endusers.length === 1); }
12534
+ })];
12535
+ case 16:
12536
+ _g.sent();
12537
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12538
+ onResult: function (r) { return (r.chat_rooms.length === 1
12539
+ && r.emails.length === 1
12540
+ && r.sms_messages.length === 1
12541
+ && r.group_mms_conversations.length === 1
12542
+ && r.phone_calls.length === 1
12543
+ && r.ticket_thread_comments.length === 1
12544
+ && r.endusers.length === 1); }
12545
+ })];
12546
+ case 17:
12547
+ _g.sent();
12548
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12549
+ onResult: function (r) { return (r.chat_rooms.length === 0
12550
+ && r.emails.length === 0
12551
+ && r.sms_messages.length === 0
12552
+ && r.group_mms_conversations.length === 0
12553
+ && r.phone_calls.length === 0
12554
+ && r.ticket_thread_comments.length === 0
12555
+ && r.endusers.length === 0); }
12556
+ })];
12557
+ case 18:
12558
+ _g.sent();
12559
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [sdk.userInfo.id] }, {})]; // add other assignment
12560
+ case 19:
12561
+ _g.sent(); // add other assignment
12562
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12563
+ onResult: function (r) { return (r.chat_rooms.length === 1
12564
+ && r.emails.length === 1
12565
+ && r.sms_messages.length === 1
12566
+ && r.group_mms_conversations.length === 1
12567
+ && r.phone_calls.length === 1
12568
+ && r.ticket_thread_comments.length === 1
12569
+ && r.endusers.length === 1); }
12570
+ })
12571
+ // assign admin to all threads
12572
+ ];
12573
+ case 20:
12574
+ _g.sent();
12575
+ // assign admin to all threads
12576
+ return [4 /*yield*/, sdk.api.emails.updateOne(email.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12577
+ case 21:
12578
+ // assign admin to all threads
12579
+ _g.sent();
12580
+ return [4 /*yield*/, sdk.api.sms_messages.updateOne(sms.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12581
+ case 22:
12582
+ _g.sent();
12583
+ return [4 /*yield*/, sdk.api.group_mms_conversations.updateOne(groupMMS.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12584
+ case 23:
12585
+ _g.sent();
12586
+ return [4 /*yield*/, sdk.api.phone_calls.updateOne(call.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12587
+ case 24:
12588
+ _g.sent();
12589
+ return [4 /*yield*/, sdk.api.ticket_threads.updateOne(thread.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12590
+ case 25:
12591
+ _g.sent();
12592
+ return [4 /*yield*/, sdk.api.ticket_thread_comments.updateOne(comment.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12593
+ case 26:
12594
+ _g.sent();
12595
+ return [4 /*yield*/, sdk.api.chat_rooms.updateOne(room.id, { assignedTo: [sdk.userInfo.id] }, { replaceObjectFields: true })];
12596
+ case 27:
12597
+ _g.sent();
12598
+ return [4 /*yield*/, (0, testing_1.async_test)('admin doesnt load inbox data with assignedTo as other filter', function () { return sdk.api.endusers.load_inbox_data({ userId: sdkNonAdmin.userInfo.id }); }, {
12599
+ onResult: function (r) { return (r.chat_rooms.length === 0
12600
+ && r.emails.length === 0
12601
+ && r.sms_messages.length === 0
12602
+ && r.group_mms_conversations.length === 0
12603
+ && r.phone_calls.length === 0
12604
+ && r.ticket_thread_comments.length === 0
12605
+ && r.endusers.length === 0); }
12606
+ })];
12607
+ case 28:
12608
+ _g.sent();
12609
+ return [4 /*yield*/, (0, testing_1.async_test)('admin loads inbox data for other user as filter assignedTo', function () { return sdk.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12610
+ onResult: function (r) { return (r.chat_rooms.length === 1
12611
+ && r.emails.length === 1
12612
+ && r.sms_messages.length === 1
12613
+ && r.group_mms_conversations.length === 1
12614
+ && r.phone_calls.length === 1
12615
+ && r.ticket_thread_comments.length === 1
12616
+ && r.endusers.length === 1); }
12617
+ })];
12618
+ case 29:
12619
+ _g.sent();
12620
+ return [4 /*yield*/, (0, testing_1.async_test)('admin loads inbox data with no user', function () { return sdk.api.endusers.load_inbox_data({}); }, {
12621
+ onResult: function (r) { return (r.chat_rooms.length === 1
12622
+ && r.emails.length === 1
12623
+ && r.sms_messages.length === 1
12624
+ && r.group_mms_conversations.length === 1
12625
+ && r.phone_calls.length === 1
12626
+ && r.ticket_thread_comments.length === 1
12627
+ && r.endusers.length === 1); }
12628
+ })];
12629
+ case 30:
12630
+ _g.sent();
12631
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12632
+ onResult: function (r) { return (r.chat_rooms.length === 0
12633
+ && r.emails.length === 0
12634
+ && r.sms_messages.length === 0
12635
+ && r.group_mms_conversations.length === 0
12636
+ && r.phone_calls.length === 0
12637
+ && r.ticket_thread_comments.length === 0
12638
+ && r.endusers.length === 0); }
12639
+ })];
12640
+ case 31:
12641
+ _g.sent();
12642
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12643
+ onResult: function (r) { return (r.chat_rooms.length === 1
12644
+ && r.emails.length === 1
12645
+ && r.sms_messages.length === 1
12646
+ && r.group_mms_conversations.length === 1
12647
+ && r.phone_calls.length === 1
12648
+ && r.ticket_thread_comments.length === 1
12649
+ && r.endusers.length === 1); }
12650
+ })];
12651
+ case 32:
12652
+ _g.sent();
12653
+ return [4 /*yield*/, (0, testing_1.async_test)('Non-admin can load inbox data with no user', function () { return sdkNonAdmin.api.endusers.load_inbox_data({}); }, {
12654
+ onResult: function (r) { return (r.chat_rooms.length === 1
12655
+ && r.emails.length === 1
12656
+ && r.sms_messages.length === 1
12657
+ && r.group_mms_conversations.length === 1
12658
+ && r.phone_calls.length === 1
12659
+ && r.ticket_thread_comments.length === 1
12660
+ && r.endusers.length === 1); }
12661
+ })
12662
+ // assign other user to all threads
12663
+ ];
12664
+ case 33:
12665
+ _g.sent();
12666
+ // assign other user to all threads
12667
+ return [4 /*yield*/, sdk.api.emails.updateOne(email.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12668
+ case 34:
12669
+ // assign other user to all threads
12670
+ _g.sent();
12671
+ return [4 /*yield*/, sdk.api.sms_messages.updateOne(sms.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12672
+ case 35:
12673
+ _g.sent();
12674
+ return [4 /*yield*/, sdk.api.group_mms_conversations.updateOne(groupMMS.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12675
+ case 36:
12676
+ _g.sent();
12677
+ return [4 /*yield*/, sdk.api.phone_calls.updateOne(call.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12678
+ case 37:
12679
+ _g.sent();
12680
+ return [4 /*yield*/, sdk.api.ticket_threads.updateOne(thread.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12681
+ case 38:
12682
+ _g.sent();
12683
+ return [4 /*yield*/, sdk.api.ticket_thread_comments.updateOne(comment.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12684
+ case 39:
12685
+ _g.sent();
12686
+ return [4 /*yield*/, sdk.api.chat_rooms.updateOne(room.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
12687
+ case 40:
12688
+ _g.sent();
12689
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12690
+ onResult: function (r) { return (r.chat_rooms.length === 1
12691
+ && r.emails.length === 1
12692
+ && r.sms_messages.length === 1
12693
+ && r.group_mms_conversations.length === 1
12694
+ && r.phone_calls.length === 1
12695
+ && r.ticket_thread_comments.length === 1
12696
+ && r.endusers.length === 1); }
12697
+ })];
12698
+ case 41:
12699
+ _g.sent();
12700
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12701
+ onResult: function (r) { return (r.chat_rooms.length === 1
12702
+ && r.emails.length === 1
12703
+ && r.sms_messages.length === 1
12704
+ && r.group_mms_conversations.length === 1
12705
+ && r.phone_calls.length === 1
12706
+ && r.ticket_thread_comments.length === 1
12707
+ && r.endusers.length === 1); }
12708
+ })];
12709
+ case 42:
12710
+ _g.sent();
12711
+ return [4 /*yield*/, (0, testing_1.async_test)('[both assigned] admin loads inbox data with no user', function () { return sdk.api.endusers.load_inbox_data({}); }, {
12712
+ onResult: function (r) { return (r.chat_rooms.length === 1
12713
+ && r.emails.length === 1
12714
+ && r.sms_messages.length === 1
12715
+ && r.group_mms_conversations.length === 1
12716
+ && r.phone_calls.length === 1
12717
+ && r.ticket_thread_comments.length === 1
12718
+ && r.endusers.length === 1); }
12719
+ })];
12720
+ case 43:
12721
+ _g.sent();
12722
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12723
+ onResult: function (r) { return (r.chat_rooms.length === 1
12724
+ && r.emails.length === 1
12725
+ && r.sms_messages.length === 1
12726
+ && r.group_mms_conversations.length === 1
12727
+ && r.phone_calls.length === 1
12728
+ && r.ticket_thread_comments.length === 1
12729
+ && r.endusers.length === 1); }
12730
+ })];
12731
+ case 44:
12732
+ _g.sent();
12733
+ return [4 /*yield*/, (0, testing_1.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 }); }, {
12734
+ onResult: function (r) { return (r.chat_rooms.length === 1
12735
+ && r.emails.length === 1
12736
+ && r.sms_messages.length === 1
12737
+ && r.group_mms_conversations.length === 1
12738
+ && r.phone_calls.length === 1
12739
+ && r.ticket_thread_comments.length === 1
12740
+ && r.endusers.length === 1); }
12741
+ })];
12742
+ case 45:
12743
+ _g.sent();
12744
+ return [4 /*yield*/, (0, testing_1.async_test)('[both assigned] Non-admin can load inbox data with no user', function () { return sdkNonAdmin.api.endusers.load_inbox_data({}); }, {
12745
+ onResult: function (r) { return (r.chat_rooms.length === 1
12746
+ && r.emails.length === 1
12747
+ && r.sms_messages.length === 1
12748
+ && r.group_mms_conversations.length === 1
12749
+ && r.phone_calls.length === 1
12750
+ && r.ticket_thread_comments.length === 1
12751
+ && r.endusers.length === 1); }
12752
+ })];
12753
+ case 46:
12754
+ _g.sent();
12755
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
12756
+ role: 'No Access',
12757
+ permissions: {
12758
+ emails: { read: null, create: null, update: null, delete: null },
12759
+ sms_messages: { read: null, create: null, update: null, delete: null },
12760
+ group_mms_conversations: { read: null, create: null, update: null, delete: null },
12761
+ phone_calls: { read: null, create: null, update: null, delete: null },
12762
+ ticket_threads: { read: null, create: null, update: null, delete: null },
12763
+ ticket_thread_comments: { read: null, create: null, update: null, delete: null },
12764
+ chat_rooms: { read: null, create: null, update: null, delete: null },
12765
+ // read must be default for endpoint to return non 403
12766
+ endusers: { read: 'Default', create: null, update: null, delete: null },
12767
+ },
12768
+ })];
12769
+ case 47:
12770
+ noAccessRole = _g.sent();
12771
+ roleTestUserEmail = 'inbox.role.test@tellescope.com';
12772
+ return [4 /*yield*/, sdk.api.users.getOne({ email: roleTestUserEmail }).catch(function () { return null; })]; // throws error on none found
12773
+ case 48:
12774
+ _a = (_g.sent() // throws error on none found
12775
+ );
12776
+ if (_a) return [3 /*break*/, 50];
12777
+ return [4 /*yield*/, sdk.api.users.createOne({ email: roleTestUserEmail })];
12778
+ case 49:
12779
+ _a = (_g.sent());
12780
+ _g.label = 50;
12781
+ case 50:
12782
+ roleTestUser = _a;
12783
+ // ensure role is set, in case GET returned a user without a role or with a different role
12784
+ return [4 /*yield*/, sdk.api.users.updateOne(roleTestUser.id, { roles: [noAccessRole.role] }, { replaceObjectFields: true })
12785
+ // add to care team to ensure this doesn't grant unexpected access
12786
+ ];
12787
+ case 51:
12788
+ // ensure role is set, in case GET returned a user without a role or with a different role
12789
+ _g.sent();
12790
+ // add to care team to ensure this doesn't grant unexpected access
12791
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [roleTestUser.id] })];
12792
+ case 52:
12793
+ // add to care team to ensure this doesn't grant unexpected access
12794
+ _g.sent();
12795
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 2000)]; // role change triggers a logout
12796
+ case 53:
12797
+ _g.sent(); // role change triggers a logout
12798
+ _b = sdk_1.Session.bind;
12799
+ _d = {
12800
+ host: host
12801
+ };
12802
+ return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: roleTestUser.id })];
12803
+ case 54:
12804
+ sdkNoAccess = new (_b.apply(sdk_1.Session, [void 0, (_d.authToken = (_g.sent()).authToken,
12805
+ _d)]))();
12806
+ return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (no access)', sdkNoAccess.test_authenticated, { expectedResult: 'Authenticated!' })];
12807
+ case 55:
12808
+ _g.sent();
12809
+ return [4 /*yield*/, (0, testing_1.async_test)('verify no-read on direct API call', sdkNoAccess.api.emails.getSome, handleAnyError)]; // ensures role is set up correctly
12810
+ case 56:
12811
+ _g.sent(); // ensures role is set up correctly
12812
+ return [4 /*yield*/, (0, testing_1.async_test)("No access reads nothing", function () { return sdkNoAccess.api.endusers.load_inbox_data({}); }, {
12813
+ onResult: function (r) { return (r.chat_rooms.length === 0
12814
+ && r.emails.length === 0
12815
+ && r.sms_messages.length === 0
12816
+ && r.group_mms_conversations.length === 0
12817
+ && r.phone_calls.length === 0
12818
+ && r.ticket_thread_comments.length === 0
12819
+ && r.endusers.length === 0); }
12820
+ })];
12821
+ case 57:
12822
+ _g.sent();
12823
+ return [4 /*yield*/, (0, testing_1.async_test)("No access reads nothing (for self)", function () { return sdkNoAccess.api.endusers.load_inbox_data({ userId: roleTestUser.id }); }, {
12824
+ onResult: function (r) { return (r.chat_rooms.length === 0
12825
+ && r.emails.length === 0
12826
+ && r.sms_messages.length === 0
12827
+ && r.group_mms_conversations.length === 0
12828
+ && r.phone_calls.length === 0
12829
+ && r.ticket_thread_comments.length === 0
12830
+ && r.endusers.length === 0); }
12831
+ })];
12832
+ case 58:
12833
+ _g.sent();
12834
+ return [4 /*yield*/, (0, testing_1.async_test)("No access reads nothing (for assigned admin)", function () { return sdkNoAccess.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12835
+ onResult: function (r) { return (r.chat_rooms.length === 0
12836
+ && r.emails.length === 0
12837
+ && r.sms_messages.length === 0
12838
+ && r.group_mms_conversations.length === 0
12839
+ && r.phone_calls.length === 0
12840
+ && r.ticket_thread_comments.length === 0
12841
+ && r.endusers.length === 0); }
12842
+ })];
12843
+ case 59:
12844
+ _g.sent();
12845
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
12846
+ role: 'Default Access',
12847
+ permissions: {
12848
+ emails: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12849
+ sms_messages: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12850
+ group_mms_conversations: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12851
+ phone_calls: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12852
+ ticket_threads: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12853
+ ticket_thread_comments: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12854
+ chat_rooms: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12855
+ endusers: { read: 'Default', create: 'Default', update: 'Default', delete: 'Default' },
12856
+ },
12857
+ })];
12858
+ case 60:
12859
+ defaultAccessRole = _g.sent();
12860
+ return [4 /*yield*/, sdk.api.users.updateOne(roleTestUser.id, { roles: [defaultAccessRole.role] }, { replaceObjectFields: true })];
12861
+ case 61:
12862
+ _g.sent();
12863
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 2000)]; // role change triggers a logout
12864
+ case 62:
12865
+ _g.sent(); // role change triggers a logout
12866
+ _c = sdk_1.Session.bind;
12867
+ _f = {
12868
+ host: host
12869
+ };
12870
+ return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: roleTestUser.id })];
12871
+ case 63:
12872
+ sdkDefaultAccess = new (_c.apply(sdk_1.Session, [void 0, (_f.authToken = (_g.sent()).authToken,
12873
+ _f)]))();
12874
+ return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (default access)', sdkDefaultAccess.test_authenticated, { expectedResult: 'Authenticated!' })];
12875
+ case 64:
12876
+ _g.sent();
12877
+ return [4 /*yield*/, (0, testing_1.async_test)("Default access reads nothing", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({}); }, {
12878
+ onResult: function (r) { return (r.chat_rooms.length === 0
12879
+ && r.emails.length === 0
12880
+ && r.sms_messages.length === 0
12881
+ && r.group_mms_conversations.length === 0
12882
+ && r.phone_calls.length === 0
12883
+ && r.ticket_thread_comments.length === 0
12884
+ && r.endusers.length === 0); }
12885
+ })];
12886
+ case 65:
12887
+ _g.sent();
12888
+ return [4 /*yield*/, (0, testing_1.async_test)("Default access reads nothing (for self)", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({ userId: roleTestUser.id }); }, {
12889
+ onResult: function (r) { return (r.chat_rooms.length === 0
12890
+ && r.emails.length === 0
12891
+ && r.sms_messages.length === 0
12892
+ && r.group_mms_conversations.length === 0
12893
+ && r.phone_calls.length === 0
12894
+ && r.ticket_thread_comments.length === 0
12895
+ && r.endusers.length === 0); }
12896
+ })];
12897
+ case 66:
12898
+ _g.sent();
12899
+ return [4 /*yield*/, (0, testing_1.async_test)("Default access reads nothing (for assigned admin)", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({ userId: sdk.userInfo.id }); }, {
12900
+ onResult: function (r) { return (r.chat_rooms.length === 0
12901
+ && r.emails.length === 0
12902
+ && r.sms_messages.length === 0
12903
+ && r.group_mms_conversations.length === 0
12904
+ && r.phone_calls.length === 0
12905
+ && r.ticket_thread_comments.length === 0
12906
+ && r.endusers.length === 0); }
12907
+ })
12908
+ // assign default user to the specific messages by setting userId, userIds, etc.
12909
+ ];
12910
+ case 67:
12911
+ _g.sent();
12912
+ // assign default user to the specific messages by setting userId, userIds, etc.
12913
+ return [4 /*yield*/, sdk.api.emails.updateOne(email.id, { assignedTo: [], userId: roleTestUser.id }, { replaceObjectFields: true })];
12914
+ case 68:
12915
+ // assign default user to the specific messages by setting userId, userIds, etc.
12916
+ _g.sent();
12917
+ return [4 /*yield*/, sdk.api.sms_messages.updateOne(sms.id, { assignedTo: [], userId: roleTestUser.id }, { replaceObjectFields: true })];
12918
+ case 69:
12919
+ _g.sent();
12920
+ return [4 /*yield*/, sdk.api.group_mms_conversations.updateOne(groupMMS.id, { assignedTo: [], userIds: [roleTestUser.id] }, { replaceObjectFields: true })];
12921
+ case 70:
12922
+ _g.sent();
12923
+ return [4 /*yield*/, sdk.api.phone_calls.updateOne(call.id, { assignedTo: [], userId: roleTestUser.id }, { replaceObjectFields: true })];
12924
+ case 71:
12925
+ _g.sent();
12926
+ return [4 /*yield*/, sdk.api.ticket_thread_comments.updateOne(comment.id, { assignedTo: [], userId: roleTestUser.id }, { replaceObjectFields: true })
12927
+ // need to replace assignedTo for userIds to take precedent
12928
+ ];
12929
+ case 72:
12930
+ _g.sent();
12931
+ // need to replace assignedTo for userIds to take precedent
12932
+ return [4 /*yield*/, sdk.api.chat_rooms.updateOne(room.id, { assignedTo: [], userIds: [roleTestUser.id] }, { replaceObjectFields: true })];
12933
+ case 73:
12934
+ // need to replace assignedTo for userIds to take precedent
12935
+ _g.sent();
12936
+ return [4 /*yield*/, (0, testing_1.async_test)("Default access reads stuff when assigned", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({}); }, {
12937
+ onResult: function (r) { return (r.chat_rooms.length === 1
12938
+ && r.emails.length === 1
12939
+ && r.sms_messages.length === 1
12940
+ && r.group_mms_conversations.length === 1
12941
+ && r.phone_calls.length === 1
12942
+ && r.ticket_thread_comments.length === 1
12943
+ && r.endusers.length === 1); }
12944
+ })];
12945
+ case 74:
12946
+ _g.sent();
12947
+ return [4 /*yield*/, (0, testing_1.async_test)("Default access reads stuff when assigned (for self)", function () { return sdkDefaultAccess.api.endusers.load_inbox_data({ userId: roleTestUser.id }); }, {
12948
+ onResult: function (r) { return (r.chat_rooms.length === 1
12949
+ && r.emails.length === 1
12950
+ && r.sms_messages.length === 1
12951
+ && r.group_mms_conversations.length === 1
12952
+ && r.phone_calls.length === 1
12953
+ && r.ticket_thread_comments.length === 1
12954
+ && r.endusers.length === 1); }
12955
+ })];
12956
+ case 75:
12957
+ _g.sent();
12958
+ return [4 /*yield*/, Promise.all([
12959
+ sdk.api.endusers.deleteOne(e.id),
12960
+ sdk.api.chat_rooms.deleteOne(room.id),
12961
+ sdk.api.role_based_access_permissions.deleteOne(noAccessRole.id),
12962
+ sdk.api.role_based_access_permissions.deleteOne(defaultAccessRole.id),
12963
+ sdk.api.users.deleteOne(roleTestUser.id),
12964
+ ])];
12965
+ case 76:
12966
+ _g.sent();
12967
+ return [2 /*return*/];
12968
+ }
12969
+ });
12970
+ }); };
12306
12971
  (function () { return __awaiter(void 0, void 0, void 0, function () {
12307
12972
  var fields, err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _f, _g, _h, err_2;
12308
12973
  var _j, _k;
@@ -12315,7 +12980,7 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12315
12980
  _l.sent();
12316
12981
  _l.label = 2;
12317
12982
  case 2:
12318
- _l.trys.push([2, 73, , 74]);
12983
+ _l.trys.push([2, 74, , 75]);
12319
12984
  (0, exports.form_conditional_logic_tests)();
12320
12985
  return [4 /*yield*/, test_weighted_round_robin()];
12321
12986
  case 3:
@@ -12452,183 +13117,186 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12452
13117
  return [4 /*yield*/, setup_tests()];
12453
13118
  case 15:
12454
13119
  _l.sent();
12455
- return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
13120
+ return [4 /*yield*/, (0, exports.formsort_tests)()];
12456
13121
  case 16:
13122
+ _l.sent();
13123
+ return [4 /*yield*/, inbox_loading_tests()];
13124
+ case 17:
13125
+ _l.sent();
13126
+ return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
13127
+ case 18:
12457
13128
  _l.sent(); // should come right after setup tests
12458
13129
  return [4 /*yield*/, sync_tests_with_access_tags()]; // should come directly after setup to avoid extra sync values
12459
- case 17:
13130
+ case 19:
12460
13131
  _l.sent(); // should come directly after setup to avoid extra sync values
12461
13132
  return [4 /*yield*/, sync_tests()]; // should come directly after setup to avoid extra sync values
12462
- case 18:
12463
- _l.sent(); // should come directly after setup to avoid extra sync values
12464
- return [4 /*yield*/, updatedAt_tests()];
12465
- case 19:
12466
- _l.sent();
12467
- return [4 /*yield*/, automation_trigger_tests()];
12468
13133
  case 20:
12469
- _l.sent();
12470
- return [4 /*yield*/, file_source_tests()];
13134
+ _l.sent(); // should come directly after setup to avoid extra sync values
13135
+ return [4 /*yield*/, get_templated_message_tests()];
12471
13136
  case 21:
12472
13137
  _l.sent();
12473
- return [4 /*yield*/, get_templated_message_tests()];
13138
+ return [4 /*yield*/, updatedAt_tests()];
12474
13139
  case 22:
12475
13140
  _l.sent();
12476
- return [4 /*yield*/, enduser_access_tags_tests()];
13141
+ return [4 /*yield*/, automation_trigger_tests()];
12477
13142
  case 23:
12478
13143
  _l.sent();
12479
- return [4 /*yield*/, enduserAccessTests()];
13144
+ return [4 /*yield*/, file_source_tests()];
12480
13145
  case 24:
12481
13146
  _l.sent();
12482
- return [4 /*yield*/, test_form_response_search()];
13147
+ return [4 /*yield*/, enduser_access_tags_tests()];
12483
13148
  case 25:
12484
13149
  _l.sent();
12485
- return [4 /*yield*/, date_parsing_tests()];
13150
+ return [4 /*yield*/, enduserAccessTests()];
12486
13151
  case 26:
12487
13152
  _l.sent();
12488
- return [4 /*yield*/, fromEmailOverride_tests()];
13153
+ return [4 /*yield*/, test_form_response_search()];
12489
13154
  case 27:
12490
13155
  _l.sent();
12491
- return [4 /*yield*/, ticket_tests()];
13156
+ return [4 /*yield*/, date_parsing_tests()];
12492
13157
  case 28:
12493
13158
  _l.sent();
12494
- return [4 /*yield*/, uniqueness_tests()];
13159
+ return [4 /*yield*/, fromEmailOverride_tests()];
12495
13160
  case 29:
12496
13161
  _l.sent();
12497
- return [4 /*yield*/, (0, exports.enduser_orders_tests)()];
13162
+ return [4 /*yield*/, ticket_tests()];
12498
13163
  case 30:
12499
13164
  _l.sent();
12500
- return [4 /*yield*/, calendar_event_care_team_tests()];
13165
+ return [4 /*yield*/, uniqueness_tests()];
12501
13166
  case 31:
12502
13167
  _l.sent();
12503
- return [4 /*yield*/, merge_enduser_tests()];
13168
+ return [4 /*yield*/, (0, exports.enduser_orders_tests)()];
12504
13169
  case 32:
12505
13170
  _l.sent();
12506
- return [4 /*yield*/, input_modifier_tests()];
13171
+ return [4 /*yield*/, calendar_event_care_team_tests()];
12507
13172
  case 33:
12508
13173
  _l.sent();
12509
- return [4 /*yield*/, (0, exports.formsort_tests)()];
13174
+ return [4 /*yield*/, merge_enduser_tests()];
12510
13175
  case 34:
12511
13176
  _l.sent();
12512
- return [4 /*yield*/, (0, exports.switch_to_related_contacts_tests)()];
13177
+ return [4 /*yield*/, input_modifier_tests()];
12513
13178
  case 35:
12514
13179
  _l.sent();
12515
- return [4 /*yield*/, redaction_tests()];
13180
+ return [4 /*yield*/, (0, exports.switch_to_related_contacts_tests)()];
12516
13181
  case 36:
12517
13182
  _l.sent();
12518
- return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
13183
+ return [4 /*yield*/, redaction_tests()];
12519
13184
  case 37:
12520
13185
  _l.sent();
12521
- return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
13186
+ return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
12522
13187
  case 38:
12523
13188
  _l.sent();
12524
- return [4 /*yield*/, rate_limit_tests()];
13189
+ return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
12525
13190
  case 39:
12526
13191
  _l.sent();
12527
- return [4 /*yield*/, mdb_filter_tests()];
13192
+ return [4 /*yield*/, rate_limit_tests()];
12528
13193
  case 40:
12529
13194
  _l.sent();
12530
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
13195
+ return [4 /*yield*/, mdb_filter_tests()];
12531
13196
  case 41:
12532
13197
  _l.sent();
12533
- return [4 /*yield*/, superadmin_tests()];
13198
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
12534
13199
  case 42:
12535
13200
  _l.sent();
12536
- return [4 /*yield*/, (0, exports.ticket_queue_tests)()];
13201
+ return [4 /*yield*/, superadmin_tests()];
12537
13202
  case 43:
12538
13203
  _l.sent();
12539
- return [4 /*yield*/, vital_trigger_tests()];
13204
+ return [4 /*yield*/, (0, exports.ticket_queue_tests)()];
12540
13205
  case 44:
12541
13206
  _l.sent();
12542
- return [4 /*yield*/, close_reasons_no_duplicates_tests()];
13207
+ return [4 /*yield*/, vital_trigger_tests()];
12543
13208
  case 45:
12544
13209
  _l.sent();
12545
- return [4 /*yield*/, register_as_enduser_tests()];
13210
+ return [4 /*yield*/, close_reasons_no_duplicates_tests()];
12546
13211
  case 46:
12547
13212
  _l.sent();
12548
- return [4 /*yield*/, lockout_tests()];
13213
+ return [4 /*yield*/, register_as_enduser_tests()];
12549
13214
  case 47:
13215
+ _l.sent();
13216
+ return [4 /*yield*/, lockout_tests()];
13217
+ case 48:
12550
13218
  _l.sent();
12551
13219
  return [4 /*yield*/, delete_user_tests()
12552
13220
  // await test_send_with_template()
12553
13221
  ];
12554
- case 48:
13222
+ case 49:
12555
13223
  _l.sent();
12556
13224
  // await test_send_with_template()
12557
13225
  return [4 /*yield*/, bulk_read_tests()];
12558
- case 49:
13226
+ case 50:
12559
13227
  // await test_send_with_template()
12560
13228
  _l.sent();
12561
13229
  return [4 /*yield*/, (0, exports.ticket_reminder_tests)()];
12562
- case 50:
13230
+ case 51:
12563
13231
  _l.sent();
12564
13232
  return [4 /*yield*/, marketing_email_unsubscribe_tests()];
12565
- case 51:
13233
+ case 52:
12566
13234
  _l.sent();
12567
13235
  return [4 /*yield*/, unique_strings_tests()];
12568
- case 52:
13236
+ case 53:
12569
13237
  _l.sent();
12570
13238
  return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
12571
- case 53:
13239
+ case 54:
12572
13240
  _l.sent();
12573
13241
  return [4 /*yield*/, field_equals_trigger_tests()];
12574
- case 54:
13242
+ case 55:
12575
13243
  _l.sent();
12576
13244
  return [4 /*yield*/, role_based_access_tests()];
12577
- case 55:
13245
+ case 56:
12578
13246
  _l.sent();
12579
13247
  return [4 /*yield*/, enduser_session_tests()];
12580
- case 56:
13248
+ case 57:
12581
13249
  _l.sent();
12582
13250
  return [4 /*yield*/, nextReminderInMS_tests()];
12583
- case 57:
13251
+ case 58:
12584
13252
  _l.sent();
12585
13253
  return [4 /*yield*/, search_tests()];
12586
- case 58:
13254
+ case 59:
12587
13255
  _l.sent();
12588
13256
  return [4 /*yield*/, wait_for_trigger_tests()];
12589
- case 59:
13257
+ case 60:
12590
13258
  _l.sent();
12591
13259
  return [4 /*yield*/, pdf_generation()];
12592
- case 60:
13260
+ case 61:
12593
13261
  _l.sent();
12594
13262
  return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests().catch(console.error)]; // timing is unreliable, uncomment if changing logic
12595
- case 61:
13263
+ case 62:
12596
13264
  _l.sent(); // timing is unreliable, uncomment if changing logic
12597
13265
  return [4 /*yield*/, auto_reply_tests()];
12598
- case 62:
12599
- _l.sent();
12600
- return [4 /*yield*/, sub_organization_enduser_tests()];
12601
13266
  case 63:
12602
13267
  _l.sent();
12603
- return [4 /*yield*/, sub_organization_tests()];
13268
+ return [4 /*yield*/, sub_organization_enduser_tests()];
12604
13269
  case 64:
12605
13270
  _l.sent();
12606
- return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
13271
+ return [4 /*yield*/, sub_organization_tests()];
12607
13272
  case 65:
12608
13273
  _l.sent();
12609
- return [4 /*yield*/, generate_user_auth_tests()];
13274
+ return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
12610
13275
  case 66:
12611
13276
  _l.sent();
12612
- return [4 /*yield*/, generateEnduserAuthTests()];
13277
+ return [4 /*yield*/, generate_user_auth_tests()];
12613
13278
  case 67:
12614
13279
  _l.sent();
12615
- return [4 /*yield*/, public_form_tests()];
13280
+ return [4 /*yield*/, generateEnduserAuthTests()];
12616
13281
  case 68:
12617
13282
  _l.sent();
12618
- return [4 /*yield*/, badInputTests()];
13283
+ return [4 /*yield*/, public_form_tests()];
12619
13284
  case 69:
12620
13285
  _l.sent();
12621
- return [4 /*yield*/, filterTests()];
13286
+ return [4 /*yield*/, badInputTests()];
12622
13287
  case 70:
12623
13288
  _l.sent();
12624
- return [4 /*yield*/, updatesTests()];
13289
+ return [4 /*yield*/, filterTests()];
12625
13290
  case 71:
12626
13291
  _l.sent();
12627
- return [4 /*yield*/, threadKeyTests()];
13292
+ return [4 /*yield*/, updatesTests()];
12628
13293
  case 72:
12629
13294
  _l.sent();
12630
- return [3 /*break*/, 74];
13295
+ return [4 /*yield*/, threadKeyTests()];
12631
13296
  case 73:
13297
+ _l.sent();
13298
+ return [3 /*break*/, 75];
13299
+ case 74:
12632
13300
  err_1 = _l.sent();
12633
13301
  console.error("Failed during custom test");
12634
13302
  if (err_1.message && err_1.info) {
@@ -12638,18 +13306,18 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12638
13306
  console.error(err_1);
12639
13307
  }
12640
13308
  process.exit(1);
12641
- return [3 /*break*/, 74];
12642
- case 74:
13309
+ return [3 /*break*/, 75];
13310
+ case 75:
12643
13311
  _a = schema_1.schema;
12644
13312
  _b = [];
12645
13313
  for (_c in _a)
12646
13314
  _b.push(_c);
12647
13315
  _i = 0;
12648
- _l.label = 75;
12649
- case 75:
12650
- if (!(_i < _b.length)) return [3 /*break*/, 78];
13316
+ _l.label = 76;
13317
+ case 76:
13318
+ if (!(_i < _b.length)) return [3 /*break*/, 79];
12651
13319
  _c = _b[_i];
12652
- if (!(_c in _a)) return [3 /*break*/, 77];
13320
+ if (!(_c in _a)) return [3 /*break*/, 78];
12653
13321
  n = _c;
12654
13322
  returnValidation = (_k = (_j = schema_1.schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
12655
13323
  return [4 /*yield*/, run_generated_tests({
@@ -12660,41 +13328,41 @@ var replace_enduser_template_values_tests = function () { return __awaiter(void
12660
13328
  create: returnValidation // ModelFields<ClientModel>,
12661
13329
  }
12662
13330
  })];
12663
- case 76:
12664
- _l.sent();
12665
- _l.label = 77;
12666
13331
  case 77:
12667
- _i++;
12668
- return [3 /*break*/, 75];
13332
+ _l.sent();
13333
+ _l.label = 78;
12669
13334
  case 78:
13335
+ _i++;
13336
+ return [3 /*break*/, 76];
13337
+ case 79:
12670
13338
  _d = tests;
12671
13339
  _f = [];
12672
13340
  for (_g in _d)
12673
13341
  _f.push(_g);
12674
13342
  _h = 0;
12675
- _l.label = 79;
12676
- case 79:
12677
- if (!(_h < _f.length)) return [3 /*break*/, 84];
12678
- _g = _f[_h];
12679
- if (!(_g in _d)) return [3 /*break*/, 83];
12680
- t = _g;
12681
13343
  _l.label = 80;
12682
13344
  case 80:
12683
- _l.trys.push([80, 82, , 83]);
12684
- return [4 /*yield*/, tests[t]()];
13345
+ if (!(_h < _f.length)) return [3 /*break*/, 85];
13346
+ _g = _f[_h];
13347
+ if (!(_g in _d)) return [3 /*break*/, 84];
13348
+ t = _g;
13349
+ _l.label = 81;
12685
13350
  case 81:
12686
- _l.sent();
12687
- return [3 /*break*/, 83];
13351
+ _l.trys.push([81, 83, , 84]);
13352
+ return [4 /*yield*/, tests[t]()];
12688
13353
  case 82:
13354
+ _l.sent();
13355
+ return [3 /*break*/, 84];
13356
+ case 83:
12689
13357
  err_2 = _l.sent();
12690
13358
  console.error("Error running test:");
12691
13359
  console.error(err_2);
12692
13360
  process.exit(1);
12693
- return [3 /*break*/, 83];
12694
- case 83:
12695
- _h++;
12696
- return [3 /*break*/, 79];
13361
+ return [3 /*break*/, 84];
12697
13362
  case 84:
13363
+ _h++;
13364
+ return [3 /*break*/, 80];
13365
+ case 85:
12698
13366
  process.exit();
12699
13367
  return [2 /*return*/];
12700
13368
  }