fix(recipe): task di default per il disegno e' task_type=drawing (#36 punto 5)

update_current_version creava il task di default (nessun task ancora sulla
versione) senza task_type, quindi finiva "note" invece di "drawing" come
fa create_new_version alla riga ~293. Aggiunta la riga mancante.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-21 22:39:50 +02:00
parent b15037851b
commit 302903a8a7
2 changed files with 43 additions and 0 deletions
+1
View File
@@ -425,6 +425,7 @@ async def update_current_version(
default_task = RecipeTask(
version_id=current.id,
order_index=0,
task_type="drawing",
title="Technical Drawing",
file_path=data.file_path,
file_type=data.file_type or (
@@ -0,0 +1,42 @@
"""Unit test for recipe_service.update_current_version (gitea#36 point 5).
The default task created to hold a drawing when a version has no tasks yet
must be task_type="drawing" (as create_new_version already does at line
~293), not the "note" default — otherwise the operator screen treats a
version with only a drawing as an empty note.
"""
from sqlalchemy.ext.asyncio import AsyncSession
from src.backend.models.api.recipe import RecipeUpdate
from src.backend.models.orm.recipe import Recipe, RecipeVersion
from src.backend.models.orm.task import RecipeTask
from src.backend.services import recipe_service
async def test_default_task_from_update_current_version_is_drawing_type(
db_session: AsyncSession, admin_user,
):
recipe = Recipe(
code="DRAW-425", name="Drawing only", created_by=admin_user.id,
)
db_session.add(recipe)
await db_session.flush()
version = RecipeVersion(
recipe_id=recipe.id, version_number=1, is_current=True,
created_by=admin_user.id,
)
db_session.add(version)
await db_session.flush()
# No RecipeTask yet: update_current_version must create the default one.
await recipe_service.update_current_version(
db_session, recipe.id, RecipeUpdate(file_path="1/1/drawing.png"),
)
await db_session.commit()
result = await db_session.execute(
RecipeTask.__table__.select().where(RecipeTask.version_id == version.id)
)
task = result.mappings().one()
assert task["task_type"] == "drawing"