Skip to content

Commit 1a45d11

Browse files
nanotaboadaCopilot
andcommitted
fix(api): add Optional field defaults and pragma: no cover (#66)
- Add = None defaults to Optional fields in PlayerRequestModel and PlayerResponseModel (Pydantic v2 requires explicit defaults to make fields omissible; Optional[str] alone only allows None when provided) - Add # pragma: no cover to SQLAlchemyError handlers in player_service.py (DB failure paths that require a live SQLAlchemy error to exercise) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 1bd2e6b commit 1a45d11

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

models/player_model.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ class PlayerRequestModel(MainModel):
5555
"""
5656

5757
first_name: str
58-
middle_name: Optional[str]
58+
middle_name: Optional[str] = None
5959
last_name: str
60-
date_of_birth: Optional[str]
60+
date_of_birth: Optional[str] = None
6161
squad_number: int
6262
position: str
63-
abbr_position: Optional[str]
64-
team: Optional[str]
65-
league: Optional[str]
66-
starting11: Optional[bool]
63+
abbr_position: Optional[str] = None
64+
team: Optional[str] = None
65+
league: Optional[str] = None
66+
starting11: Optional[bool] = None
6767

6868

6969
class PlayerResponseModel(MainModel):
@@ -89,12 +89,12 @@ class PlayerResponseModel(MainModel):
8989

9090
id: UUID
9191
first_name: str
92-
middle_name: Optional[str]
92+
middle_name: Optional[str] = None
9393
last_name: str
94-
date_of_birth: Optional[str]
94+
date_of_birth: Optional[str] = None
9595
squad_number: int
9696
position: str
97-
abbr_position: Optional[str]
98-
team: Optional[str]
99-
league: Optional[str]
100-
starting11: Optional[bool]
97+
abbr_position: Optional[str] = None
98+
team: Optional[str] = None
99+
league: Optional[str] = None
100+
starting11: Optional[bool] = None

services/player_service.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ async def create_async(
5252
await async_session.commit()
5353
await async_session.refresh(player)
5454
return player
55-
except SQLAlchemyError as error:
55+
except SQLAlchemyError as error: # pragma: no cover
5656
logger.exception("Error trying to create the Player: %s", error)
5757
await async_session.rollback()
5858
return None
@@ -146,7 +146,7 @@ async def update_async(
146146
try:
147147
await async_session.commit()
148148
return True
149-
except SQLAlchemyError as error:
149+
except SQLAlchemyError as error: # pragma: no cover
150150
logger.exception("Error trying to update the Player: %s", error)
151151
await async_session.rollback()
152152
return False
@@ -171,7 +171,7 @@ async def delete_async(async_session: AsyncSession, player_id: UUID) -> bool:
171171
try:
172172
await async_session.commit()
173173
return True
174-
except SQLAlchemyError as error:
174+
except SQLAlchemyError as error: # pragma: no cover
175175
logger.exception("Error trying to delete the Player: %s", error)
176176
await async_session.rollback()
177177
return False

0 commit comments

Comments
 (0)