@tellescope/sdk 1.237.0 → 1.237.2

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.
Files changed (43) hide show
  1. package/lib/cjs/sdk.d.ts +1 -0
  2. package/lib/cjs/sdk.d.ts.map +1 -1
  3. package/lib/cjs/sdk.js +1 -0
  4. package/lib/cjs/sdk.js.map +1 -1
  5. package/lib/cjs/tests/api_tests/inbox_thread_assignment_updates.test.d.ts.map +1 -1
  6. package/lib/cjs/tests/api_tests/inbox_thread_assignment_updates.test.js +227 -64
  7. package/lib/cjs/tests/api_tests/inbox_thread_assignment_updates.test.js.map +1 -1
  8. package/lib/cjs/tests/api_tests/inbox_thread_draft_scheduled.test.d.ts +6 -0
  9. package/lib/cjs/tests/api_tests/inbox_thread_draft_scheduled.test.d.ts.map +1 -0
  10. package/lib/cjs/tests/api_tests/inbox_thread_draft_scheduled.test.js +717 -0
  11. package/lib/cjs/tests/api_tests/inbox_thread_draft_scheduled.test.js.map +1 -0
  12. package/lib/cjs/tests/api_tests/inbox_thread_mdb_filter.test.d.ts +6 -0
  13. package/lib/cjs/tests/api_tests/inbox_thread_mdb_filter.test.d.ts.map +1 -0
  14. package/lib/cjs/tests/api_tests/inbox_thread_mdb_filter.test.js +372 -0
  15. package/lib/cjs/tests/api_tests/inbox_thread_mdb_filter.test.js.map +1 -0
  16. package/lib/cjs/tests/tests.d.ts.map +1 -1
  17. package/lib/cjs/tests/tests.js +575 -105
  18. package/lib/cjs/tests/tests.js.map +1 -1
  19. package/lib/esm/sdk.d.ts +1 -0
  20. package/lib/esm/sdk.d.ts.map +1 -1
  21. package/lib/esm/sdk.js +1 -0
  22. package/lib/esm/sdk.js.map +1 -1
  23. package/lib/esm/tests/api_tests/inbox_thread_assignment_updates.test.d.ts.map +1 -1
  24. package/lib/esm/tests/api_tests/inbox_thread_assignment_updates.test.js +227 -64
  25. package/lib/esm/tests/api_tests/inbox_thread_assignment_updates.test.js.map +1 -1
  26. package/lib/esm/tests/api_tests/inbox_thread_draft_scheduled.test.d.ts +6 -0
  27. package/lib/esm/tests/api_tests/inbox_thread_draft_scheduled.test.d.ts.map +1 -0
  28. package/lib/esm/tests/api_tests/inbox_thread_draft_scheduled.test.js +713 -0
  29. package/lib/esm/tests/api_tests/inbox_thread_draft_scheduled.test.js.map +1 -0
  30. package/lib/esm/tests/api_tests/inbox_thread_mdb_filter.test.d.ts +6 -0
  31. package/lib/esm/tests/api_tests/inbox_thread_mdb_filter.test.d.ts.map +1 -0
  32. package/lib/esm/tests/api_tests/inbox_thread_mdb_filter.test.js +368 -0
  33. package/lib/esm/tests/api_tests/inbox_thread_mdb_filter.test.js.map +1 -0
  34. package/lib/esm/tests/tests.d.ts.map +1 -1
  35. package/lib/esm/tests/tests.js +575 -105
  36. package/lib/esm/tests/tests.js.map +1 -1
  37. package/lib/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +10 -10
  39. package/src/sdk.ts +4 -0
  40. package/src/tests/api_tests/inbox_thread_assignment_updates.test.ts +149 -0
  41. package/src/tests/api_tests/inbox_thread_draft_scheduled.test.ts +625 -0
  42. package/src/tests/tests.ts +401 -1
  43. package/test_generated.pdf +0 -0
@@ -103,6 +103,7 @@ var sdk_1 = require("../sdk");
103
103
  var enduser_observations_acknowledge_test_1 = require("./api_tests/enduser_observations_acknowledge.test");
104
104
  var create_user_notifications_trigger_test_1 = require("./api_tests/create_user_notifications_trigger.test");
105
105
  var inbox_thread_assignment_updates_test_1 = require("./api_tests/inbox_thread_assignment_updates.test");
106
+ var inbox_thread_draft_scheduled_test_1 = require("./api_tests/inbox_thread_draft_scheduled.test");
106
107
  var appointment_completed_trigger_test_1 = require("./api_tests/appointment_completed_trigger.test");
107
108
  var purchase_made_trigger_test_1 = require("./api_tests/purchase_made_trigger.test");
108
109
  var appointment_rescheduled_trigger_test_1 = require("./api_tests/appointment_rescheduled_trigger.test");
@@ -14867,6 +14868,469 @@ var inbox_threads_loading_tests = function () { return __awaiter(void 0, void 0,
14867
14868
  }
14868
14869
  });
14869
14870
  }); };
