docs: update CHANGELOG with refactoring details

- Add comprehensive test suite additions for derivative license logic
- Detail all centralized constants (LICENSE_MAP, API_URLS, etc.)
- Document test coverage improvement from 61.71% to 63.87%
- Include formatting fixes and linting improvements
- Reorganize entries by Added/Changed/Fixed categories for clarity
This commit is contained in:
Alexander Minges 2025-07-25 10:43:20 +02:00
parent d660ed457e
commit 64166df4c5
Signed by: Athemis
SSH key fingerprint: SHA256:TUXshgulbwL+FRYvBNo54pCsI0auROsSEgSvueKbkZ4

View file

@ -7,18 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Added
- Comprehensive test suite for derivative license logic in AbstractProcessor
- Unit tests for DERIVATIVE_ALLOWED_LICENSES constant validation
- Helper function create_license_from_map() for consistent test data creation
- Tests for all Creative Commons licenses and their derivative permissions
### Changed
- Centralize ICONS definitions in core/constants.py module to eliminate code duplication
- Centralize additional constants (LICENSE_MAP, API_URLS, etc.) in core/constants.py module
- Remove hardcoded Creative Commons license mappings from processors.py
- Remove hardcoded API URLs for OpenAlex and CrossRef from processing modules
- Replace custom HTTP status code constants with Python's standard `http.HTTPStatus` enum
- Remove hardcoded template strings throughout codebase
- Centralize LICENSE_MAP with Creative Commons and public domain license mappings
- Centralize API_URLS for OpenAlex and CrossRef endpoints
- Centralize DERIVATIVE_ALLOWED_LICENSES set for abstract extraction logic
- Centralize TEMPLATES for consistent string formatting
- Replace custom HTTP_STATUS dict with Python's standard `http.HTTPStatus` enum
- Update AbstractProcessor and MetadataProcessor to use centralized constants
- Improve test coverage from 61.71% to 63.87%
### Fixed
- Fix list formatting in API documentation docstrings for better sphinx rendering
- Fix formatting inconsistencies in constants.py (remove double empty lines)
- Fix ruff linting issues with unused mock variables in tests
## [v3.0.1] - 2025-07-25