32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
def test_project_serializes_active_task_id():
|
|
"""active_task_id is included in Project.to_dict()."""
|
|
from app.models.project import Project, ProjectStatus
|
|
p = Project(
|
|
project_id="proj-1", name="Test",
|
|
status=ProjectStatus.GRAPH_BUILDING,
|
|
created_at="2026-01-01", updated_at="2026-01-01",
|
|
active_task_id="task-abc-123",
|
|
)
|
|
assert p.to_dict()["active_task_id"] == "task-abc-123"
|
|
|
|
|
|
def test_project_deserializes_active_task_id():
|
|
"""Project.from_dict() restores active_task_id from JSON."""
|
|
from app.models.project import Project
|
|
data = {
|
|
"project_id": "proj-1", "name": "Test", "status": "graph_building",
|
|
"created_at": "2026-01-01", "updated_at": "2026-01-01",
|
|
"active_task_id": "task-abc-123",
|
|
}
|
|
assert Project.from_dict(data).active_task_id == "task-abc-123"
|
|
|
|
|
|
def test_project_active_task_id_defaults_none():
|
|
"""active_task_id defaults to None for projects without it (backward compat)."""
|
|
from app.models.project import Project
|
|
data = {
|
|
"project_id": "proj-1", "name": "Test", "status": "created",
|
|
"created_at": "2026-01-01", "updated_at": "2026-01-01",
|
|
}
|
|
assert Project.from_dict(data).active_task_id is None
|