14871
+ var inbox_threads_new_fields_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
14872
+ var e, resetThreadsAndDates, i, start, resetThreadBuildingDates, from, chatRoom, groupMMS, inboundCall, outboundCall, archivedDate, trashedDate, beforeReset, resetResult, afterReset, org, epochTime, emptyResetResult;
14873
+ var _a, _b;
14874
+ return __generator(this, function (_c) {
14875
+ switch (_c.label) {
14876
+ case 0:
14877
+ (0, testing_1.log_header)("Inbox Thread New Fields Tests (archivedAt, trashedAt, senderIds)");
14878
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Test', lname: 'NewFields' })
14879
+ // Use the new reset_threads endpoint for full resets (delete threads + reset dates)
14880
+ ];
14881
+ case 1:
14882
+ e = _c.sent();
14883
+ resetThreadsAndDates = function () { return sdk.api.inbox_threads.reset_threads(); };
14884
+ i = 0;
14885
+ start = new Date();
14886
+ resetThreadBuildingDates = function () { return (sdk.api.organizations.updateOne(businessId, {
14887
+ inboxThreadsBuiltFrom: new Date(start.getTime() + (i++)),
14888
+ inboxThreadsBuiltTo: new Date(start.getTime() + (i++))
14889
+ })); };
14890
+ // Start with clean state
14891
+ return [4 /*yield*/, resetThreadsAndDates()];
14892
+ case 2:
14893
+ // Start with clean state
14894
+ _c.sent();
14895
+ from = new Date(start.getTime() - 10000);
14896
+ // Test 1: Sender ID Tests - Email
14897
+ (0, testing_1.log_header)("Sender ID Tests - Email");
14898
+ return [4 /*yield*/, sdk.api.emails.createOne({
14899
+ logOnly: true,
14900
+ subject: 'Test Email Inbound',
14901
+ textContent: 'Inbound email',
14902
+ enduserId: e.id,
14903
+ inbound: true,
14904
+ userId: sdk.userInfo.id,
14905
+ })];
14906
+ case 3:
14907
+ _c.sent();
14908
+ return [4 /*yield*/, sdk.api.emails.createOne({
14909
+ logOnly: true,
14910
+ subject: 'Test Email Inbound',
14911
+ textContent: 'Outbound email',
14912
+ enduserId: e.id,
14913
+ inbound: false,
14914
+ userId: sdk.userInfo.id,
14915
+ })];
14916
+ case 4:
14917
+ _c.sent();
14918
+ return [4 /*yield*/, (0, testing_1.async_test)('build email threads with sender IDs', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
14919
+ var alreadyBuilt = _a.alreadyBuilt;
14920
+ return !alreadyBuilt;
14921
+ } })];
14922
+ case 5:
14923
+ _c.sent();
14924
+ return [4 /*yield*/, (0, testing_1.async_test)('verify email thread has correct sender IDs', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
14925
+ var threads = _a.threads;
14926
+ var emailThread = threads.find(function (t) { return t.type === 'Email'; });
14927
+ return !!emailThread
14928
+ && emailThread.recentOutboundUserId === sdk.userInfo.id
14929
+ && emailThread.recentInboundEnduserId === e.id;
14930
+ } })
14931
+ // Test 2: Sender ID Tests - SMS
14932
+ ];
14933
+ case 6:
14934
+ _c.sent();
14935
+ // Test 2: Sender ID Tests - SMS
14936
+ (0, testing_1.log_header)("Sender ID Tests - SMS");
14937
+ return [4 /*yield*/, resetThreadsAndDates()];
14938
+ case 7:
14939
+ _c.sent();
14940
+ return [4 /*yield*/, sdk.api.sms_messages.createOne({
14941
+ logOnly: true,
14942
+ inbound: true,
14943
+ enduserId: e.id,
14944
+ message: 'Inbound SMS',
14945
+ userId: sdk.userInfo.id,
14946
+ phoneNumber: '+15555555555',
14947
+ enduserPhoneNumber: '+15555555556',
14948
+ })];
14949
+ case 8:
14950
+ _c.sent();
14951
+ return [4 /*yield*/, sdk.api.sms_messages.createOne({
14952
+ logOnly: true,
14953
+ inbound: false,
14954
+ enduserId: e.id,
14955
+ message: 'Outbound SMS',
14956
+ userId: sdk.userInfo.id,
14957
+ phoneNumber: '+15555555555',
14958
+ enduserPhoneNumber: '+15555555556',
14959
+ })];
14960
+ case 9:
14961
+ _c.sent();
14962
+ return [4 /*yield*/, (0, testing_1.async_test)('build SMS threads with sender IDs', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
14963
+ var alreadyBuilt = _a.alreadyBuilt;
14964
+ return !alreadyBuilt;
14965
+ } })];
14966
+ case 10:
14967
+ _c.sent();
14968
+ return [4 /*yield*/, (0, testing_1.async_test)('verify SMS thread has correct sender IDs', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
14969
+ var threads = _a.threads;
14970
+ var smsThread = threads.find(function (t) { return t.type === 'SMS'; });
14971
+ return !!smsThread
14972
+ && smsThread.recentOutboundUserId === sdk.userInfo.id
14973
+ && smsThread.recentInboundEnduserId === e.id;
14974
+ } })
14975
+ // Test 3: Sender ID Tests - ChatRoom
14976
+ ];
14977
+ case 11:
14978
+ _c.sent();
14979
+ // Test 3: Sender ID Tests - ChatRoom
14980
+ (0, testing_1.log_header)("Sender ID Tests - ChatRoom");
14981
+ return [4 /*yield*/, resetThreadsAndDates()];
14982
+ case 12:
14983
+ _c.sent();
14984
+ return [4 /*yield*/, sdk.api.chat_rooms.createOne({
14985
+ title: 'Test Chat Room',
14986
+ userIds: [sdk.userInfo.id],
14987
+ enduserIds: [e.id],
14988
+ })
14989
+ // First message from user (outbound)
14990
+ ];
14991
+ case 13:
14992
+ chatRoom = _c.sent();
14993
+ // First message from user (outbound)
14994
+ return [4 /*yield*/, sdk.api.chats.createOne({ roomId: chatRoom.id, message: 'User message', senderId: sdk.userInfo.id })];
14995
+ case 14:
14996
+ // First message from user (outbound)
14997
+ _c.sent();
14998
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 500)];
14999
+ case 15:
15000
+ _c.sent();
15001
+ return [4 /*yield*/, (0, testing_1.async_test)('build chat threads after user message', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15002
+ var alreadyBuilt = _a.alreadyBuilt;
15003
+ return !alreadyBuilt;
15004
+ } })];
15005
+ case 16:
15006
+ _c.sent();
15007
+ return [4 /*yield*/, (0, testing_1.async_test)('verify chat thread has outbound userId only', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15008
+ var threads = _a.threads;
15009
+ var chatThread = threads.find(function (t) { return t.type === 'Chat'; });
15010
+ return !!chatThread
15011
+ && chatThread.recentOutboundUserId === sdk.userInfo.id
15012
+ && !chatThread.recentInboundEnduserId;
15013
+ } })
15014
+ // Now enduser sends a message (becomes recentSender, but merge preserves previous outbound userId)
15015
+ ];
15016
+ case 17:
15017
+ _c.sent();
15018
+ // Now enduser sends a message (becomes recentSender, but merge preserves previous outbound userId)
15019
+ return [4 /*yield*/, sdk.api.chats.createOne({ roomId: chatRoom.id, message: 'Enduser message', enduserId: e.id, senderId: e.id })];
15020
+ case 18:
15021
+ // Now enduser sends a message (becomes recentSender, but merge preserves previous outbound userId)
15022
+ _c.sent();
15023
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 500)];
15024
+ case 19:
15025
+ _c.sent();
15026
+ return [4 /*yield*/, resetThreadBuildingDates()]; // Only reset dates, keep existing thread for merge test
15027
+ case 20:
15028
+ _c.sent(); // Only reset dates, keep existing thread for merge test
15029
+ return [4 /*yield*/, (0, testing_1.async_test)('rebuild chat threads after enduser message', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15030
+ var alreadyBuilt = _a.alreadyBuilt;
15031
+ return !alreadyBuilt;
15032
+ } })];
15033
+ case 21:
15034
+ _c.sent();
15035
+ return [4 /*yield*/, (0, testing_1.async_test)('verify chat thread has both sender IDs (merge preserves previous)', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15036
+ var threads = _a.threads;
15037
+ var chatThread = threads.find(function (t) { return t.type === 'Chat'; });
15038
+ // ChatRoom only tracks one recentSender at a time, but merge preserves both IDs
15039
+ return !!chatThread
15040
+ && chatThread.recentOutboundUserId === sdk.userInfo.id // preserved from previous build
15041
+ && chatThread.recentInboundEnduserId === e.id; // from current build
15042
+ } })
15043
+ // Test 4: Sender ID Tests - GroupMMS
15044
+ ];
15045
+ case 22:
15046
+ _c.sent();
15047
+ // Test 4: Sender ID Tests - GroupMMS
15048
+ (0, testing_1.log_header)("Sender ID Tests - GroupMMS");
15049
+ return [4 /*yield*/, resetThreadsAndDates()];
15050
+ case 23:
15051
+ _c.sent();
15052
+ return [4 /*yield*/, sdk.api.group_mms_conversations.createOne({
15053
+ enduserIds: [e.id],
15054
+ userIds: [sdk.userInfo.id],
15055
+ userStates: [],
15056
+ messages: [
15057
+ { message: 'Inbound message', sender: e.id, timestamp: Date.now() - 1000, logOnly: true },
15058
+ { message: 'Outbound message', sender: sdk.userInfo.id, timestamp: Date.now(), logOnly: true },
15059
+ ],
15060
+ })];
15061
+ case 24:
15062
+ groupMMS = _c.sent();
15063
+ return [4 /*yield*/, (0, testing_1.async_test)('build GroupMMS threads with sender IDs', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15064
+ var alreadyBuilt = _a.alreadyBuilt;
15065
+ return !alreadyBuilt;
15066
+ } })];
15067
+ case 25:
15068
+ _c.sent();
15069
+ return [4 /*yield*/, (0, testing_1.async_test)('verify GroupMMS thread has correct sender IDs', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15070
+ var threads = _a.threads;
15071
+ var groupMMSThread = threads.find(function (t) { return t.type === 'GroupMMS'; });
15072
+ return !!groupMMSThread
15073
+ && groupMMSThread.recentOutboundUserId === sdk.userInfo.id
15074
+ && groupMMSThread.recentInboundEnduserId === e.id;
15075
+ } })
15076
+ // Test 5: Sender ID Tests - PhoneCall
15077
+ ];
15078
+ case 26:
15079
+ _c.sent();
15080
+ // Test 5: Sender ID Tests - PhoneCall
15081
+ (0, testing_1.log_header)("Sender ID Tests - PhoneCall");
15082
+ return [4 /*yield*/, resetThreadsAndDates()];
15083
+ case 27:
15084
+ _c.sent();
15085
+ return [4 /*yield*/, sdk.api.phone_calls.createOne({
15086
+ enduserId: e.id,
15087
+ inbound: true,
15088
+ to: '+15555555555',
15089
+ from: '+15555555556',
15090
+ userId: sdk.userInfo.id,
15091
+ })];
15092
+ case 28:
15093
+ inboundCall = _c.sent();
15094
+ return [4 /*yield*/, (0, testing_1.async_test)('build phone call threads (inbound)', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15095
+ var alreadyBuilt = _a.alreadyBuilt;
15096
+ return !alreadyBuilt;
15097
+ } })];
15098
+ case 29:
15099
+ _c.sent();
15100
+ return [4 /*yield*/, (0, testing_1.async_test)('verify inbound phone call thread has enduserId', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15101
+ var threads = _a.threads;
15102
+ var callThread = threads.find(function (t) { return t.type === 'Phone' && t.threadId === inboundCall.id; });
15103
+ return !!callThread
15104
+ && !callThread.recentOutboundUserId
15105
+ && callThread.recentInboundEnduserId === e.id;
15106
+ } })
15107
+ // Test outbound call separately to avoid date range issues
15108
+ ];
15109
+ case 30:
15110
+ _c.sent();
15111
+ // Test outbound call separately to avoid date range issues
15112
+ return [4 /*yield*/, resetThreadsAndDates()];
15113
+ case 31:
15114
+ // Test outbound call separately to avoid date range issues
15115
+ _c.sent();
15116
+ return [4 /*yield*/, sdk.api.phone_calls.createOne({
15117
+ enduserId: e.id,
15118
+ inbound: false,
15119
+ to: '+15555555556',
15120
+ from: '+15555555555',
15121
+ userId: sdk.userInfo.id,
15122
+ })];
15123
+ case 32:
15124
+ outboundCall = _c.sent();
15125
+ return [4 /*yield*/, (0, testing_1.async_test)('build phone call threads (outbound)', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15126
+ var alreadyBuilt = _a.alreadyBuilt;
15127
+ return !alreadyBuilt;
15128
+ } })];
15129
+ case 33:
15130
+ _c.sent();
15131
+ return [4 /*yield*/, (0, testing_1.async_test)('verify outbound phone call thread has userId', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15132
+ var threads = _a.threads;
15133
+ var callThread = threads.find(function (t) { return t.type === 'Phone' && t.threadId === outboundCall.id; });
15134
+ return !!callThread
15135
+ && callThread.recentOutboundUserId === sdk.userInfo.id
15136
+ && !callThread.recentInboundEnduserId;
15137
+ } })
15138
+ // Test 6: Archive/Trash Tests - Propagation
15139
+ ];
15140
+ case 34:
15141
+ _c.sent();
15142
+ // Test 6: Archive/Trash Tests - Propagation
15143
+ (0, testing_1.log_header)("Archive/Trash Tests - Propagation");
15144
+ return [4 /*yield*/, resetThreadsAndDates()];
15145
+ case 35:
15146
+ _c.sent();
15147
+ archivedDate = new Date();
15148
+ return [4 /*yield*/, sdk.api.emails.createOne({
15149
+ logOnly: true,
15150
+ subject: 'Archived Email',
15151
+ textContent: 'This email is archived',
15152
+ enduserId: e.id,
15153
+ inbound: true,
15154
+ userId: sdk.userInfo.id,
15155
+ archivedAt: archivedDate,
15156
+ })];
15157
+ case 36:
15158
+ _c.sent();
15159
+ return [4 /*yield*/, (0, testing_1.async_test)('build threads with archived email', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15160
+ var alreadyBuilt = _a.alreadyBuilt;
15161
+ return !alreadyBuilt;
15162
+ } })];
15163
+ case 37:
15164
+ _c.sent();
15165
+ return [4 /*yield*/, (0, testing_1.async_test)('verify thread has archivedAt populated', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15166
+ var threads = _a.threads;
15167
+ var emailThread = threads.find(function (t) { return t.type === 'Email'; });
15168
+ return !!emailThread
15169
+ && !!emailThread.archivedAt
15170
+ && new Date(emailThread.archivedAt).getTime() === archivedDate.getTime();
15171
+ } })
15172
+ // Test 7: Archive/Trash Tests - Clearing (new message clears archived status)
15173
+ ];
15174
+ case 38:
15175
+ _c.sent();
15176
+ // Test 7: Archive/Trash Tests - Clearing (new message clears archived status)
15177
+ (0, testing_1.log_header)("Archive/Trash Tests - Clearing");
15178
+ return [4 /*yield*/, sdk.api.emails.createOne({
15179
+ logOnly: true,
15180
+ subject: 'Archived Email',
15181
+ textContent: 'This email is NOT archived',
15182
+ enduserId: e.id,
15183
+ inbound: true,
15184
+ userId: sdk.userInfo.id,
15185
+ // No archivedAt
15186
+ })];
15187
+ case 39:
15188
+ _c.sent();
15189
+ return [4 /*yield*/, resetThreadBuildingDates()]; // Only reset dates, keep existing thread for merge test
15190
+ case 40:
15191
+ _c.sent(); // Only reset dates, keep existing thread for merge test
15192
+ return [4 /*yield*/, (0, testing_1.async_test)('rebuild threads after non-archived message', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15193
+ var alreadyBuilt = _a.alreadyBuilt;
15194
+ return !alreadyBuilt;
15195
+ } })];
15196
+ case 41:
15197
+ _c.sent();
15198
+ return [4 /*yield*/, (0, testing_1.async_test)('verify thread archivedAt is cleared', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15199
+ var threads = _a.threads;
15200
+ var emailThread = threads.find(function (t) { return t.type === 'Email'; });
15201
+ return !!emailThread && emailThread.archivedAt === '';
15202
+ } })
15203
+ // Test 8: Archive/Trash Tests - trashedAt propagation
15204
+ ];
15205
+ case 42:
15206
+ _c.sent();
15207
+ // Test 8: Archive/Trash Tests - trashedAt propagation
15208
+ (0, testing_1.log_header)("Archive/Trash Tests - Trashed Propagation");
15209
+ return [4 /*yield*/, resetThreadsAndDates()];
15210
+ case 43:
15211
+ _c.sent();
15212
+ trashedDate = new Date();
15213
+ return [4 /*yield*/, sdk.api.sms_messages.createOne({
15214
+ logOnly: true,
15215
+ inbound: true,
15216
+ enduserId: e.id,
15217
+ message: 'Trashed SMS',
15218
+ userId: sdk.userInfo.id,
15219
+ phoneNumber: '+15555555557',
15220
+ enduserPhoneNumber: '+15555555558',
15221
+ trashedAt: trashedDate,
15222
+ })];
15223
+ case 44:
15224
+ _c.sent();
15225
+ return [4 /*yield*/, (0, testing_1.async_test)('build threads with trashed SMS', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15226
+ var alreadyBuilt = _a.alreadyBuilt;
15227
+ return !alreadyBuilt;
15228
+ } })];
15229
+ case 45:
15230
+ _c.sent();
15231
+ return [4 /*yield*/, (0, testing_1.async_test)('verify thread has trashedAt populated', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15232
+ var threads = _a.threads;
15233
+ var smsThread = threads.find(function (t) { return t.type === 'SMS' && t.phoneNumber === '+15555555557'; });
15234
+ return !!smsThread
15235
+ && !!smsThread.trashedAt
15236
+ && new Date(smsThread.trashedAt).getTime() === trashedDate.getTime();
15237
+ } })
15238
+ // Test 9: Archive/Trash Tests - Most Recent Archived, Older Not
15239
+ ];
15240
+ case 46:
15241
+ _c.sent();
15242
+ // Test 9: Archive/Trash Tests - Most Recent Archived, Older Not
15243
+ (0, testing_1.log_header)("Archive/Trash Tests - Most Recent Archived, Older Not");
15244
+ return [4 /*yield*/, resetThreadsAndDates()
15245
+ // Create non-archived message first (older)
15246
+ ];
15247
+ case 47:
15248
+ _c.sent();
15249
+ // Create non-archived message first (older)
15250
+ return [4 /*yield*/, sdk.api.emails.createOne({
15251
+ logOnly: true,
15252
+ subject: 'Archive Order Test',
15253
+ textContent: 'Older non-archived email',
15254
+ enduserId: e.id,
15255
+ inbound: true,
15256
+ userId: sdk.userInfo.id,
15257
+ // No archivedAt
15258
+ })];
15259
+ case 48:
15260
+ // Create non-archived message first (older)
15261
+ _c.sent();
15262
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)
15263
+ // Create archived message second (newer = most recent)
15264
+ ]; // Small delay to ensure ordering
15265
+ case 49:
15266
+ _c.sent(); // Small delay to ensure ordering
15267
+ // Create archived message second (newer = most recent)
15268
+ return [4 /*yield*/, sdk.api.emails.createOne({
15269
+ logOnly: true,
15270
+ subject: 'Archive Order Test',
15271
+ textContent: 'Newer archived email',
15272
+ enduserId: e.id,
15273
+ inbound: true,
15274
+ userId: sdk.userInfo.id,
15275
+ archivedAt: new Date(),
15276
+ })];
15277
+ case 50:
15278
+ // Create archived message second (newer = most recent)
15279
+ _c.sent();
15280
+ return [4 /*yield*/, (0, testing_1.async_test)('build threads for archive order test', function () { return sdk.api.inbox_threads.build_threads({ from: from, to: new Date() }); }, { onResult: function (_a) {
15281
+ var alreadyBuilt = _a.alreadyBuilt;
15282
+ return !alreadyBuilt;
15283
+ } })];
15284
+ case 51:
15285
+ _c.sent();
15286
+ return [4 /*yield*/, (0, testing_1.async_test)('verify thread archivedAt follows most recent message (IS archived)', function () { return sdk.api.inbox_threads.load_threads({}); }, { onResult: function (_a) {
15287
+ var threads = _a.threads;
15288
+ var emailThread = threads.find(function (t) { return t.type === 'Email'; });
15289
+ // Most recent message is archived, so thread should be archived
15290
+ return !!emailThread && !!emailThread.archivedAt;
15291
+ } })
15292
+ // Test 10: Reset Threads Endpoint - Comprehensive Coverage
15293
+ ];
15294
+ case 52:
15295
+ _c.sent();
15296
+ // Test 10: Reset Threads Endpoint - Comprehensive Coverage
15297
+ (0, testing_1.log_header)("Reset Threads Endpoint Test");
15298
+ return [4 /*yield*/, sdk.api.inbox_threads.load_threads({})];
15299
+ case 53:
15300
+ beforeReset = _c.sent();
15301
+ (0, testing_1.assert)(beforeReset.threads.length > 0, 'no threads before reset test', 'threads exist before reset test');
15302
+ return [4 /*yield*/, sdk.api.inbox_threads.reset_threads()];
15303
+ case 54:
15304
+ resetResult = _c.sent();
15305
+ (0, testing_1.assert)(resetResult.deletedCount > 0, 'no threads deleted by reset', 'reset_threads deleted threads');
15306
+ return [4 /*yield*/, sdk.api.inbox_threads.load_threads({})];
15307
+ case 55:
15308
+ afterReset = _c.sent();
15309
+ (0, testing_1.assert)(afterReset.threads.length === 0, 'threads remain after reset', 'all threads deleted after reset');
15310
+ return [4 /*yield*/, sdk.api.organizations.getOne(businessId)];
15311
+ case 56:
15312
+ org = _c.sent();
15313
+ epochTime = new Date(0).getTime();
15314
+ (0, testing_1.assert)(new Date((_a = org.inboxThreadsBuiltFrom) !== null && _a !== void 0 ? _a : 0).getTime() === epochTime, 'inboxThreadsBuiltFrom not reset to epoch', 'organization inboxThreadsBuiltFrom reset to epoch');
15315
+ (0, testing_1.assert)(new Date((_b = org.inboxThreadsBuiltTo) !== null && _b !== void 0 ? _b : 0).getTime() === epochTime, 'inboxThreadsBuiltTo not reset to epoch', 'organization inboxThreadsBuiltTo reset to epoch');
15316
+ return [4 /*yield*/, sdk.api.inbox_threads.reset_threads()];
15317
+ case 57:
15318
+ emptyResetResult = _c.sent();
15319
+ (0, testing_1.assert)(emptyResetResult.deletedCount === 0, 'deletedCount should be 0 when no threads', 'reset with no threads returns 0');
15320
+ // Cleanup
15321
+ return [4 /*yield*/, Promise.all([
15322
+ sdk.api.endusers.deleteOne(e.id),
15323
+ sdk.api.chat_rooms.deleteOne(chatRoom.id).catch(function () { }),
15324
+ sdk.api.group_mms_conversations.deleteOne(groupMMS.id).catch(function () { }),
15325
+ resetThreadsAndDates(), // Use the new endpoint for cleanup
15326
+ ])];
15327
+ case 58:
15328
+ // Cleanup
15329
+ _c.sent();
15330
+ return [2 /*return*/];
15331
+ }
15332
+ });
15333
+ }); };
14870
15334
  var get_next_reminder_timestamp_tests = function () {
14871
15335
  (0, testing_1.log_header)("Get Next Reminder Timestamp Tests");
14872
15336
  var startTimeInMS = Date.now();
@@ -14970,7 +15434,7 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
14970
15434
  (0, testing_1.assert)((0, utilities_1.truncate_string)(null, { length: 4, showEllipsis: false }) === '', 'truncate doesnt work for non string', 'trucate works for non-string');
14971
15435
  _l.label = 2;
14972
15436
  case 2:
14973
- _l.trys.push([2, 94, , 95]);
15437
+ _l.trys.push([2, 96, , 97]);
14974
15438
  get_next_reminder_timestamp_tests();
14975
15439
  (0, exports.form_conditional_logic_tests)();
14976
15440
  return [4 /*yield*/, test_weighted_round_robin()];
@@ -15111,243 +15575,249 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
15111
15575
  return [4 /*yield*/, (0, setup_1.setup_tests)(sdk, sdkNonAdmin)];
15112
15576
  case 16:
15113
15577
  _l.sent();
15114
- return [4 /*yield*/, (0, auto_merge_form_submission_test_1.auto_merge_form_submission_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15578
+ return [4 /*yield*/, (0, inbox_thread_assignment_updates_test_1.inbox_thread_assignment_updates_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15115
15579
  case 17:
15116
15580
  _l.sent();
15117
- return [4 /*yield*/, threadKeyTests()];
15581
+ return [4 /*yield*/, (0, inbox_thread_draft_scheduled_test_1.inbox_thread_draft_scheduled_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15118
15582
  case 18:
15119
15583
  _l.sent();
15120
- return [4 /*yield*/, automation_trigger_tests()];
15584
+ return [4 /*yield*/, inbox_threads_new_fields_tests()];
15121
15585
  case 19:
15122
15586
  _l.sent();
15123
- return [4 /*yield*/, (0, managed_content_enduser_access_test_1.managed_content_enduser_access_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15587
+ return [4 /*yield*/, (0, auto_merge_form_submission_test_1.auto_merge_form_submission_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15124
15588
  case 20:
15125
15589
  _l.sent();
15126
- return [4 /*yield*/, (0, afteraction_day_of_month_delay_test_1.afteraction_day_of_month_delay_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15590
+ return [4 /*yield*/, threadKeyTests()];
15127
15591
  case 21:
15128
15592
  _l.sent();
15129
- return [4 /*yield*/, (0, bulk_assignment_test_1.bulk_assignment_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15593
+ return [4 /*yield*/, automation_trigger_tests()];
15130
15594
  case 22:
15131
15595
  _l.sent();
15132
- return [4 /*yield*/, (0, custom_aggregation_test_1.custom_aggregation_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15596
+ return [4 /*yield*/, (0, managed_content_enduser_access_test_1.managed_content_enduser_access_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15133
15597
  case 23:
15134
15598
  _l.sent();
15135
- return [4 /*yield*/, (0, exports.formsort_tests)()];
15599
+ return [4 /*yield*/, (0, afteraction_day_of_month_delay_test_1.afteraction_day_of_month_delay_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15136
15600
  case 24:
15137
15601
  _l.sent();
15138
- return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
15602
+ return [4 /*yield*/, (0, bulk_assignment_test_1.bulk_assignment_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15139
15603
  case 25:
15140
15604
  _l.sent();
15141
- return [4 /*yield*/, (0, time_tracks_test_1.time_tracks_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15605
+ return [4 /*yield*/, (0, custom_aggregation_test_1.custom_aggregation_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15142
15606
  case 26:
15143
15607
  _l.sent();
15144
- return [4 /*yield*/, (0, calendar_event_limits_test_1.calendar_event_limits_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15608
+ return [4 /*yield*/, (0, exports.formsort_tests)()];
15145
15609
  case 27:
15146
15610
  _l.sent();
15147
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
15611
+ return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
15148
15612
  case 28:
15149
15613
  _l.sent();
15150
- return [4 /*yield*/, (0, monthly_availability_restrictions_test_1.monthly_availability_restrictions_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15614
+ return [4 /*yield*/, (0, time_tracks_test_1.time_tracks_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15151
15615
  case 29:
15152
15616
  _l.sent();
15153
- return [4 /*yield*/, (0, journey_error_branching_test_1.journey_error_branching_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15617
+ return [4 /*yield*/, (0, calendar_event_limits_test_1.calendar_event_limits_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15154
15618
  case 30:
15155
15619
  _l.sent();
15156
- return [4 /*yield*/, (0, inbox_thread_assignment_updates_test_1.inbox_thread_assignment_updates_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15620
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
15157
15621
  case 31:
15158
15622
  _l.sent();
15159
- return [4 /*yield*/, (0, message_assignment_trigger_test_1.message_assignment_trigger_tests)({ sdk: sdk })];
15623
+ return [4 /*yield*/, (0, monthly_availability_restrictions_test_1.monthly_availability_restrictions_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15160
15624
  case 32:
15161
15625
  _l.sent();
15162
- return [4 /*yield*/, inbox_threads_building_tests()];
15626
+ return [4 /*yield*/, (0, journey_error_branching_test_1.journey_error_branching_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15163
15627
  case 33:
15164
15628
  _l.sent();
15165
- return [4 /*yield*/, inbox_threads_loading_tests()];
15629
+ return [4 /*yield*/, (0, message_assignment_trigger_test_1.message_assignment_trigger_tests)({ sdk: sdk })];
15166
15630
  case 34:
15167
15631
  _l.sent();
15168
- return [4 /*yield*/, (0, load_inbox_data_test_1.load_inbox_data_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15632
+ return [4 /*yield*/, inbox_threads_building_tests()];
15169
15633
  case 35:
15170
15634
  _l.sent();
15171
- return [4 /*yield*/, (0, enduser_observations_acknowledge_test_1.enduser_observations_acknowledge_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15635
+ return [4 /*yield*/, inbox_threads_loading_tests()];
15172
15636
  case 36:
15173
15637
  _l.sent();
15174
- return [4 /*yield*/, (0, create_user_notifications_trigger_test_1.create_user_notifications_trigger_tests)({ sdk: sdk })];
15638
+ return [4 /*yield*/, (0, load_inbox_data_test_1.load_inbox_data_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15175
15639
  case 37:
15176
15640
  _l.sent();
15177
- return [4 /*yield*/, group_mms_active_tests()];
15641
+ return [4 /*yield*/, (0, enduser_observations_acknowledge_test_1.enduser_observations_acknowledge_tests)({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
15178
15642
  case 38:
15179
15643
  _l.sent();
15180
- return [4 /*yield*/, auto_reply_tests()];
15644
+ return [4 /*yield*/, (0, create_user_notifications_trigger_test_1.create_user_notifications_trigger_tests)({ sdk: sdk })];
15181
15645
  case 39:
15182
15646
  _l.sent();
15183
- return [4 /*yield*/, (0, exports.relationships_tests)()];
15647
+ return [4 /*yield*/, group_mms_active_tests()];
15184
15648
  case 40:
15185
15649
  _l.sent();
15186
- return [4 /*yield*/, rate_limit_tests()];
15650
+ return [4 /*yield*/, auto_reply_tests()];
15187
15651
  case 41:
15188
15652
  _l.sent();
15189
- return [4 /*yield*/, ip_address_form_tests()];
15653
+ return [4 /*yield*/, (0, exports.relationships_tests)()];
15190
15654
  case 42:
15191
15655
  _l.sent();
15192
- return [4 /*yield*/, bulk_update_tests()];
15656
+ return [4 /*yield*/, rate_limit_tests()];
15193
15657
  case 43:
15194
15658
  _l.sent();
15195
- return [4 /*yield*/, (0, exports.cancel_upcoming_appointments_journey_action_test)()];
15659
+ return [4 /*yield*/, ip_address_form_tests()];
15196
15660
  case 44:
15197
15661
  _l.sent();
15198
- return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
15662
+ return [4 /*yield*/, bulk_update_tests()];
15199
15663
  case 45:
15664
+ _l.sent();
15665
+ return [4 /*yield*/, (0, exports.cancel_upcoming_appointments_journey_action_test)()];
15666
+ case 46:
15667
+ _l.sent();
15668
+ return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
15669
+ case 47:
15200
15670
  _l.sent(); // should come right after setup tests
15201
15671
  return [4 /*yield*/, sync_tests_with_access_tags()]; // should come directly after setup to avoid extra sync values
15202
- case 46:
15672
+ case 48:
15203
15673
  _l.sent(); // should come directly after setup to avoid extra sync values
15204
15674
  return [4 /*yield*/, sync_tests()]; // should come directly after setup to avoid extra sync values
15205
- case 47:
15675
+ case 49:
15206
15676
  _l.sent(); // should come directly after setup to avoid extra sync values
15207
15677
  return [4 /*yield*/, get_templated_message_tests()];
15208
- case 48:
15678
+ case 50:
15209
15679
  _l.sent();
15210
15680
  return [4 /*yield*/, updatedAt_tests()];
15211
- case 49:
15681
+ case 51:
15212
15682
  _l.sent();
15213
15683
  return [4 /*yield*/, file_source_tests()];
15214
- case 50:
15684
+ case 52:
15215
15685
  _l.sent();
15216
15686
  return [4 /*yield*/, enduser_access_tags_tests()];
15217
- case 51:
15687
+ case 53:
15218
15688
  _l.sent();
15219
15689
  return [4 /*yield*/, enduserAccessTests()];
15220
- case 52:
15690
+ case 54:
15221
15691
  _l.sent();
15222
15692
  return [4 /*yield*/, test_form_response_search()];
15223
- case 53:
15693
+ case 55:
15224
15694
  _l.sent();
15225
15695
  return [4 /*yield*/, date_parsing_tests()];
15226
- case 54:
15696
+ case 56:
15227
15697
  _l.sent();
15228
15698
  return [4 /*yield*/, fromEmailOverride_tests()];
15229
- case 55:
15699
+ case 57:
15230
15700
  _l.sent();
15231
15701
  return [4 /*yield*/, ticket_tests()];
15232
- case 56:
15702
+ case 58:
15233
15703
  _l.sent();
15234
15704
  return [4 /*yield*/, uniqueness_tests()];
15235
- case 57:
15705
+ case 59:
15236
15706
  _l.sent();
15237
15707
  return [4 /*yield*/, (0, exports.enduser_orders_tests)()];
15238
- case 58:
15708
+ case 60:
15239
15709
  _l.sent();
15240
15710
  return [4 /*yield*/, calendar_event_care_team_tests()];
15241
- case 59:
15711
+ case 61:
15242
15712
  _l.sent();
15243
15713
  return [4 /*yield*/, merge_enduser_tests()];
15244
- case 60:
15714
+ case 62:
15245
15715
  _l.sent();
15246
15716
  return [4 /*yield*/, input_modifier_tests()];
15247
- case 61:
15717
+ case 63:
15248
15718
  _l.sent();
15249
15719
  return [4 /*yield*/, (0, exports.switch_to_related_contacts_tests)()];
15250
- case 62:
15720
+ case 64:
15251
15721
  _l.sent();
15252
15722
  return [4 /*yield*/, redaction_tests()];
15253
- case 63:
15723
+ case 65:
15254
15724
  _l.sent();
15255
15725
  return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
15256
- case 64:
15726
+ case 66:
15257
15727
  _l.sent();
15258
15728
  return [4 /*yield*/, mdb_filter_tests()];
15259
- case 65:
15729
+ case 67:
15260
15730
  _l.sent();
15261
15731
  return [4 /*yield*/, superadmin_tests()];
15262
- case 66:
15732
+ case 68:
15263
15733
  _l.sent();
15264
15734
  return [4 /*yield*/, (0, exports.ticket_queue_tests)()];
15265
- case 67:
15735
+ case 69:
15266
15736
  _l.sent();
15267
15737
  return [4 /*yield*/, vital_trigger_tests()];
15268
- case 68:
15738
+ case 70:
15269
15739
  _l.sent();
15270
15740
  return [4 /*yield*/, close_reasons_no_duplicates_tests()];
15271
- case 69:
15741
+ case 71:
15272
15742
  _l.sent();
15273
15743
  return [4 /*yield*/, register_as_enduser_tests()];
15274
- case 70:
15744
+ case 72:
15275
15745
  _l.sent();
15276
15746
  return [4 /*yield*/, lockout_tests()];
15277
- case 71:
15747
+ case 73:
15278
15748
  _l.sent();
15279
15749
  return [4 /*yield*/, delete_user_tests()
15280
15750
  // await test_send_with_template()
15281
15751
  ];
15282
- case 72:
15752
+ case 74:
15283
15753
  _l.sent();
15284
15754
  // await test_send_with_template()
15285
15755
  return [4 /*yield*/, bulk_read_tests()];
15286
- case 73:
15756
+ case 75:
15287
15757
  // await test_send_with_template()
15288
15758
  _l.sent();
15289
15759
  return [4 /*yield*/, (0, exports.ticket_reminder_tests)()];
15290
- case 74:
15760
+ case 76:
15291
15761
  _l.sent();
15292
15762
  return [4 /*yield*/, marketing_email_unsubscribe_tests()];
15293
- case 75:
15763
+ case 77:
15294
15764
  _l.sent();
15295
15765
  return [4 /*yield*/, unique_strings_tests()];
15296
- case 76:
15766
+ case 78:
15297
15767
  _l.sent();
15298
15768
  return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
15299
- case 77:
15769
+ case 79:
15300
15770
  _l.sent();
15301
15771
  return [4 /*yield*/, role_based_access_tests()];
15302
- case 78:
15772
+ case 80:
15303
15773
  _l.sent();
15304
15774
  return [4 /*yield*/, enduser_session_tests()];
15305
- case 79:
15775
+ case 81:
15306
15776
  _l.sent();
15307
15777
  return [4 /*yield*/, nextReminderInMS_tests()];
15308
- case 80:
15778
+ case 82:
15309
15779
  _l.sent();
15310
15780
  return [4 /*yield*/, search_tests()];
15311
- case 81:
15781
+ case 83:
15312
15782
  _l.sent();
15313
15783
  return [4 /*yield*/, wait_for_trigger_tests()];
15314
- case 82:
15784
+ case 84:
15315
15785
  _l.sent();
15316
15786
  return [4 /*yield*/, pdf_generation()];
15317
- case 83:
15787
+ case 85:
15318
15788
  _l.sent();
15319
15789
  return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests().catch(console.error)]; // timing is unreliable, uncomment if changing logic
15320
- case 84:
15790
+ case 86:
15321
15791
  _l.sent(); // timing is unreliable, uncomment if changing logic
15322
15792
  return [4 /*yield*/, sub_organization_enduser_tests()];
15323
- case 85:
15793
+ case 87:
15324
15794
  _l.sent();
15325
15795
  return [4 /*yield*/, sub_organization_tests()];
15326
- case 86:
15796
+ case 88:
15327
15797
  _l.sent();
15328
15798
  return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
15329
- case 87:
15799
+ case 89:
15330
15800
  _l.sent();
15331
15801
  return [4 /*yield*/, generate_user_auth_tests()];
15332
- case 88:
15802
+ case 90:
15333
15803
  _l.sent();
15334
15804
  return [4 /*yield*/, generateEnduserAuthTests()];
15335
- case 89:
15805
+ case 91:
15336
15806
  _l.sent();
15337
15807
  return [4 /*yield*/, public_form_tests()];
15338
- case 90:
15808
+ case 92:
15339
15809
  _l.sent();
15340
15810
  return [4 /*yield*/, badInputTests()];
15341
- case 91:
15811
+ case 93:
15342
15812
  _l.sent();
15343
15813
  return [4 /*yield*/, filterTests()];
15344
- case 92:
15814
+ case 94:
15345
15815
  _l.sent();
15346
15816
  return [4 /*yield*/, updatesTests()];
15347
- case 93:
15817
+ case 95:
15348
15818
  _l.sent();
15349
- return [3 /*break*/, 95];
15350
- case 94:
15819
+ return [3 /*break*/, 97];
15820
+ case 96:
15351
15821
  err_1 = _l.sent();
15352
15822
  console.error("Failed during custom test");
15353
15823
  if (err_1.message && err_1.info) {
@@ -15357,18 +15827,18 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
15357
15827
  console.error(err_1);
15358
15828
  }
15359
15829
  process.exit(1);
15360
- return [3 /*break*/, 95];
15361
- case 95:
15830
+ return [3 /*break*/, 97];
15831
+ case 97:
15362
15832
  _a = schema_1.schema;
15363
15833
  _b = [];
15364
15834
  for (_c in _a)
15365
15835
  _b.push(_c);
15366
15836
  _i = 0;
15367
- _l.label = 96;
15368
- case 96:
15369
- if (!(_i < _b.length)) return [3 /*break*/, 99];
15837
+ _l.label = 98;
15838
+ case 98:
15839
+ if (!(_i < _b.length)) return [3 /*break*/, 101];
15370
15840
  _c = _b[_i];
15371
- if (!(_c in _a)) return [3 /*break*/, 98];
15841
+ if (!(_c in _a)) return [3 /*break*/, 100];
15372
15842
  n = _c;
15373
15843
  returnValidation = (_k = (_j = schema_1.schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
15374
15844
  return [4 /*yield*/, run_generated_tests({
@@ -15379,41 +15849,41 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
15379
15849
  create: returnValidation // ModelFields<ClientModel>,
15380
15850
  }
15381
15851
  })];
15382
- case 97:
15852
+ case 99:
15383
15853
  _l.sent();
15384
- _l.label = 98;
15385
- case 98:
15854
+ _l.label = 100;
15855
+ case 100:
15386
15856
  _i++;
15387
- return [3 /*break*/, 96];
15388
- case 99:
15857
+ return [3 /*break*/, 98];
15858
+ case 101:
15389
15859
  _d = tests;
15390
15860
  _f = [];
15391
15861
  for (_g in _d)
15392
15862
  _f.push(_g);
15393
15863
  _h = 0;
15394
- _l.label = 100;
15395
- case 100:
15396
- if (!(_h < _f.length)) return [3 /*break*/, 105];
15864
+ _l.label = 102;
15865
+ case 102:
15866
+ if (!(_h < _f.length)) return [3 /*break*/, 107];
15397
15867
  _g = _f[_h];
15398
- if (!(_g in _d)) return [3 /*break*/, 104];
15868
+ if (!(_g in _d)) return [3 /*break*/, 106];
15399
15869
  t = _g;
15400
- _l.label = 101;
15401
- case 101:
15402
- _l.trys.push([101, 103, , 104]);
15870
+ _l.label = 103;
15871
+ case 103:
15872
+ _l.trys.push([103, 105, , 106]);
15403
15873
  return [4 /*yield*/, tests[t]()];
15404
- case 102:
15874
+ case 104:
15405
15875
  _l.sent();
15406
- return [3 /*break*/, 104];
15407
- case 103:
15876
+ return [3 /*break*/, 106];
15877
+ case 105:
15408
15878
  err_2 = _l.sent();
15409
15879
  console.error("Error running test:");
15410
15880
  console.error(err_2);
15411
15881
  process.exit(1);
15412
- return [3 /*break*/, 104];
15413
- case 104:
15882
+ return [3 /*break*/, 106];
15883
+ case 106:
15414
15884
  _h++;
15415
- return [3 /*break*/, 100];
15416
- case 105:
15885
+ return [3 /*break*/, 102];
15886
+ case 107:
15417
15887
  process.exit();
15418
15888
  return [2 /*return*/];
15419
15889
  }