feat(api): enforce ownership across health routines and profile flows

This commit is contained in:
Piotr Oleszczyk 2026-03-12 15:48:13 +01:00
parent cd8e39939a
commit ffa3b71309
14 changed files with 1225 additions and 206 deletions

View file

@ -3,7 +3,7 @@ from datetime import date
from unittest.mock import patch
from innercontext.models import Routine, SkinConditionSnapshot
from innercontext.models.enums import BarrierState, OverallSkinState
from innercontext.models.enums import BarrierState, OverallSkinState, PartOfDay
# ---------------------------------------------------------------------------
# Routines
@ -223,13 +223,14 @@ def test_delete_grooming_schedule_not_found(client):
assert r.status_code == 404
def test_suggest_routine(client, session):
def test_suggest_routine(client, session, current_user):
with patch(
"innercontext.api.routines.call_gemini_with_function_tools"
) as mock_gemini:
session.add(
SkinConditionSnapshot(
id=uuid.uuid4(),
user_id=current_user.user_id,
snapshot_date=date(2026, 2, 22),
overall_state=OverallSkinState.GOOD,
hydration_level=4,
@ -272,18 +273,20 @@ def test_suggest_routine(client, session):
assert "get_product_details" in kwargs["function_handlers"]
def test_suggest_batch(client, session):
def test_suggest_batch(client, session, current_user):
with patch("innercontext.api.routines.call_gemini") as mock_gemini:
session.add(
Routine(
id=uuid.uuid4(),
user_id=current_user.user_id,
routine_date=date(2026, 2, 27),
part_of_day="pm",
part_of_day=PartOfDay.PM,
)
)
session.add(
SkinConditionSnapshot(
id=uuid.uuid4(),
user_id=current_user.user_id,
snapshot_date=date(2026, 2, 20),
overall_state=OverallSkinState.GOOD,
hydration_level=4,