WillTrem / UInnovate

MIT License
3 stars 1 forks source link

225 us csv load up support #335

Closed WillTrem closed 3 months ago

WillTrem commented 3 months ago

PLEASE RUN REFRESH_DATABASE.SH BEFORE TESTING

Major Changes

Uploading CSV Files for Table List View

There is now a button in the table list view to upload a .csv file containing the same columns as the table and hence populate the database table image

Various validation is done on the file's content to ensure as much as possible a successful push to the database.

If the data loading is successful, a notification indicating such is shown. The Table List View's content is also automatically refreshed.

Any error occurring while validating or populating the table in the DB is reported through an Error toast notification.

Other changes

github-actions[bot] commented 3 months ago

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 53.66% 1465 / 2730
🔵 Statements 54.07% 1526 / 2822
🔵 Functions 49.48% 388 / 784
🔵 Branches 37.76% 435 / 1152
File Coverage
File Stmts % Branch % Funcs % Lines Uncovered Lines
Changed Files
UInnovateApp/src/components/CSVUploadButton.tsx 82.6% 41.66% 100% 81.81% 46-51, 47-51, 50
UInnovateApp/src/components/TableListView.tsx 53.44% 30.76% 43.63% 53.75% 178, 211, 244, 269-270, 295, 312, 328, 332, 335, 339, 343, 346, 350, 356, 362, 393-395, 403, 409-410, 415, 418-419, 429-462, 449-461, 461, 463-465, 464, 466-468, 467, 469, 473-496, 489-495, 490-494, 497, 497-499, 507-509, 508, 510-512, 511, 513-529, 516-517, 519-528, 520-528, 523-524, 526-527, 531-534, 531-534, 541, 543-547, 545-546, 549-556, 558-560, 562-571, 570, 572-573, 594, 594-595, 605-606, 608-612, 609, 611, 614, 621, 632, 662-663, 665-668, 666-667, 669-675, 670-674, 676, 678-685, 690, 708-753, 709, 709, 711-712, 714-718, 716-717, 720-726, 728, 730, 732-751, 733-742, 741, 744-746, 750, 752, 755-761, 764-766, 765, 769-770, 775, 799-940, 800-807, 810-940, 811-818, 821-940, 822-829, 832-940, 833-846, 839, 848-940, 849-862, 855, 864-940, 865-885, 874-875, 881-883, 887-940, 888-899, 896-897, 902-940, 903-910, 913-940, 914-937, 923-924, 930-936, 967, 975, 986, 1002, 1009, 1019-1039, 1032, 1034, 1045-1046, 1055-1074, 1067, 1069, 1080-1081, 1121, 1142, 1177, 1215, 1222, 1232, 1235, 1246, 1275, 1313-1318, 1363-1368, 1411
UInnovateApp/src/components/VisuallyHiddenInput.tsx 100% 100% 100% 100%
UInnovateApp/src/helper/CSVHelper.ts 88.46% 92.85% 75% 88.46% 46, 52, 57
UInnovateApp/src/redux/NotificationSlice.tsx 60% 100% 33.33% 60% 25-27, 30
UInnovateApp/src/virtualmodel/DataAccessor.tsx 20.98% 8.33% 25% 20% 34, 46-64, 47-51, 50, 52-55, 57-59, 58, 61, 63, 70-79, 71-73, 75, 77-78, 85-93, 86-88, 90, 92, 99-109, 100-103, 105, 107-108, 117-127, 118-121, 123, 125-126, 133-143, 134-137, 139, 141-142, 162-192, 163-165, 164, 167-188, 168-170, 169, 172-187, 173-182, 174-181, 175-180, 184-186, 190-191, 195-211, 196-198, 197, 199-209, 200-208, 204, 206-207, 210, 215
UInnovateApp/src/virtualmodel/VMD.tsx 25.92% 4.25% 26.73% 26.05% 23, 29, 29, 38, 38, 45-47, 46, 53, 59-61, 60, 67-72, 69-71, 70, 73, 83, 89, 99, 105-107, 106, 113-115, 114, 121-126, 124-125, 129, 135, 143-146, 145, 152, 161, 170-198, 173-178, 176-177, 181-186, 184-185, 189-197, 201-203, 205, 207-223, 209-214, 212-213, 217-222, 220-221, 225, 237, 245, 247-301, 249, 251-254, 253, 257, 259-262, 261, 264-266, 265, 268-270, 269, 273-300, 277-280, 283-284, 286-287, 289-290, 292-293, 295-296, 298-299, 302, 315-319, 325-333, 328-330, 332, 344-355, 347-352, 354, 369-391, 374-388, 390, 401-402, 404-413, 405-410, 412, 419-420, 422-435, 423-432, 434, 441-442, 444-457, 445-454, 456, 469-470, 472-485, 473-482, 484, 495-496, 498-511, 499-508, 510, 523-524, 526-532, 528-529, 534-547, 536-544, 546, 558-577, 561-567, 563-564, 568-574, 576, 586-594, 589-591, 593, 606-607, 609-635, 610-632, 611-616, 619-624, 622-623, 625-631, 634, 645-663, 647-657, 649-656, 658-660, 662, 681, 686, 686, 690, 695, 695, 744, 744, 750, 756, 762, 762, 774-779, 777-778, 781, 805, 817, 829, 835, 853, 859, 897, 915, 927, 939, 951, 973, 982-983
Unchanged Files
UInnovateApp/src/api/AxiosCustom.ts 73.33% 100% 50% 73.33% 11, 31-33
UInnovateApp/src/components/AddRowPopup.tsx 57.14% 25% 60% 55% 23-26, 30-34, 32-33, 36-42, 44-48, 50-51
UInnovateApp/src/components/Dropzone.tsx 22.72% 8% 9.09% 23.25% 15, 19-46, 25-41, 43-45, 44, 50-56, 53-55, 57, 61-69, 73-79, 83-84, 117-160, 122, 132
UInnovateApp/src/components/FunctionLoadPopup.tsx 4.76% 0% 0% 4.76% 15-16, 18-22, 19-21, 24-41, 25-40, 26, 29-39, 30-31, 33, 35-36, 38, 43, 45-58, 60-63, 65-106
UInnovateApp/src/components/FunctionPopup.tsx 66.66% 100% 0% 66.66% 31-51, 56-74
UInnovateApp/src/components/NavBar.tsx 68.75% 92.3% 66.66% 61.53% 31-35, 34, 36
UInnovateApp/src/components/PrimaryKeyErrorPopup.tsx 75% 100% 0% 75% 25-38
UInnovateApp/src/components/SavePopup.tsx 75% 100% 0% 75% 25-33
UInnovateApp/src/components/ScriptLoadPopup.tsx 81.81% 66.66% 75% 81.81% 19-21, 34
UInnovateApp/src/components/ScriptPopup.tsx 83.33% 100% 50% 83.33% 56-74
UInnovateApp/src/components/TableEnumView.tsx 82.35% 50% 66.66% 82.35% 34, 41, 62, 70, 104, 111
UInnovateApp/src/components/UnauthorizedScreen.tsx 80% 100% 50% 80% 9
UInnovateApp/src/components/Schema/DisplayType.tsx 100% 100% 100% 100%
UInnovateApp/src/components/Schema/MenuSchemaSelector.tsx 77.77% 61.53% 83.33% 76.47% 35, 39-41
UInnovateApp/src/components/Schema/SchemaSelector.tsx 52% 28.57% 30% 52% 26-28, 33, 36-57, 45, 51, 61-75, 70-72, 79-93, 88-90, 124
UInnovateApp/src/components/TableListViewComponents/DeleteRowButton.tsx 74.35% 38.46% 100% 72.97% 27-28, 58-63, 65-81, 67-75, 77-79, 78, 84, 101-107
UInnovateApp/src/components/TableListViewComponents/LookUpTableDetails.tsx 79.66% 61.53% 73.33% 78.94% 45, 56, 76, 80, 93, 98-101, 100, 102, 112, 144-157, 149-155
UInnovateApp/src/components/settingsPage/AuditTrails.tsx 8.33% 0% 0% 9.09% 17, 19-30, 20-23, 25-29, 27, 27-28, 32-34, 33, 36-39
UInnovateApp/src/components/settingsPage/ColumnConfig.tsx 47.82% 20% 75% 45.45% 62-74, 70, 73, 76-81, 86-98, 94, 97, 100-105
UInnovateApp/src/components/settingsPage/CronJobsTab.tsx 29.59% 15.78% 23.52% 28.08% 51-63, 53-54, 56, 58-60, 59, 62, 67-71, 73-93, 74-92, 77-78, 80-86, 90-91, 97-100, 102-122, 103-121, 106-107, 109-115, 119-120, 126, 126, 128-130, 132-133, 136, 136, 138, 142-143, 145-148, 146-147, 150-153, 155-158, 161-163, 166-184, 169, 169, 171-183, 172-182, 173-181, 185-195, 186, 189-194, 198, 200, 209-211, 216, 221-222, 235, 238-240, 257, 265, 265-266, 266, 283-287, 306-310
UInnovateApp/src/components/settingsPage/DisplayTab.tsx 100% 100% 100% 100%
UInnovateApp/src/components/settingsPage/EnvVarCreator.tsx 62.5% 58.33% 38.46% 61.53% 29, 32, 36-46, 52, 56-58, 63, 94-97, 109-112, 163-175
UInnovateApp/src/components/settingsPage/EnvVarValueEditor.tsx 11.11% 100% 0% 11.11% 14-16, 18, 20-35, 26, 30-31
UInnovateApp/src/components/settingsPage/ExecuteProcedures.tsx 50% 64.28% 31.81% 47.61% 38, 55, 59, 63-67, 69-71, 74-85, 80, 83-84, 89-102, 91-92, 94, 96-99, 97-98, 101, 105-111, 108-109, 111, 132-135, 139-141, 152-155, 166-169, 194-198, 214-218
UInnovateApp/src/components/settingsPage/FunctionViewer.tsx 6.25% 0% 0% 6.25% 28-29, 31-33, 35-42, 36-39, 37-38, 41, 43-70, 44, 46-59, 48-49, 51-52, 54-55, 57-58, 61, 63-67, 69, 72-136, 83, 91, 94-97, 113, 125
UInnovateApp/src/components/settingsPage/GeneralTab.tsx 100% 100% 100% 100%
UInnovateApp/src/components/settingsPage/InternationalizationTab.tsx 30.67% 8.03% 29.82% 30.7% 76-82, 77-80, 77-81, 89-106, 90-93, 95-103, 97-100, 97-100, 102, 105, 111-120, 112-117, 114-115, 115-116, 119, 144, 157, 163-173, 164-169, 166-167, 167-168, 172, 177-197, 178-181, 183-194, 185-191, 185-191, 193, 196, 222-244, 223-227, 225-226, 229-236, 238, 238-240, 243, 271, 284-309, 285-293, 296, 298-306, 299, 301-305, 303-304, 308, 311-317, 321, 325-326, 330-332, 335, 341-350, 342-347, 344, 344-345, 345-346, 349, 376, 412-427, 413-424, 428, 496, 535-538, 538, 540-541, 543-572, 544-571, 547-548, 551-563, 566-568, 567, 570, 574-578, 575-577, 576, 580-585, 581-584, 582-583, 587-590, 588-589, 592-597, 593-596, 594-595, 599-602, 600-601, 604-610, 605-609, 606-608, 612-618, 613-617, 614-616, 620-630, 621-629, 623-629, 627-628, 633-668, 634-659, 635-641, 644, 647-656, 648, 651-655, 653-654, 658, 661-667, 670-680, 671-678, 672-674, 673, 677, 682-690, 683-689, 684-686, 685, 688, 692-694, 693, 696-698, 697, 700-705, 701-704, 703, 707-771, 738, 756
UInnovateApp/src/components/settingsPage/LookupSetting.tsx 86.66% 55.26% 94.11% 86.11% 41, 46, 62-63, 143-148, 150-155, 161, 185
UInnovateApp/src/components/settingsPage/MultiSelect.tsx 66.66% 75% 66.66% 72.72% 15, 22, 22, 38
UInnovateApp/src/components/settingsPage/ScriptEditor.tsx 73.52% 70% 70% 72.72% 45-47, 49-50, 98, 128, 133-137
UInnovateApp/src/components/settingsPage/Scripting.tsx 100% 100% 100% 100%
UInnovateApp/src/components/settingsPage/ScriptingTab.tsx 72.97% 71.42% 63.63% 72.22% 30, 47, 51, 55-59, 61-63, 65-71, 92, 100-103
UInnovateApp/src/components/settingsPage/SignupModal.tsx 68.45% 50.84% 70.83% 67.36% 98, 105, 112-113, 116-117, 145-146, 151, 179, 181-191, 184-190, 188-189, 202-203, 206-207, 214-215, 222-237, 223-237, 227-237, 231-237, 235-236, 240-245, 241, 243-244, 248-254, 249-250, 253, 256, 462-463, 479-488
UInnovateApp/src/components/settingsPage/TableConfigTab.tsx 50% 22.22% 57.14% 48.71% 26, 44-51, 47, 50, 53-58, 62-69, 65, 68, 71-76, 80-87, 83, 86, 89-94, 105
UInnovateApp/src/components/settingsPage/UserLogs.tsx 8.33% 0% 0% 9.09% 17, 19-30, 20-23, 25-29, 27, 27-28, 32-34, 33, 36-39
UInnovateApp/src/components/settingsPage/Users/AddUserModal.tsx 84.09% 78.57% 76.92% 83.33% 59-60, 89-92, 91, 93, 139
UInnovateApp/src/components/settingsPage/Users/RolesTab.tsx 82.08% 76% 81.81% 80.95% 115-116, 120, 138-149, 142-144, 147-148, 164-165
UInnovateApp/src/components/settingsPage/Users/UserManagementTab.tsx 86.66% 59.09% 92.3% 85.36% 88, 135-137, 139-144, 152
UInnovateApp/src/components/settingsPage/additionalView/AdditionalViewEditor.tsx 44.18% 19.23% 28.57% 45% 25-26, 26-38, 28-29, 31-37, 40-49, 67, 71-77, 73-76, 79-85, 88-89, 89, 131-181, 154-157, 173-175, 174, 194
UInnovateApp/src/components/settingsPage/additionalView/AdditionalViewModal.tsx 45.23% 33.33% 35.71% 42.5% 39-43, 46-47, 51-61, 65-74, 70-71, 75-77, 76, 93, 102, 112, 127
UInnovateApp/src/components/settingsPage/additionalView/AdditionalViewTab.tsx 100% 100% 100% 100%
UInnovateApp/src/enums/ErrMsg.ts 100% 100% 100% 100%
UInnovateApp/src/enums/ViewTypeEnum.tsx 61.53% 33.33% 50% 58.33% 10-15, 11-14
UInnovateApp/src/helper/RolesHelpers.ts 75% 50% 100% 75% 19-20, 35-36
UInnovateApp/src/helper/SettingsHelpers.ts 54.54% 50% 66.66% 54.54% 37-41, 43-47, 68-72, 74-78
UInnovateApp/src/pages/Settings.tsx 61.53% 54.16% 33.33% 61.53% 66, 95, 103, 111, 121, 130, 138, 146, 154, 191
UInnovateApp/src/redux/AdditionalViewSlice.tsx 71.42% 100% 0% 71.42% 20-24
UInnovateApp/src/redux/AuthSlice.tsx 25.8% 50% 16.66% 23.33% 37-38, 41-44, 47, 50-55, 57, 59-60, 63-64, 67-68, 72-74
UInnovateApp/src/redux/LoadingSlice.tsx 66.66% 100% 0% 66.66% 15
UInnovateApp/src/redux/SchemaSlice.tsx 100% 100% 100% 100%
UInnovateApp/src/redux/Store.ts 100% 100% 100% 100%
UInnovateApp/src/redux/UserDataSlice.tsx 15.38% 0% 0% 15.38% 15, 18-28, 21-27, 22-23, 26, 29-31, 30, 32
UInnovateApp/src/virtualmodel/AdditionalViewsDataAccessor.ts 47.61% 41.66% 60% 47.5% 35, 56-95, 58-90, 59-69, 72, 75-87, 89, 94, 99-128, 101-106, 108-122, 109-117, 120-121, 123, 125-127
UInnovateApp/src/virtualmodel/Audits.ts 100% 100% 100% 100%
UInnovateApp/src/virtualmodel/Config.ts 84.84% 100% 57.14% 83.87% 33-41, 43-55, 46-48, 51-54
UInnovateApp/src/virtualmodel/ConfigProperties.ts 100% 100% 100% 100%
UInnovateApp/src/virtualmodel/EnvVarAccessor.ts 14.28% 100% 0% 14.28% 5-22, 6-14, 17-18, 20-21, 26-44, 27-36, 39-40, 42-43
UInnovateApp/src/virtualmodel/FunctionAccessor.tsx 55.55% 100% 66.66% 55.55% 25-34, 26-29, 31, 33
UInnovateApp/src/virtualmodel/FunctionHandler.ts 0% 0% 0% 0% 12-13, 15-16, 19-21, 23-28, 24-27, 32-43, 33-36, 38-42, 39, 41, 46-53, 52
UInnovateApp/src/virtualmodel/Logger.ts 100% 100% 100% 100%
UInnovateApp/src/virtualmodel/PlatformFunctions.ts 2.77% 0% 0% 2.77% 16-30, 17-20, 22-24, 23-24, 26, 28-29, 37-43, 45-50, 56-58, 57, 59-63, 66-67, 74, 77-84, 86, 93, 95-101, 103
UInnovateApp/src/virtualmodel/ScriptHandler.ts 88.57% 83.33% 100% 88.57% 41, 54, 56, 75
UInnovateApp/src/virtualmodel/__mocks__/DataAccessor.tsx 96.87% 91.66% 100% 96.87% 50-56
UInnovateApp/src/virtualmodel/__mocks__/FunctionAccessor.tsx 93.75% 84.61% 100% 93.75% 29
UInnovateApp/src/virtualmodel/__mocks__/ScriptHandler.tsx 96.07% 100% 100% 96.07% 47, 78
UInnovateApp/src/virtualmodel/__mocks__/VMD.tsx 93.33% 100% 92.85% 93.33% 56-60, 190-191
Generated in workflow #385