Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FUND] Add tests and significantly improve test coverage #781

Open
sebastian-meyer opened this issue Mar 9, 2022 · 2 comments · Fixed by #953, #919, #909, #902 or #895
Open

[FUND] Add tests and significantly improve test coverage #781

sebastian-meyer opened this issue Mar 9, 2022 · 2 comments · Fixed by #953, #919, #909, #902 or #895
Assignees
Labels
⭐ development fund 2022 A candidate for the Kitodo e.V. development fund. 💰 funded A feature funded by the Kitodo e.V. development fund. 🛠 maintenance A task to keep the code up-to-date and manageable.

Comments

@sebastian-meyer
Copy link
Member

Description

Currently Kitodo.Presentation barely has any (unit) tests, so implementing new features and making sure that nothing broke is very tedious and time consuming - not only for developers but for the release management as well. This proposal suggests to write a lot of tests and significantly improve test coverage for Kitodo.Presentation.

Related Issues

None.

Expected Benefits of this Development

Test-driven development ensures that developing new features, updating components or re-factoring code doesn't break anything (or at least makes obvious what broke). This is especially important for older projects with a large and complex code base, since it's impossible for a single developer to know every constraint and dependency.
Having tests would therefor improve code quality, make development easier and help testing and reviewing pull requests for the release management.

Estimated Costs and Complexity

Writing tests is not a complex, but a rather time-consuming task, so I'd estimate this to be of high cost and low complexity.

@sebastian-meyer sebastian-meyer added 🛠 maintenance A task to keep the code up-to-date and manageable. ⭐ development fund 2022 A candidate for the Kitodo e.V. development fund. labels Mar 9, 2022
@sebastian-meyer sebastian-meyer added the 💰 funded A feature funded by the Kitodo e.V. development fund. label Feb 23, 2023
@sebastian-meyer
Copy link
Member Author

sebastian-meyer commented Mar 1, 2023

Priority 1

  • Classes/Command/BaseCommand.php->saveToDatabase()
  • Classes/Common/Doc.php
  • Classes/Common/FulltextInterface.php
  • Classes/Common/Helper.php
  • Classes/Common/IiifManifest.php
  • Classes/Common/IiifUrlReader.php
  • Classes/Common/Indexer.php
  • Classes/Common/MetadataInterface.php
  • Classes/Common/MetsDocument.php
  • Classes/Common/Solr.php
  • Classes/Common/SolrPaginator.php
  • Classes/Common/SolrSearch.php
  • Classes/Common/SolrSearchQuery.php
  • Classes/Controller/Backend/NewTenantController.php
  • Classes/Controller/AbstractController.php
  • Classes/Controller/AudioPlayerController.php
  • Classes/Controller/BasketController.php
  • Classes/Controller/CalendarController.php
  • Classes/Controller/CollectionController.php
  • Classes/Controller/FeedsController.php
  • Classes/Controller/ListViewController.php
  • Classes/Controller/MetadataController.php
  • Classes/Controller/NavigationController.php
  • Classes/Controller/OaiPmhController.php
  • Classes/Controller/PageGridController.php
  • Classes/Controller/PageViewController.php
  • Classes/Controller/SearchController.php
  • Classes/Controller/StatisticsController.php
  • Classes/Controller/TableOfContentsController.php
  • Classes/Controller/ToolboxController.php
  • Classes/Controller/View3DController.php
  • Classes/Domain/Repository/ActionLogRepository.php
  • Classes/Domain/Repository/BasketRepository.php
  • Classes/Domain/Repository/CollectionRepository.php
  • Classes/Domain/Repository/DocumentRepository.php
  • Classes/Domain/Repository/FormatRepository.php
  • Classes/Domain/Repository/LibraryRepository.php
  • Classes/Domain/Repository/MailRepository.php
  • Classes/Domain/Repository/MetadataFormatRepository.php
  • Classes/Domain/Repository/MetadataRepository.php
  • Classes/Domain/Repository/PrinterRepository.php
  • Classes/Domain/Repository/SolrCoreRepository.php
  • Classes/Domain/Repository/StructureRepository.php
  • Classes/Domain/Repository/TokenRepository.php
  • Classes/Format/Alto.php
  • Classes/Format/AudioVideoMD.php
  • Classes/Format/Mods.php
  • Classes/Format/TeiHeader.php
  • Classes/Hooks/DataHandler.php
  • Classes/Hooks/ItemsProcFunc.php

Priority 2

  • Classes/Api/Orcid/Client.php
  • Classes/Api/Orcid/Profile.php
  • Classes/Api/Viaf/Client.php
  • Classes/Api/Viaf/Profile.php
  • Classes/Command/HarvestCommand.php
  • Classes/Command/IndexCommand.php
  • Classes/Command/ReindexCommand.php
  • Classes/Common/SolrSearchResult/Highlight.php
  • Classes/Common/SolrSearchResult/Page.php
  • Classes/Common/SolrSearchResult/Region.php
  • Classes/Common/SolrSearchResult/ResultDocument.php
  • Classes/Domain/Model/ActionLog.php
  • Classes/Domain/Model/Basket.php
  • Classes/Domain/Model/Collection.php
  • Classes/Domain/Model/Document.php
  • Classes/Domain/Model/Format.php
  • Classes/Domain/Model/Library.php
  • Classes/Domain/Model/Mail.php
  • Classes/Domain/Model/Metadata.php
  • Classes/Domain/Model/MetadataFormat.php
  • Classes/Domain/Model/PageSelectForm.php
  • Classes/Domain/Model/Printer.php
  • Classes/Domain/Model/SolrCore.php
  • Classes/Domain/Model/Structure.php
  • Classes/Domain/Model/Token.php
  • Classes/Eid/PageViewProxy.php
  • Classes/Eid/SearchInDocument.php
  • Classes/Eid/SearchSuggest.php
  • Classes/ExpressionLanguage/DocumentTypeFunctionProvider.php
  • Classes/ExpressionLanguage/DocumentTypeProvider.php
  • Classes/Hooks/ConfigurationForm.php
  • Classes/Hooks/ThumbnailCustomElement.php
  • Classes/Pagination/PageGridPagination.php
  • Classes/Pagination/PageGridPaginator.php
  • Classes/ViewHelpers/JsFooterViewHelper.php
  • Classes/ViewHelpers/MetadataWrapVariableViewHelper.php
  • Classes/ViewHelpers/StdWrapViewHelper.php

Priority 3

  • Classes/Common/KitodoFlashMessageRenderer.php
  • Classes/Common/StdOutStream.php
  • Classes/Hooks/Form/FieldInformation/EditInProductionWarning.php
  • Classes/Hooks/Form/FieldInformation/SolrCoreStatus.php
  • Classes/Hooks/KitodoProductionHacks.php
  • Classes/Updates/FileLocationUpdater.php
  • Classes/Updates/MigrateSettings.php

@sebastian-meyer sebastian-meyer changed the title [FUND] Add tests and significantly improve test coverage Add tests and significantly improve test coverage Jul 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment