test(todos): schémas Pydantic + 9 tests d'intégration todos (en échec)

Ajoute les schémas Pydantic TodoCreate/TodoUpdate/PostponeRequest/TodoResponse,
la fixture db_session dans conftest, et 9 tests d'intégration contre PostgreSQL
réel — tous en échec car les endpoints /api/todos/ n'existent pas encore.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-24 09:13:58 +02:00
co-authored by Claude Sonnet 4.6
parent 53bb8bd27a
commit 3591972014
3 changed files with 165 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
import uuid
from datetime import datetime
from pydantic import BaseModel, ConfigDict
class TodoCreate(BaseModel):
title: str
body: str | None = None
url: str | None = None
domain: str | None = None
category: str | None = None
tags: list[str] = []
status: str = "pending"
priority: str = "medium"
due_date: datetime | None = None
class TodoUpdate(BaseModel):
title: str | None = None
body: str | None = None
url: str | None = None
domain: str | None = None
category: str | None = None
tags: list[str] | None = None
status: str | None = None
priority: str | None = None
due_date: datetime | None = None
class PostponeRequest(BaseModel):
days: int # 1 ou 7
class TodoResponse(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: uuid.UUID
title: str
body: str | None
url: str | None
domain: str | None
category: str | None
tags: list[str]
status: str
priority: str
due_date: datetime | None
postponed_count: int
created_at: datetime
updated_at: datetime | None
owner_id: uuid.UUID | None