Integration testing revealed three issues with the refactored service layer:
1. CSV Export Format
- Nested team/sbaplayer dicts were being dumped as strings
- Now flattens team to abbreviation, sbaplayer to ID
- Matches original CSV format from pre-refactor code
2. Season=0 Filter
- season=0 was filtering for WHERE season=0 (returns nothing)
- Now correctly returns all seasons when season=0 or None
- Affects 13,266 total players across all seasons
3. Generic Position "P"
- pos=P returned no results (players have SP/RP/CP, not P)
- Now expands P to match SP, RP, CP pitcher positions
- Applied to both DB filtering and Python mock filtering
4. Roster Endpoint Enhancement
- Added default /teams/{id}/roster endpoint (assumes 'current')
- Existing /teams/{id}/roster/{which} endpoint unchanged
All changes maintain backward compatibility and pass integration tests.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| routers_v3 | ||
| services | ||
| __init__.py | ||
| db_engine.py | ||
| dependencies.py | ||
| main.py | ||