From c491620c9aaf2c4cbfe7fdaad67021ff90511cd2 Mon Sep 17 00:00:00 2001 From: "D. Ror" Date: Wed, 17 May 2023 16:01:15 -0400 Subject: [PATCH 1/6] Cleanup coverage --- Backend.Tests/Models/{Banner.cs => BannerTests.cs} | 0 Backend/Repositories/ProjectRepository.cs | 2 +- Backend/Repositories/SemanticDomainRepository.cs | 3 +++ Backend/Repositories/UserEditRepository.cs | 2 +- Backend/Repositories/UserRepository.cs | 2 +- Backend/Repositories/UserRoleRepository.cs | 2 +- Backend/Repositories/WordRepository.cs | 2 +- README.md | 7 ++++--- codecov.yml | 4 ++++ src/components/App/App.test.tsx | 2 +- src/components/AppBar/tests/AppBarComponent.test.tsx | 2 +- src/components/AppBar/tests/UserMenu.test.tsx | 2 +- .../DataEntryHeader/tests/DataEntryHeader.test.tsx | 2 +- .../EntryCellComponents/tests/DeleteEntry.test.tsx | 2 +- .../EntryCellComponents/tests/EntryNote.test.tsx | 2 +- .../DataEntryTable/NewEntry/tests/NewEntry.test.tsx | 2 +- .../DataEntryTable/NewEntry/tests/VernDialog.test.tsx | 2 +- .../DataEntryTable/RecentEntry/tests/RecentEntry.test.tsx | 2 +- .../DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx | 2 +- src/components/GoalTimeline/tests/GoalActions.test.tsx | 2 +- .../GoalTimeline/tests/GoalTimelineComponent.test.tsx | 2 +- .../Login/LoginPage/tests/LoginComponent.test.tsx | 2 +- .../Login/SignUpPage/tests/SignUpComponent.test.tsx | 2 +- src/components/PageNotFound/tests/component.test.tsx | 2 +- src/components/PasswordReset/tests/ResetPage.test.tsx | 2 +- src/components/ProjectScreen/tests/ChooseProject.test.tsx | 2 +- .../ProjectLanguages/tests/ProjectLangauges.test.tsx | 2 +- .../ProjectUsers/tests/EmailInvite.test.tsx | 2 +- .../ProjectUsers/tests/SortOptions.test.tsx | 2 +- .../ProjectSettings/ProjectUsers/tests/UserList.test.tsx | 2 +- .../Pronunciations/tests/Pronunciations.test.tsx | 2 +- .../ProjectManagement/tests/ProjectManagement.test.tsx | 2 +- src/components/Statistics/tests/DomainStatistics.test.tsx | 2 +- src/components/Statistics/tests/Statistics.test.tsx | 2 +- src/components/Statistics/tests/UserStatistics.test.tsx | 2 +- src/components/TreeView/tests/DomainTile.test.tsx | 4 ++-- .../tests/{MockSemanticDomain.ts => SemanticDomainMock.ts} | 0 src/components/TreeView/tests/TreeDepiction.test.tsx | 4 ++-- src/components/TreeView/tests/TreeSearch.test.tsx | 4 ++-- src/components/TreeView/tests/TreeViewComponent.test.tsx | 4 ++-- src/components/TreeView/tests/TreeViewHeader.test.tsx | 4 ++-- src/components/UserSettings/tests/AvatarUpload.test.tsx | 2 +- .../tests/CharacterInventoryComponent.test.tsx | 2 +- src/goals/DefaultGoal/tests/BaseGoalScreen.test.tsx | 2 +- src/goals/DefaultGoal/tests/DisplayProgress.test.tsx | 2 +- .../MergeDupGoal/Redux/tests/MergeDupActions.test.tsx | 2 +- .../tests/{MockMergeDupData.ts => MergeDupDataMock.ts} | 0 .../CellComponents/tests/DeleteCell.test.tsx | 4 ++-- .../CellComponents/tests/DomainCell.test.tsx | 4 ++-- .../CellComponents/tests/FlagCell.test.tsx | 4 ++-- .../CellComponents/tests/GlossCell.test.tsx | 4 ++-- .../ReviewEntriesComponent/tests/CellColumns.test.tsx | 2 +- .../tests/ReviewEntriesComponent.test.tsx | 4 ++-- .../tests/ReviewEntriesReducer.test.tsx | 2 +- .../tests/{MockWords.ts => WordsMock.ts} | 0 src/tests/i18nMock.ts | 2 +- src/tests/{mockReactI18next.ts => reactI18nextMock.ts} | 2 +- src/types/tests/goalUtilities.test.tsx | 2 +- 58 files changed, 72 insertions(+), 64 deletions(-) rename Backend.Tests/Models/{Banner.cs => BannerTests.cs} (100%) create mode 100644 codecov.yml rename src/components/TreeView/tests/{MockSemanticDomain.ts => SemanticDomainMock.ts} (100%) rename src/goals/MergeDupGoal/Redux/tests/{MockMergeDupData.ts => MergeDupDataMock.ts} (100%) rename src/goals/ReviewEntries/ReviewEntriesComponent/tests/{MockWords.ts => WordsMock.ts} (100%) rename src/tests/{mockReactI18next.ts => reactI18nextMock.ts} (90%) diff --git a/Backend.Tests/Models/Banner.cs b/Backend.Tests/Models/BannerTests.cs similarity index 100% rename from Backend.Tests/Models/Banner.cs rename to Backend.Tests/Models/BannerTests.cs diff --git a/Backend/Repositories/ProjectRepository.cs b/Backend/Repositories/ProjectRepository.cs index 0903f591a4..e2f26d9037 100644 --- a/Backend/Repositories/ProjectRepository.cs +++ b/Backend/Repositories/ProjectRepository.cs @@ -9,7 +9,7 @@ namespace BackendFramework.Repositories { - /// Atomic database functions for s + /// Atomic database functions for s. [ExcludeFromCodeCoverage] public class ProjectRepository : IProjectRepository { diff --git a/Backend/Repositories/SemanticDomainRepository.cs b/Backend/Repositories/SemanticDomainRepository.cs index 9caa434b94..1f8bdef46a 100644 --- a/Backend/Repositories/SemanticDomainRepository.cs +++ b/Backend/Repositories/SemanticDomainRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics.CodeAnalysis; using System.Threading.Tasks; using BackendFramework.Interfaces; using BackendFramework.Models; @@ -8,6 +9,8 @@ namespace BackendFramework.Repositories { + /// Atomic database functions for the SemanticDomainTree and SemanticDomains collections. + [ExcludeFromCodeCoverage] public class SemanticDomainRepository : ISemanticDomainRepository { private ISemanticDomainContext _context; diff --git a/Backend/Repositories/UserEditRepository.cs b/Backend/Repositories/UserEditRepository.cs index 16655b237a..46b1918415 100644 --- a/Backend/Repositories/UserEditRepository.cs +++ b/Backend/Repositories/UserEditRepository.cs @@ -8,7 +8,7 @@ namespace BackendFramework.Repositories { - /// Atomic database functions for s + /// Atomic database functions for s. [ExcludeFromCodeCoverage] public class UserEditRepository : IUserEditRepository { diff --git a/Backend/Repositories/UserRepository.cs b/Backend/Repositories/UserRepository.cs index dd121f3115..b259574b51 100644 --- a/Backend/Repositories/UserRepository.cs +++ b/Backend/Repositories/UserRepository.cs @@ -9,7 +9,7 @@ namespace BackendFramework.Repositories { - /// Atomic database functions for s + /// Atomic database functions for s. [ExcludeFromCodeCoverage] public class UserRepository : IUserRepository { diff --git a/Backend/Repositories/UserRoleRepository.cs b/Backend/Repositories/UserRoleRepository.cs index 6f80f92c9d..a00fa60f08 100644 --- a/Backend/Repositories/UserRoleRepository.cs +++ b/Backend/Repositories/UserRoleRepository.cs @@ -9,7 +9,7 @@ namespace BackendFramework.Repositories { - /// Atomic database functions for s + /// Atomic database functions for s. [ExcludeFromCodeCoverage] public class UserRoleRepository : IUserRoleRepository { diff --git a/Backend/Repositories/WordRepository.cs b/Backend/Repositories/WordRepository.cs index 1034ad1192..0423ff8a5d 100644 --- a/Backend/Repositories/WordRepository.cs +++ b/Backend/Repositories/WordRepository.cs @@ -9,7 +9,7 @@ namespace BackendFramework.Repositories { - /// Atomic database functions for s + /// Atomic database functions for s. [ExcludeFromCodeCoverage] public class WordRepository : IWordRepository { diff --git a/README.md b/README.md index 3d00bc6d02..cc8b4cd95b 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # The Combine [![Frontend Actions Status][github-actions-frontend-badge]][github-actions] -[![Frontend Coverage][frontend-codecov-badge]][codecov] +[![Frontend Coverage][frontend-codecov-badge]][codecov-frontend] [![Backend Actions Status][github-actions-backend-badge]][github-actions] -[![Backend Coverage][backend-codecov-badge]][codecov] +[![Backend Coverage][backend-codecov-badge]][codecov-backend] [![Python Actions Status][github-actions-python-badge]][github-actions] [![CodeQL Actions Status][github-actions-codeql-badge]][github-actions] [![OSSF Scorecard][github-actions-ossf-badge]][github-actions] @@ -14,7 +14,8 @@ [github-actions-frontend-badge]: https://github.com/sillsdev/TheCombine/workflows/frontend/badge.svg [frontend-codecov-badge]: https://codecov.io/gh/sillsdev/TheCombine/branch/master/graph/badge.svg?flag=frontend -[codecov]: https://codecov.io/gh/sillsdev/TheCombine +[codecov-frontend]: https://app.codecov.io/gh/sillsdev/TheCombine/tree/master/src +[codecov-backend]: https://app.codecov.io/gh/sillsdev/TheCombine/tree/master/Backend [github-actions-backend-badge]: https://github.com/sillsdev/TheCombine/workflows/backend/badge.svg [backend-codecov-badge]: https://codecov.io/gh/sillsdev/TheCombine/branch/master/graph/badge.svg?flag=backend [github-actions-python-badge]: https://github.com/sillsdev/TheCombine/workflows/python/badge.svg diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000000..838c06d38e --- /dev/null +++ b/codecov.yml @@ -0,0 +1,4 @@ +ignore: + - "src/api" + - "**/*Mock.ts" + - "**/*ReduxTypes.ts" diff --git a/src/components/App/App.test.tsx b/src/components/App/App.test.tsx index e6793aca65..6e96f54517 100644 --- a/src/components/App/App.test.tsx +++ b/src/components/App/App.test.tsx @@ -5,7 +5,7 @@ import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; import thunk from "redux-thunk"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { defaultState } from "components/App/DefaultState"; import App from "components/App/component"; diff --git a/src/components/AppBar/tests/AppBarComponent.test.tsx b/src/components/AppBar/tests/AppBarComponent.test.tsx index 0a5a7d41bb..ed2049a25d 100644 --- a/src/components/AppBar/tests/AppBarComponent.test.tsx +++ b/src/components/AppBar/tests/AppBarComponent.test.tsx @@ -2,7 +2,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { Path } from "browserHistory"; import { defaultState } from "components/App/DefaultState"; diff --git a/src/components/AppBar/tests/UserMenu.test.tsx b/src/components/AppBar/tests/UserMenu.test.tsx index 58dd285c6b..c344fe3a2c 100644 --- a/src/components/AppBar/tests/UserMenu.test.tsx +++ b/src/components/AppBar/tests/UserMenu.test.tsx @@ -3,7 +3,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { Path } from "browserHistory"; import UserMenu, { getIsAdmin, UserMenuList } from "components/AppBar/UserMenu"; diff --git a/src/components/DataEntry/DataEntryHeader/tests/DataEntryHeader.test.tsx b/src/components/DataEntry/DataEntryHeader/tests/DataEntryHeader.test.tsx index 188ba4df6d..3b929b6571 100644 --- a/src/components/DataEntry/DataEntryHeader/tests/DataEntryHeader.test.tsx +++ b/src/components/DataEntry/DataEntryHeader/tests/DataEntryHeader.test.tsx @@ -2,7 +2,7 @@ import { Provider } from "react-redux"; import renderer, { ReactTestInstance } from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { SemanticDomainFull } from "api"; import DataEntryHeader from "components/DataEntry/DataEntryHeader/DataEntryHeader"; diff --git a/src/components/DataEntry/DataEntryTable/EntryCellComponents/tests/DeleteEntry.test.tsx b/src/components/DataEntry/DataEntryTable/EntryCellComponents/tests/DeleteEntry.test.tsx index 5a693710fc..64a8530149 100644 --- a/src/components/DataEntry/DataEntryTable/EntryCellComponents/tests/DeleteEntry.test.tsx +++ b/src/components/DataEntry/DataEntryTable/EntryCellComponents/tests/DeleteEntry.test.tsx @@ -1,6 +1,6 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import DeleteEntry from "components/DataEntry/DataEntryTable/EntryCellComponents/DeleteEntry"; diff --git a/src/components/DataEntry/DataEntryTable/EntryCellComponents/tests/EntryNote.test.tsx b/src/components/DataEntry/DataEntryTable/EntryCellComponents/tests/EntryNote.test.tsx index 83c290f505..bfe5e16b09 100644 --- a/src/components/DataEntry/DataEntryTable/EntryCellComponents/tests/EntryNote.test.tsx +++ b/src/components/DataEntry/DataEntryTable/EntryCellComponents/tests/EntryNote.test.tsx @@ -1,7 +1,7 @@ import { AddComment, Comment } from "@mui/icons-material"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import EntryNote from "components/DataEntry/DataEntryTable/EntryCellComponents/EntryNote"; diff --git a/src/components/DataEntry/DataEntryTable/NewEntry/tests/NewEntry.test.tsx b/src/components/DataEntry/DataEntryTable/NewEntry/tests/NewEntry.test.tsx index 36e92971e8..93037c1fe7 100644 --- a/src/components/DataEntry/DataEntryTable/NewEntry/tests/NewEntry.test.tsx +++ b/src/components/DataEntry/DataEntryTable/NewEntry/tests/NewEntry.test.tsx @@ -1,6 +1,6 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import NewEntry from "components/DataEntry/DataEntryTable/NewEntry/NewEntry"; import { newSemanticDomain } from "types/semanticDomain"; diff --git a/src/components/DataEntry/DataEntryTable/NewEntry/tests/VernDialog.test.tsx b/src/components/DataEntry/DataEntryTable/NewEntry/tests/VernDialog.test.tsx index 2bd5e9127b..99afd4e31b 100644 --- a/src/components/DataEntry/DataEntryTable/NewEntry/tests/VernDialog.test.tsx +++ b/src/components/DataEntry/DataEntryTable/NewEntry/tests/VernDialog.test.tsx @@ -3,7 +3,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { Word } from "api/models"; import { diff --git a/src/components/DataEntry/DataEntryTable/RecentEntry/tests/RecentEntry.test.tsx b/src/components/DataEntry/DataEntryTable/RecentEntry/tests/RecentEntry.test.tsx index dd1965c635..3039d05dfc 100644 --- a/src/components/DataEntry/DataEntryTable/RecentEntry/tests/RecentEntry.test.tsx +++ b/src/components/DataEntry/DataEntryTable/RecentEntry/tests/RecentEntry.test.tsx @@ -3,7 +3,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { Word } from "api/models"; import EditTextDialog from "components/Buttons/EditTextDialog"; diff --git a/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx b/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx index 725f4c18b1..74c4f519db 100644 --- a/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx +++ b/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx @@ -1,6 +1,6 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { Gloss, SemanticDomain, Sense, Word } from "api/models"; import DataEntryTable, { diff --git a/src/components/GoalTimeline/tests/GoalActions.test.tsx b/src/components/GoalTimeline/tests/GoalActions.test.tsx index acc96105b4..2c39879674 100644 --- a/src/components/GoalTimeline/tests/GoalActions.test.tsx +++ b/src/components/GoalTimeline/tests/GoalActions.test.tsx @@ -15,7 +15,7 @@ import { CreateCharInv } from "goals/CreateCharInv/CreateCharInv"; import { HandleFlags } from "goals/HandleFlags/HandleFlags"; import { MergeDups } from "goals/MergeDupGoal/MergeDups"; import { MergeDupData, MergeStepData } from "goals/MergeDupGoal/MergeDupsTypes"; -import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MockMergeDupData"; +import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MergeDupDataMock"; import { maxNumSteps } from "types/goalUtilities"; import { Goal } from "types/goals"; import { newUser } from "types/user"; diff --git a/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx b/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx index e03d087474..216be9a8d8 100644 --- a/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx +++ b/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx @@ -3,7 +3,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { defaultState } from "components/GoalTimeline/DefaultState"; import GoalTimelineWithTranslation, { diff --git a/src/components/Login/LoginPage/tests/LoginComponent.test.tsx b/src/components/Login/LoginPage/tests/LoginComponent.test.tsx index 23230bff86..aa6d941d22 100644 --- a/src/components/Login/LoginPage/tests/LoginComponent.test.tsx +++ b/src/components/Login/LoginPage/tests/LoginComponent.test.tsx @@ -1,6 +1,6 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import Login from "components/Login/LoginPage/LoginComponent"; diff --git a/src/components/Login/SignUpPage/tests/SignUpComponent.test.tsx b/src/components/Login/SignUpPage/tests/SignUpComponent.test.tsx index 3c85feb00b..bba2c0b489 100644 --- a/src/components/Login/SignUpPage/tests/SignUpComponent.test.tsx +++ b/src/components/Login/SignUpPage/tests/SignUpComponent.test.tsx @@ -1,6 +1,6 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import SignUp from "components/Login/SignUpPage/SignUpComponent"; diff --git a/src/components/PageNotFound/tests/component.test.tsx b/src/components/PageNotFound/tests/component.test.tsx index 59f455749d..8fc11e4481 100644 --- a/src/components/PageNotFound/tests/component.test.tsx +++ b/src/components/PageNotFound/tests/component.test.tsx @@ -2,7 +2,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import PageNotFound from "components/PageNotFound/component"; diff --git a/src/components/PasswordReset/tests/ResetPage.test.tsx b/src/components/PasswordReset/tests/ResetPage.test.tsx index 45d450d753..030571c848 100644 --- a/src/components/PasswordReset/tests/ResetPage.test.tsx +++ b/src/components/PasswordReset/tests/ResetPage.test.tsx @@ -3,7 +3,7 @@ import { RouteComponentProps } from "react-router-dom"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { resetFail } from "components/PasswordReset/Redux/ResetActions"; import { RequestState } from "components/PasswordReset/Redux/ResetReduxTypes"; diff --git a/src/components/ProjectScreen/tests/ChooseProject.test.tsx b/src/components/ProjectScreen/tests/ChooseProject.test.tsx index 156fd1fcef..092746743d 100644 --- a/src/components/ProjectScreen/tests/ChooseProject.test.tsx +++ b/src/components/ProjectScreen/tests/ChooseProject.test.tsx @@ -1,7 +1,7 @@ import { ListItemButton } from "@mui/material"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { Project } from "api/models"; import ChooseProject from "components/ProjectScreen/ChooseProject"; diff --git a/src/components/ProjectSettings/ProjectLanguages/tests/ProjectLangauges.test.tsx b/src/components/ProjectSettings/ProjectLanguages/tests/ProjectLangauges.test.tsx index 475e1e59bd..2f2e4cd081 100644 --- a/src/components/ProjectSettings/ProjectLanguages/tests/ProjectLangauges.test.tsx +++ b/src/components/ProjectSettings/ProjectLanguages/tests/ProjectLangauges.test.tsx @@ -1,7 +1,7 @@ import { LanguagePicker } from "mui-language-picker"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { Project, WritingSystem } from "api/models"; import ProjectLanguages from "components/ProjectSettings/ProjectLanguages/ProjectLanguages"; diff --git a/src/components/ProjectSettings/ProjectUsers/tests/EmailInvite.test.tsx b/src/components/ProjectSettings/ProjectUsers/tests/EmailInvite.test.tsx index 0e6e6c29e1..73536a5969 100644 --- a/src/components/ProjectSettings/ProjectUsers/tests/EmailInvite.test.tsx +++ b/src/components/ProjectSettings/ProjectUsers/tests/EmailInvite.test.tsx @@ -1,6 +1,6 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next.ts"; +import "tests/reactI18nextMock.ts"; import LoadingDoneButton from "components/Buttons/LoadingDoneButton"; import EmailInvite from "components/ProjectSettings/ProjectUsers/EmailInvite"; diff --git a/src/components/ProjectSettings/ProjectUsers/tests/SortOptions.test.tsx b/src/components/ProjectSettings/ProjectUsers/tests/SortOptions.test.tsx index d293940381..fcb1c2318c 100644 --- a/src/components/ProjectSettings/ProjectUsers/tests/SortOptions.test.tsx +++ b/src/components/ProjectSettings/ProjectUsers/tests/SortOptions.test.tsx @@ -1,6 +1,6 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next.ts"; +import "tests/reactI18nextMock.ts"; import SortOptions, { SortOptionsProps, diff --git a/src/components/ProjectSettings/ProjectUsers/tests/UserList.test.tsx b/src/components/ProjectSettings/ProjectUsers/tests/UserList.test.tsx index 4a4868593c..c23ec3fd5f 100644 --- a/src/components/ProjectSettings/ProjectUsers/tests/UserList.test.tsx +++ b/src/components/ProjectSettings/ProjectUsers/tests/UserList.test.tsx @@ -1,7 +1,7 @@ import { Input, ListItem } from "@mui/material"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next.ts"; +import "tests/reactI18nextMock.ts"; import { User } from "api/models"; import UserList from "components/ProjectSettings/ProjectUsers/UserList"; diff --git a/src/components/Pronunciations/tests/Pronunciations.test.tsx b/src/components/Pronunciations/tests/Pronunciations.test.tsx index 25662a6cbf..928c8d5a20 100644 --- a/src/components/Pronunciations/tests/Pronunciations.test.tsx +++ b/src/components/Pronunciations/tests/Pronunciations.test.tsx @@ -3,7 +3,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import AudioPlayer from "components/Pronunciations/AudioPlayer"; import AudioRecorder from "components/Pronunciations/AudioRecorder"; diff --git a/src/components/SiteSettings/ProjectManagement/tests/ProjectManagement.test.tsx b/src/components/SiteSettings/ProjectManagement/tests/ProjectManagement.test.tsx index 017980eea4..aeb84639ce 100644 --- a/src/components/SiteSettings/ProjectManagement/tests/ProjectManagement.test.tsx +++ b/src/components/SiteSettings/ProjectManagement/tests/ProjectManagement.test.tsx @@ -1,7 +1,7 @@ import { ListItem } from "@mui/material"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import ExportButton from "components/ProjectExport/ExportButton"; import ProjectButtonWithConfirmation from "components/SiteSettings/ProjectManagement/ProjectButtonWithConfirmation"; diff --git a/src/components/Statistics/tests/DomainStatistics.test.tsx b/src/components/Statistics/tests/DomainStatistics.test.tsx index 98c84e9aaf..ac1338bc49 100644 --- a/src/components/Statistics/tests/DomainStatistics.test.tsx +++ b/src/components/Statistics/tests/DomainStatistics.test.tsx @@ -1,7 +1,7 @@ import { ListItem } from "@mui/material"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { SemanticDomainCount } from "api"; import DomainStatistics from "components/Statistics/DomainStatistics"; diff --git a/src/components/Statistics/tests/Statistics.test.tsx b/src/components/Statistics/tests/Statistics.test.tsx index 3c77c92020..cb67e5c49b 100644 --- a/src/components/Statistics/tests/Statistics.test.tsx +++ b/src/components/Statistics/tests/Statistics.test.tsx @@ -1,7 +1,7 @@ import { StyledEngineProvider, ThemeProvider } from "@mui/material/styles"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import Statistics from "components/Statistics/Statistics"; import { newProject } from "types/project"; diff --git a/src/components/Statistics/tests/UserStatistics.test.tsx b/src/components/Statistics/tests/UserStatistics.test.tsx index dfedb3283f..20f4a0254d 100644 --- a/src/components/Statistics/tests/UserStatistics.test.tsx +++ b/src/components/Statistics/tests/UserStatistics.test.tsx @@ -1,7 +1,7 @@ import { ListItem } from "@mui/material"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { SemanticDomainUserCount } from "api"; import UserStatistics from "components/Statistics/UserStatistics"; diff --git a/src/components/TreeView/tests/DomainTile.test.tsx b/src/components/TreeView/tests/DomainTile.test.tsx index c27c9c442d..e41143326f 100644 --- a/src/components/TreeView/tests/DomainTile.test.tsx +++ b/src/components/TreeView/tests/DomainTile.test.tsx @@ -1,10 +1,10 @@ import { Button } from "@mui/material"; import renderer from "react-test-renderer"; -import "tests/mockReactI18next.ts"; +import "tests/reactI18nextMock.ts"; import DomainTile, { Direction } from "components/TreeView/DomainTile"; -import domMap, { mapIds } from "components/TreeView/tests/MockSemanticDomain"; +import domMap, { mapIds } from "components/TreeView/tests/SemanticDomainMock"; let tileMaster: renderer.ReactTestRenderer; const MOCK_ANIMATE = jest.fn(); diff --git a/src/components/TreeView/tests/MockSemanticDomain.ts b/src/components/TreeView/tests/SemanticDomainMock.ts similarity index 100% rename from src/components/TreeView/tests/MockSemanticDomain.ts rename to src/components/TreeView/tests/SemanticDomainMock.ts diff --git a/src/components/TreeView/tests/TreeDepiction.test.tsx b/src/components/TreeView/tests/TreeDepiction.test.tsx index b702cadc2c..6a3ba83513 100644 --- a/src/components/TreeView/tests/TreeDepiction.test.tsx +++ b/src/components/TreeView/tests/TreeDepiction.test.tsx @@ -1,12 +1,12 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next.ts"; +import "tests/reactI18nextMock.ts"; import { SemanticDomainTreeNode } from "api"; import TreeDepiction from "components/TreeView/TreeDepiction"; import testDomainMap, { mapIds, -} from "components/TreeView/tests/MockSemanticDomain"; +} from "components/TreeView/tests/SemanticDomainMock"; let treeMaster: renderer.ReactTestRenderer; diff --git a/src/components/TreeView/tests/TreeSearch.test.tsx b/src/components/TreeView/tests/TreeSearch.test.tsx index c832a2b9d9..b36db9d4af 100644 --- a/src/components/TreeView/tests/TreeSearch.test.tsx +++ b/src/components/TreeView/tests/TreeSearch.test.tsx @@ -4,7 +4,7 @@ import userEvent from "@testing-library/user-event"; import React from "react"; import { Key } from "ts-key-enum"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { SemanticDomainTreeNode } from "api"; import * as backend from "backend"; @@ -14,7 +14,7 @@ import TreeSearch, { TreeSearchProps, useTreeSearch, } from "components/TreeView/TreeSearch"; -import domMap, { mapIds } from "components/TreeView/tests/MockSemanticDomain"; +import domMap, { mapIds } from "components/TreeView/tests/SemanticDomainMock"; import { newSemanticDomainTreeNode } from "types/semanticDomain"; // Handles diff --git a/src/components/TreeView/tests/TreeViewComponent.test.tsx b/src/components/TreeView/tests/TreeViewComponent.test.tsx index d687e1b34c..9e96f65418 100644 --- a/src/components/TreeView/tests/TreeViewComponent.test.tsx +++ b/src/components/TreeView/tests/TreeViewComponent.test.tsx @@ -3,12 +3,12 @@ import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; import thunk from "redux-thunk"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import TreeDepiction from "components/TreeView/TreeDepiction"; import TreeView from "components/TreeView/TreeViewComponent"; import { defaultState as treeViewState } from "components/TreeView/TreeViewReducer"; -import mockMap, { mapIds } from "components/TreeView/tests/MockSemanticDomain"; +import mockMap, { mapIds } from "components/TreeView/tests/SemanticDomainMock"; import { newWritingSystem } from "types/writingSystem"; let treeMaster: renderer.ReactTestRenderer; diff --git a/src/components/TreeView/tests/TreeViewHeader.test.tsx b/src/components/TreeView/tests/TreeViewHeader.test.tsx index 946b27a585..3276d7ef08 100644 --- a/src/components/TreeView/tests/TreeViewHeader.test.tsx +++ b/src/components/TreeView/tests/TreeViewHeader.test.tsx @@ -2,14 +2,14 @@ import { render } from "@testing-library/react"; import { renderHook } from "@testing-library/react-hooks"; import { Key } from "ts-key-enum"; -import "tests/mockReactI18next.ts"; +import "tests/reactI18nextMock.ts"; import { TreeViewHeader, TreeHeaderProps, useTreeNavigation, } from "components/TreeView/TreeViewHeader"; -import domMap, { mapIds } from "components/TreeView/tests/MockSemanticDomain"; +import domMap, { mapIds } from "components/TreeView/tests/SemanticDomainMock"; import { semDomFromTreeNode } from "types/semanticDomain"; // Handles diff --git a/src/components/UserSettings/tests/AvatarUpload.test.tsx b/src/components/UserSettings/tests/AvatarUpload.test.tsx index 5a22ed14e3..301a45b108 100644 --- a/src/components/UserSettings/tests/AvatarUpload.test.tsx +++ b/src/components/UserSettings/tests/AvatarUpload.test.tsx @@ -2,7 +2,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import AvatarUpload from "components/UserSettings/AvatarUpload"; diff --git a/src/goals/CharInventoryCreation/tests/CharacterInventoryComponent.test.tsx b/src/goals/CharInventoryCreation/tests/CharacterInventoryComponent.test.tsx index 9724b2c16d..e34a1d3743 100644 --- a/src/goals/CharInventoryCreation/tests/CharacterInventoryComponent.test.tsx +++ b/src/goals/CharInventoryCreation/tests/CharacterInventoryComponent.test.tsx @@ -2,7 +2,7 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { Project } from "api/models"; import CharacterInventoryWithTranslate, { diff --git a/src/goals/DefaultGoal/tests/BaseGoalScreen.test.tsx b/src/goals/DefaultGoal/tests/BaseGoalScreen.test.tsx index 53a5711fc6..c434275f15 100644 --- a/src/goals/DefaultGoal/tests/BaseGoalScreen.test.tsx +++ b/src/goals/DefaultGoal/tests/BaseGoalScreen.test.tsx @@ -4,7 +4,7 @@ import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; import thunk from "redux-thunk"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import { BaseGoalScreen } from "goals/DefaultGoal/BaseGoalScreen"; import { Goal } from "types/goals"; diff --git a/src/goals/DefaultGoal/tests/DisplayProgress.test.tsx b/src/goals/DefaultGoal/tests/DisplayProgress.test.tsx index f5c8e07047..7b3fff92af 100644 --- a/src/goals/DefaultGoal/tests/DisplayProgress.test.tsx +++ b/src/goals/DefaultGoal/tests/DisplayProgress.test.tsx @@ -3,7 +3,7 @@ import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; import thunk from "redux-thunk"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import DisplayProgress from "goals/DefaultGoal/DisplayProgress"; import { MergeDups } from "goals/MergeDupGoal/MergeDups"; diff --git a/src/goals/MergeDupGoal/Redux/tests/MergeDupActions.test.tsx b/src/goals/MergeDupGoal/Redux/tests/MergeDupActions.test.tsx index e5ca3d2f7f..94fc4b9892 100644 --- a/src/goals/MergeDupGoal/Redux/tests/MergeDupActions.test.tsx +++ b/src/goals/MergeDupGoal/Redux/tests/MergeDupActions.test.tsx @@ -25,7 +25,7 @@ import { MergeTreeActionTypes, MergeTreeState, } from "goals/MergeDupGoal/Redux/MergeDupReduxTypes"; -import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MockMergeDupData"; +import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MergeDupDataMock"; import { GoalsState, GoalType } from "types/goals"; import { multiSenseWord, diff --git a/src/goals/MergeDupGoal/Redux/tests/MockMergeDupData.ts b/src/goals/MergeDupGoal/Redux/tests/MergeDupDataMock.ts similarity index 100% rename from src/goals/MergeDupGoal/Redux/tests/MockMergeDupData.ts rename to src/goals/MergeDupGoal/Redux/tests/MergeDupDataMock.ts diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/DeleteCell.test.tsx b/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/DeleteCell.test.tsx index 0062eea132..33478aeece 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/DeleteCell.test.tsx +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/DeleteCell.test.tsx @@ -2,11 +2,11 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import DeleteCell from "goals/ReviewEntries/ReviewEntriesComponent/CellComponents/DeleteCell"; import { defaultState as reviewEntriesState } from "goals/ReviewEntries/ReviewEntriesComponent/Redux/ReviewEntriesReduxTypes"; -import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/MockWords"; +import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/WordsMock"; const mockStore = configureMockStore()({ reviewEntriesState }); const mockWord = mockWords()[0]; diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/DomainCell.test.tsx b/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/DomainCell.test.tsx index b5de735773..565c2e775d 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/DomainCell.test.tsx +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/DomainCell.test.tsx @@ -2,10 +2,10 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import DomainCell from "goals/ReviewEntries/ReviewEntriesComponent/CellComponents/DomainCell"; -import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/MockWords"; +import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/WordsMock"; jest.mock("components/TreeView/TreeViewComponent", () => "div"); diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/FlagCell.test.tsx b/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/FlagCell.test.tsx index af7970aa1d..55db90d5a9 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/FlagCell.test.tsx +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/FlagCell.test.tsx @@ -1,9 +1,9 @@ import renderer from "react-test-renderer"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import FlagCell from "goals/ReviewEntries/ReviewEntriesComponent/CellComponents/FlagCell"; -import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/MockWords"; +import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/WordsMock"; const mockWord = mockWords()[1]; diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/GlossCell.test.tsx b/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/GlossCell.test.tsx index 3610bc04e7..9f730d28b7 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/GlossCell.test.tsx +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/CellComponents/tests/GlossCell.test.tsx @@ -2,10 +2,10 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import GlossCell from "goals/ReviewEntries/ReviewEntriesComponent/CellComponents/GlossCell"; -import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/MockWords"; +import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/WordsMock"; import { defaultWritingSystem } from "types/writingSystem"; // The multiline Input, TextField cause problems in the mock environment. diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/tests/CellColumns.test.tsx b/src/goals/ReviewEntries/ReviewEntriesComponent/tests/CellColumns.test.tsx index 9c192a54cd..1be69aa206 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/tests/CellColumns.test.tsx +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/tests/CellColumns.test.tsx @@ -1,4 +1,4 @@ -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import columns, { ColumnTitle, diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/tests/ReviewEntriesComponent.test.tsx b/src/goals/ReviewEntries/ReviewEntriesComponent/tests/ReviewEntriesComponent.test.tsx index f4c1664a4e..f2b4a35b16 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/tests/ReviewEntriesComponent.test.tsx +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/tests/ReviewEntriesComponent.test.tsx @@ -3,12 +3,12 @@ import { Provider } from "react-redux"; import renderer from "react-test-renderer"; import configureMockStore from "redux-mock-store"; -import "tests/mockReactI18next"; +import "tests/reactI18nextMock"; import ReviewEntriesComponent from "goals/ReviewEntries/ReviewEntriesComponent/ReviewEntriesComponent"; import mockWords, { mockCreateWord, -} from "goals/ReviewEntries/ReviewEntriesComponent/tests/MockWords"; +} from "goals/ReviewEntries/ReviewEntriesComponent/tests/WordsMock"; const mockGetFrontierWords = jest.fn(); const mockMaterialTable = jest.fn(); diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/tests/ReviewEntriesReducer.test.tsx b/src/goals/ReviewEntries/ReviewEntriesComponent/tests/ReviewEntriesReducer.test.tsx index 24cf181d54..4b3ca74e49 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/tests/ReviewEntriesReducer.test.tsx +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/tests/ReviewEntriesReducer.test.tsx @@ -7,7 +7,7 @@ import { ReviewEntriesSense, ReviewEntriesWord, } from "goals/ReviewEntries/ReviewEntriesComponent/ReviewEntriesTypes"; -import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/MockWords"; +import mockWords from "goals/ReviewEntries/ReviewEntriesComponent/tests/WordsMock"; import { newSemanticDomain } from "types/semanticDomain"; import { Bcp47Code } from "types/writingSystem"; diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/tests/MockWords.ts b/src/goals/ReviewEntries/ReviewEntriesComponent/tests/WordsMock.ts similarity index 100% rename from src/goals/ReviewEntries/ReviewEntriesComponent/tests/MockWords.ts rename to src/goals/ReviewEntries/ReviewEntriesComponent/tests/WordsMock.ts diff --git a/src/tests/i18nMock.ts b/src/tests/i18nMock.ts index dcc9e8c1ac..f108ddcd06 100644 --- a/src/tests/i18nMock.ts +++ b/src/tests/i18nMock.ts @@ -1,6 +1,6 @@ /* Adapted from https://react.i18next.com/misc/testing * (In most cases, this isn't needed. - * Instead you can use tests/mockReactI18next.ts to mock out i18n completely.) + * Instead you can use tests/reactI18nextMock.ts to mock out i18n completely.) * For a simple i18next wrapper, add the following to a test file: * * import { I18nextProvider } from "react-i18next"; * * import i18n from "tests/i18nMock"; diff --git a/src/tests/mockReactI18next.ts b/src/tests/reactI18nextMock.ts similarity index 90% rename from src/tests/mockReactI18next.ts rename to src/tests/reactI18nextMock.ts index 59d5d7337d..7b1f83d221 100644 --- a/src/tests/mockReactI18next.ts +++ b/src/tests/reactI18nextMock.ts @@ -1,4 +1,4 @@ -/* Use `import "tests/mockReactI18next.ts";` in a test file to mock i18next. +/* Use `import "tests/reactI18nextMock.ts";` in a test file to mock i18next. * (For testing components with `Trans`, see tests/i18nMock.ts instead.) * This import should be placed before the other internal imports. * It must come before any file that imports `react-i18next`. */ diff --git a/src/types/tests/goalUtilities.test.tsx b/src/types/tests/goalUtilities.test.tsx index 2cae5fb9de..e603ef2795 100644 --- a/src/types/tests/goalUtilities.test.tsx +++ b/src/types/tests/goalUtilities.test.tsx @@ -1,6 +1,6 @@ import { MergeUndoIds } from "api/models"; import { MergeDups } from "goals/MergeDupGoal/MergeDups"; -import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MockMergeDupData"; +import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MergeDupDataMock"; import { convertEditToGoal, convertGoalToEdit, From ffdebfa03e003cf8001ef8a7e56375616c6ebb9c Mon Sep 17 00:00:00 2001 From: "D. Ror" Date: Wed, 17 May 2023 16:20:51 -0400 Subject: [PATCH 2/6] Consolidate utilities --- codecov.yml | 3 ++- src/backend/index.ts | 2 +- src/components/DataEntry/DataEntryTable/DataEntryTable.tsx | 2 +- src/components/DataEntry/DataEntryTable/NewEntry/NewEntry.tsx | 4 ++-- .../DataEntry/DataEntryTable/NewEntry/SenseDialog.tsx | 2 +- .../DataEntry/DataEntryTable/RecentEntry/RecentEntry.tsx | 2 +- .../DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx | 2 +- src/components/GoalTimeline/GoalTimelineComponent.tsx | 2 +- src/components/GoalTimeline/Redux/GoalActions.ts | 2 +- src/components/GoalTimeline/tests/GoalActions.test.tsx | 2 +- .../GoalTimeline/tests/GoalTimelineComponent.test.tsx | 2 +- src/components/Login/SignUpPage/SignUpComponent.tsx | 2 +- src/components/PasswordReset/ResetPage/component.tsx | 2 +- src/components/ProjectExport/DownloadButton.tsx | 2 +- .../ProjectSettings/ProjectLanguages/ProjectLanguages.tsx | 2 +- .../ProjectSettings/ProjectSwitch/ProjectSwitch.tsx | 2 +- src/goals/DefaultGoal/NextGoalScreen.tsx | 2 +- src/goals/MergeDupGoal/Redux/MergeDupActions.ts | 4 ++-- .../ReviewEntries/ReviewEntriesComponent/CellColumns.tsx | 2 +- .../ReviewEntriesComponent/ReviewEntriesTypes.ts | 2 +- src/types/project.ts | 2 +- src/types/word.ts | 2 +- src/{types => utilities}/goalUtilities.ts | 0 .../tests/goalUtilities.test.ts} | 2 +- src/{ => utilities}/tests/utilities.test.ts | 4 ++-- .../tests/wordUtilities.test.ts} | 2 +- src/{ => utilities}/utilities.ts | 0 src/{types => utilities}/wordUtilities.ts | 0 28 files changed, 29 insertions(+), 28 deletions(-) rename src/{types => utilities}/goalUtilities.ts (100%) rename src/{types/tests/goalUtilities.test.tsx => utilities/tests/goalUtilities.test.ts} (97%) rename src/{ => utilities}/tests/utilities.test.ts (96%) rename src/{types/tests/wordUtilities.test.tsx => utilities/tests/wordUtilities.test.ts} (99%) rename src/{ => utilities}/utilities.ts (100%) rename src/{types => utilities}/wordUtilities.ts (100%) diff --git a/codecov.yml b/codecov.yml index 838c06d38e..b423fb67c0 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,4 +1,5 @@ ignore: - "src/api" + - "src/types" - "**/*Mock.ts" - - "**/*ReduxTypes.ts" + - "**/*Types.ts" diff --git a/src/backend/index.ts b/src/backend/index.ts index 571136dbde..09ef83e2b2 100644 --- a/src/backend/index.ts +++ b/src/backend/index.ts @@ -27,10 +27,10 @@ import * as LocalStorage from "backend/localStorage"; import history, { Path } from "browserHistory"; import authHeader from "components/Login/AuthHeaders"; import { errorToast } from "components/Toast/SwalToast"; -import { convertGoalToEdit } from "types/goalUtilities"; import { Goal, GoalStep } from "types/goals"; import { RuntimeConfig } from "types/runtimeConfig"; import { Bcp47Code } from "types/writingSystem"; +import { convertGoalToEdit } from "utilities/goalUtilities"; export const baseURL = `${RuntimeConfig.getInstance().baseUrl()}`; const apiBaseURL = `${baseURL}/v1`; diff --git a/src/components/DataEntry/DataEntryTable/DataEntryTable.tsx b/src/components/DataEntry/DataEntryTable/DataEntryTable.tsx index a78e94ae3e..41278df3bc 100644 --- a/src/components/DataEntry/DataEntryTable/DataEntryTable.tsx +++ b/src/components/DataEntry/DataEntryTable/DataEntryTable.tsx @@ -35,8 +35,8 @@ import Recorder from "components/Pronunciations/Recorder"; import { Hash } from "types/hash"; import theme from "types/theme"; import { newSense, simpleWord } from "types/word"; -import { firstGlossText } from "types/wordUtilities"; import { defaultWritingSystem, newWritingSystem } from "types/writingSystem"; +import { firstGlossText } from "utilities/wordUtilities"; export const exitButtonId = "exit-to-domain-tree"; diff --git a/src/components/DataEntry/DataEntryTable/NewEntry/NewEntry.tsx b/src/components/DataEntry/DataEntryTable/NewEntry/NewEntry.tsx index 5658fac068..5543e68541 100644 --- a/src/components/DataEntry/DataEntryTable/NewEntry/NewEntry.tsx +++ b/src/components/DataEntry/DataEntryTable/NewEntry/NewEntry.tsx @@ -16,8 +16,8 @@ import Pronunciations from "components/Pronunciations/PronunciationsComponent"; import Recorder from "components/Pronunciations/Recorder"; import theme from "types/theme"; import { newSense, newWord } from "types/word"; -import { firstGlossText } from "types/wordUtilities"; -import { LevenshteinDistance } from "utilities"; +import { LevenshteinDistance } from "utilities/utilities"; +import { firstGlossText } from "utilities/wordUtilities"; const idAffix = "new-entry"; diff --git a/src/components/DataEntry/DataEntryTable/NewEntry/SenseDialog.tsx b/src/components/DataEntry/DataEntryTable/NewEntry/SenseDialog.tsx index 7e256ce124..124cd8702f 100644 --- a/src/components/DataEntry/DataEntryTable/NewEntry/SenseDialog.tsx +++ b/src/components/DataEntry/DataEntryTable/NewEntry/SenseDialog.tsx @@ -13,7 +13,7 @@ import { Word } from "api/models"; import DomainCell from "goals/ReviewEntries/ReviewEntriesComponent/CellComponents/DomainCell"; import { ReviewEntriesWord } from "goals/ReviewEntries/ReviewEntriesComponent/ReviewEntriesTypes"; import theme from "types/theme"; -import { firstGlossText } from "types/wordUtilities"; +import { firstGlossText } from "utilities/wordUtilities"; interface SenseDialogProps { selectedWord: Word; diff --git a/src/components/DataEntry/DataEntryTable/RecentEntry/RecentEntry.tsx b/src/components/DataEntry/DataEntryTable/RecentEntry/RecentEntry.tsx index eeb623429e..16a39823ed 100644 --- a/src/components/DataEntry/DataEntryTable/RecentEntry/RecentEntry.tsx +++ b/src/components/DataEntry/DataEntryTable/RecentEntry/RecentEntry.tsx @@ -12,7 +12,7 @@ import Pronunciations from "components/Pronunciations/PronunciationsComponent"; import Recorder from "components/Pronunciations/Recorder"; import theme from "types/theme"; import { newGloss } from "types/word"; -import { firstGlossText } from "types/wordUtilities"; +import { firstGlossText } from "utilities/wordUtilities"; const idAffix = "recent-entry"; diff --git a/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx b/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx index 74c4f519db..614f79a334 100644 --- a/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx +++ b/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx @@ -18,7 +18,7 @@ import { semDomFromTreeNode, } from "types/semanticDomain"; import { multiSenseWord, newSense, simpleWord } from "types/word"; -import { firstGlossText } from "types/wordUtilities"; +import { firstGlossText } from "utilities/wordUtilities"; import { Bcp47Code } from "types/writingSystem"; jest.mock("@mui/material/Autocomplete", () => "div"); diff --git a/src/components/GoalTimeline/GoalTimelineComponent.tsx b/src/components/GoalTimeline/GoalTimelineComponent.tsx index 8d3ba4a114..05dcf0230a 100644 --- a/src/components/GoalTimeline/GoalTimelineComponent.tsx +++ b/src/components/GoalTimeline/GoalTimelineComponent.tsx @@ -5,8 +5,8 @@ import { withTranslation, WithTranslation } from "react-i18next"; import { getUserRole } from "backend"; import { getCurrentUser } from "backend/localStorage"; import GoalList from "components/GoalTimeline/GoalList"; -import { requiredPermission, goalTypeToGoal } from "types/goalUtilities"; import { Goal, GoalsState, GoalType } from "types/goals"; +import { requiredPermission, goalTypeToGoal } from "utilities/goalUtilities"; const timelineStyle = { centerButton: { diff --git a/src/components/GoalTimeline/Redux/GoalActions.ts b/src/components/GoalTimeline/Redux/GoalActions.ts index 5ea6a3f787..d3c8767a61 100644 --- a/src/components/GoalTimeline/Redux/GoalActions.ts +++ b/src/components/GoalTimeline/Redux/GoalActions.ts @@ -13,8 +13,8 @@ import { } from "goals/MergeDupGoal/Redux/MergeDupActions"; import { StoreState } from "types"; import { StoreStateDispatch } from "types/Redux/actions"; -import { convertEditToGoal } from "types/goalUtilities"; import { Goal, GoalStatus, GoalType } from "types/goals"; +import { convertEditToGoal } from "utilities/goalUtilities"; // Action Creators diff --git a/src/components/GoalTimeline/tests/GoalActions.test.tsx b/src/components/GoalTimeline/tests/GoalActions.test.tsx index 2c39879674..c33d4d8c81 100644 --- a/src/components/GoalTimeline/tests/GoalActions.test.tsx +++ b/src/components/GoalTimeline/tests/GoalActions.test.tsx @@ -16,7 +16,7 @@ import { HandleFlags } from "goals/HandleFlags/HandleFlags"; import { MergeDups } from "goals/MergeDupGoal/MergeDups"; import { MergeDupData, MergeStepData } from "goals/MergeDupGoal/MergeDupsTypes"; import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MergeDupDataMock"; -import { maxNumSteps } from "types/goalUtilities"; +import { maxNumSteps } from "utilities/goalUtilities"; import { Goal } from "types/goals"; import { newUser } from "types/user"; diff --git a/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx b/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx index 216be9a8d8..fdac7eba78 100644 --- a/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx +++ b/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx @@ -9,7 +9,7 @@ import { defaultState } from "components/GoalTimeline/DefaultState"; import GoalTimelineWithTranslation, { GoalTimeline, } from "components/GoalTimeline/GoalTimelineComponent"; -import { goalTypeToGoal } from "types/goalUtilities"; +import { goalTypeToGoal } from "utilities/goalUtilities"; import { Goal, GoalType } from "types/goals"; // Mock out HTMLDiv.scrollIntoView function, as it fails in a testing environment diff --git a/src/components/Login/SignUpPage/SignUpComponent.tsx b/src/components/Login/SignUpPage/SignUpComponent.tsx index dbc1ca731d..ca603f03ed 100644 --- a/src/components/Login/SignUpPage/SignUpComponent.tsx +++ b/src/components/Login/SignUpPage/SignUpComponent.tsx @@ -15,7 +15,7 @@ import LoadingDoneButton from "components/Buttons/LoadingDoneButton"; import { meetsPasswordRequirements, meetsUsernameRequirements, -} from "utilities"; +} from "utilities/utilities"; const idAffix = "signUp"; diff --git a/src/components/PasswordReset/ResetPage/component.tsx b/src/components/PasswordReset/ResetPage/component.tsx index 9d5510ed7e..3b95f5336c 100644 --- a/src/components/PasswordReset/ResetPage/component.tsx +++ b/src/components/PasswordReset/ResetPage/component.tsx @@ -6,7 +6,7 @@ import { RouteComponentProps } from "react-router-dom"; import history, { Path } from "browserHistory"; import { RequestState } from "components/PasswordReset/Redux/ResetReduxTypes"; -import { meetsPasswordRequirements } from "utilities"; +import { meetsPasswordRequirements } from "utilities/utilities"; export interface MatchParams { token: string; diff --git a/src/components/ProjectExport/DownloadButton.tsx b/src/components/ProjectExport/DownloadButton.tsx index 0df123ced2..d7e4ae27ba 100644 --- a/src/components/ProjectExport/DownloadButton.tsx +++ b/src/components/ProjectExport/DownloadButton.tsx @@ -19,7 +19,7 @@ import { ExportStatus } from "components/ProjectExport/Redux/ExportProjectReduxT import { StoreState } from "types"; import { useAppDispatch, useAppSelector } from "types/hooks"; import { themeColors } from "types/theme"; -import { getNowDateTimeString } from "utilities"; +import { getNowDateTimeString } from "utilities/utilities"; function makeExportName(projectName: string) { return `${projectName}_${getNowDateTimeString()}.zip`; diff --git a/src/components/ProjectSettings/ProjectLanguages/ProjectLanguages.tsx b/src/components/ProjectSettings/ProjectLanguages/ProjectLanguages.tsx index a5261bfc93..67935c1727 100644 --- a/src/components/ProjectSettings/ProjectLanguages/ProjectLanguages.tsx +++ b/src/components/ProjectSettings/ProjectLanguages/ProjectLanguages.tsx @@ -28,8 +28,8 @@ import { getFrontierWords } from "backend"; import IconButtonWithTooltip from "components/Buttons/IconButtonWithTooltip"; import { UpperRightToastContainer } from "components/Toast/UpperRightToastContainer"; import theme from "types/theme"; -import { getAnalysisLangsFromWords } from "types/wordUtilities"; import { newWritingSystem, semDomWritingSystems } from "types/writingSystem"; +import { getAnalysisLangsFromWords } from "utilities/wordUtilities"; interface LanguageProps extends WithTranslation { project: Project; diff --git a/src/components/ProjectSettings/ProjectSwitch/ProjectSwitch.tsx b/src/components/ProjectSettings/ProjectSwitch/ProjectSwitch.tsx index 47964dfb07..1e69f1e2c3 100644 --- a/src/components/ProjectSettings/ProjectSwitch/ProjectSwitch.tsx +++ b/src/components/ProjectSettings/ProjectSwitch/ProjectSwitch.tsx @@ -4,7 +4,7 @@ import React from "react"; import { Project } from "api/models"; import { getAllActiveProjectsByUser } from "backend"; import { getUserId } from "backend/localStorage"; -import { randomIntString } from "utilities"; +import { randomIntString } from "utilities/utilities"; interface SwitchProps { project: Project; diff --git a/src/goals/DefaultGoal/NextGoalScreen.tsx b/src/goals/DefaultGoal/NextGoalScreen.tsx index 4467f6c796..920e298a2c 100644 --- a/src/goals/DefaultGoal/NextGoalScreen.tsx +++ b/src/goals/DefaultGoal/NextGoalScreen.tsx @@ -5,9 +5,9 @@ import { asyncAddGoal } from "components/GoalTimeline/Redux/GoalActions"; import PageNotFound from "components/PageNotFound/component"; import { MergeDupContinueDialog } from "goals/MergeDupGoal/MergeDupComponent/MergeDupContinueDialog"; import { StoreState } from "types"; -import { goalTypeToGoal } from "types/goalUtilities"; import { GoalType } from "types/goals"; import { useAppDispatch, useAppSelector } from "types/hooks"; +import { goalTypeToGoal } from "utilities/goalUtilities"; /** * Dialog for continuing to a new goal or returning to GoalTimeline. diff --git a/src/goals/MergeDupGoal/Redux/MergeDupActions.ts b/src/goals/MergeDupGoal/Redux/MergeDupActions.ts index c3c32e931a..326a58cd10 100644 --- a/src/goals/MergeDupGoal/Redux/MergeDupActions.ts +++ b/src/goals/MergeDupGoal/Redux/MergeDupActions.ts @@ -39,10 +39,10 @@ import { } from "goals/MergeDupGoal/Redux/MergeDupReduxTypes"; import { StoreState } from "types"; import { StoreStateDispatch } from "types/Redux/actions"; -import { maxNumSteps } from "types/goalUtilities"; import { GoalType } from "types/goals"; import { Hash } from "types/hash"; -import { compareFlags } from "types/wordUtilities"; +import { maxNumSteps } from "utilities/goalUtilities"; +import { compareFlags } from "utilities/wordUtilities"; // Action Creators diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/CellColumns.tsx b/src/goals/ReviewEntries/ReviewEntriesComponent/CellColumns.tsx index b6b62c847c..bc6701e340 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/CellColumns.tsx +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/CellColumns.tsx @@ -19,7 +19,7 @@ import { ReviewEntriesWord, ReviewEntriesWordField, } from "goals/ReviewEntries/ReviewEntriesComponent/ReviewEntriesTypes"; -import { compareFlags } from "types/wordUtilities"; +import { compareFlags } from "utilities/wordUtilities"; enum SortStyle { // vernacular, noteText: neither have a customSort defined, diff --git a/src/goals/ReviewEntries/ReviewEntriesComponent/ReviewEntriesTypes.ts b/src/goals/ReviewEntries/ReviewEntriesComponent/ReviewEntriesTypes.ts index 1107cedd5f..6d4bdbab39 100644 --- a/src/goals/ReviewEntries/ReviewEntriesComponent/ReviewEntriesTypes.ts +++ b/src/goals/ReviewEntries/ReviewEntriesComponent/ReviewEntriesTypes.ts @@ -9,7 +9,7 @@ import { } from "api/models"; import Recorder from "components/Pronunciations/Recorder"; import { newSense, newWord } from "types/word"; -import { cleanDefinitions, cleanGlosses } from "types/wordUtilities"; +import { cleanDefinitions, cleanGlosses } from "utilities/wordUtilities"; // These must match the ReviewEntriesWord fields for use in ReviewEntriesTable export enum ReviewEntriesWordField { diff --git a/src/types/project.ts b/src/types/project.ts index a29a9d17b6..2565188d80 100644 --- a/src/types/project.ts +++ b/src/types/project.ts @@ -1,6 +1,6 @@ import { AutocompleteSetting, Project } from "api/models"; import { newWritingSystem } from "types/writingSystem"; -import { randomIntString } from "utilities"; +import { randomIntString } from "utilities/utilities"; export function newProject(name = ""): Project { return { diff --git a/src/types/word.ts b/src/types/word.ts index 818060c318..209e7ce942 100644 --- a/src/types/word.ts +++ b/src/types/word.ts @@ -10,7 +10,7 @@ import { Status, Word, } from "api/models"; -import { randomIntString } from "utilities"; +import { randomIntString } from "utilities/utilities"; export function newDefinition(text = "", language = ""): Definition { return { text, language }; diff --git a/src/types/goalUtilities.ts b/src/utilities/goalUtilities.ts similarity index 100% rename from src/types/goalUtilities.ts rename to src/utilities/goalUtilities.ts diff --git a/src/types/tests/goalUtilities.test.tsx b/src/utilities/tests/goalUtilities.test.ts similarity index 97% rename from src/types/tests/goalUtilities.test.tsx rename to src/utilities/tests/goalUtilities.test.ts index e603ef2795..b3631d2faa 100644 --- a/src/types/tests/goalUtilities.test.tsx +++ b/src/utilities/tests/goalUtilities.test.ts @@ -5,7 +5,7 @@ import { convertEditToGoal, convertGoalToEdit, maxNumSteps, -} from "types/goalUtilities"; +} from "utilities/goalUtilities"; import { Goal } from "types/goals"; describe("goalUtilities", () => { diff --git a/src/tests/utilities.test.ts b/src/utilities/tests/utilities.test.ts similarity index 96% rename from src/tests/utilities.test.ts rename to src/utilities/tests/utilities.test.ts index 5f5df4c16e..3ea3f31ae7 100644 --- a/src/tests/utilities.test.ts +++ b/src/utilities/tests/utilities.test.ts @@ -1,6 +1,6 @@ -import * as utilities from "utilities"; +import * as utilities from "utilities/utilities"; -describe("utilities", () => { +describe("utilities/utilities", () => { describe("quicksort", () => { const compareItem = (input: number) => { return input; diff --git a/src/types/tests/wordUtilities.test.tsx b/src/utilities/tests/wordUtilities.test.ts similarity index 99% rename from src/types/tests/wordUtilities.test.tsx rename to src/utilities/tests/wordUtilities.test.ts index 990ea2c778..bb96304972 100644 --- a/src/types/tests/wordUtilities.test.tsx +++ b/src/utilities/tests/wordUtilities.test.ts @@ -13,7 +13,7 @@ import { firstGlossText, getAnalysisLangsFromWords, sep, -} from "types/wordUtilities"; +} from "utilities/wordUtilities"; describe("wordUtilities", () => { describe("cleanDefinitions", () => { diff --git a/src/utilities.ts b/src/utilities/utilities.ts similarity index 100% rename from src/utilities.ts rename to src/utilities/utilities.ts diff --git a/src/types/wordUtilities.ts b/src/utilities/wordUtilities.ts similarity index 100% rename from src/types/wordUtilities.ts rename to src/utilities/wordUtilities.ts From 0f18089cfec6ccff28b3a070f626b80b9184411b Mon Sep 17 00:00:00 2001 From: "D. Ror" Date: Wed, 17 May 2023 16:25:11 -0400 Subject: [PATCH 3/6] Sort test imports --- .../DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx | 2 +- src/components/GoalTimeline/tests/GoalActions.test.tsx | 2 +- .../GoalTimeline/tests/GoalTimelineComponent.test.tsx | 2 +- src/utilities/tests/goalUtilities.test.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx b/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx index 614f79a334..a9b04e3983 100644 --- a/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx +++ b/src/components/DataEntry/DataEntryTable/tests/DataEntryTable.test.tsx @@ -18,8 +18,8 @@ import { semDomFromTreeNode, } from "types/semanticDomain"; import { multiSenseWord, newSense, simpleWord } from "types/word"; -import { firstGlossText } from "utilities/wordUtilities"; import { Bcp47Code } from "types/writingSystem"; +import { firstGlossText } from "utilities/wordUtilities"; jest.mock("@mui/material/Autocomplete", () => "div"); jest.mock("notistack", () => ({ diff --git a/src/components/GoalTimeline/tests/GoalActions.test.tsx b/src/components/GoalTimeline/tests/GoalActions.test.tsx index c33d4d8c81..7e6ce59719 100644 --- a/src/components/GoalTimeline/tests/GoalActions.test.tsx +++ b/src/components/GoalTimeline/tests/GoalActions.test.tsx @@ -16,9 +16,9 @@ import { HandleFlags } from "goals/HandleFlags/HandleFlags"; import { MergeDups } from "goals/MergeDupGoal/MergeDups"; import { MergeDupData, MergeStepData } from "goals/MergeDupGoal/MergeDupsTypes"; import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MergeDupDataMock"; -import { maxNumSteps } from "utilities/goalUtilities"; import { Goal } from "types/goals"; import { newUser } from "types/user"; +import { maxNumSteps } from "utilities/goalUtilities"; jest.mock("goals/MergeDupGoal/Redux/MergeDupActions", () => { const realMergeDupActions = jest.requireActual( diff --git a/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx b/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx index fdac7eba78..83c3373553 100644 --- a/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx +++ b/src/components/GoalTimeline/tests/GoalTimelineComponent.test.tsx @@ -9,8 +9,8 @@ import { defaultState } from "components/GoalTimeline/DefaultState"; import GoalTimelineWithTranslation, { GoalTimeline, } from "components/GoalTimeline/GoalTimelineComponent"; -import { goalTypeToGoal } from "utilities/goalUtilities"; import { Goal, GoalType } from "types/goals"; +import { goalTypeToGoal } from "utilities/goalUtilities"; // Mock out HTMLDiv.scrollIntoView function, as it fails in a testing environment HTMLDivElement.prototype.scrollIntoView = jest.fn(); diff --git a/src/utilities/tests/goalUtilities.test.ts b/src/utilities/tests/goalUtilities.test.ts index b3631d2faa..08f81088c8 100644 --- a/src/utilities/tests/goalUtilities.test.ts +++ b/src/utilities/tests/goalUtilities.test.ts @@ -1,12 +1,12 @@ import { MergeUndoIds } from "api/models"; import { MergeDups } from "goals/MergeDupGoal/MergeDups"; import { goalDataMock } from "goals/MergeDupGoal/Redux/tests/MergeDupDataMock"; +import { Goal } from "types/goals"; import { convertEditToGoal, convertGoalToEdit, maxNumSteps, } from "utilities/goalUtilities"; -import { Goal } from "types/goals"; describe("goalUtilities", () => { describe("convertGoalToEdit, convertEditToGoal", () => { From 5d2ab93807abe7ee183ba7182237ee685ba7f09d Mon Sep 17 00:00:00 2001 From: "D. Ror" Date: Wed, 17 May 2023 16:35:29 -0400 Subject: [PATCH 4/6] Update badges --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cc8b4cd95b..c1ea14f103 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,12 @@ [![Frontend Actions Status][github-actions-frontend-badge]][github-actions] [![Frontend Coverage][frontend-codecov-badge]][codecov-frontend] + [![Backend Actions Status][github-actions-backend-badge]][github-actions] [![Backend Coverage][backend-codecov-badge]][codecov-backend] -[![Python Actions Status][github-actions-python-badge]][github-actions] + [![CodeQL Actions Status][github-actions-codeql-badge]][github-actions] +[![Python Actions Status][github-actions-python-badge]][github-actions] [![OSSF Scorecard][github-actions-ossf-badge]][github-actions] [![GitHub release][github-release-badge]][github-version] [![GitHub version][github-version-badge]][github-version] @@ -23,7 +25,7 @@ [github-actions-ossf-badge]: https://github.com/sillsdev/TheCombine/workflows/Scorecards%20supply-chain%20security/badge.svg [github-actions]: https://github.com/sillsdev/TheCombine/actions -[localization-badge]: https://img.shields.io/badge/localization-En%20Es%20Fr-blue +[localization-badge]: https://img.shields.io/badge/localization-Ar%20En%20Es%20Fr%20Pt-blue [github-version-badge]: https://img.shields.io/github/package-json/v/sillsdev/TheCombine [github-release-badge]: https://img.shields.io/github/v/release/sillsdev/TheCombine [github-version]: https://github.com/sillsdev/TheCombine/releases From 870f96d4e70a3ad48d1901b4bfebfc1845894da8 Mon Sep 17 00:00:00 2001 From: "D. Ror" Date: Wed, 17 May 2023 17:03:15 -0400 Subject: [PATCH 5/6] Add localization link --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c1ea14f103..79dbc73d02 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ [![OSSF Scorecard][github-actions-ossf-badge]][github-actions] [![GitHub release][github-release-badge]][github-version] [![GitHub version][github-version-badge]][github-version] -![Localization][localization-badge] [![GitHub][github-license-badge]][github-license] +[![Localization][localization-badge]][localization-crowdin] [![GitHub][github-license-badge]][github-license] [![GitHub contributors][github-contribs-badge]][github-contribs] [github-actions-frontend-badge]: https://github.com/sillsdev/TheCombine/workflows/frontend/badge.svg @@ -26,6 +26,7 @@ https://github.com/sillsdev/TheCombine/workflows/Scorecards%20supply-chain%20security/badge.svg [github-actions]: https://github.com/sillsdev/TheCombine/actions [localization-badge]: https://img.shields.io/badge/localization-Ar%20En%20Es%20Fr%20Pt-blue +[localization-crowdin]: https://crowdin.com/project/the-combine [github-version-badge]: https://img.shields.io/github/package-json/v/sillsdev/TheCombine [github-release-badge]: https://img.shields.io/github/v/release/sillsdev/TheCombine [github-version]: https://github.com/sillsdev/TheCombine/releases From 03493abe24b3b1cf94766191239a8e572bad772a Mon Sep 17 00:00:00 2001 From: "D. Ror" Date: Thu, 18 May 2023 10:44:18 -0400 Subject: [PATCH 6/6] Ignore src/resources --- codecov.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/codecov.yml b/codecov.yml index b423fb67c0..c1e6c4af15 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,5 +1,6 @@ ignore: - "src/api" + - "src/resources" - "src/types" - "**/*Mock.ts" - "**/*Types.ts"