test(auth): add multi-user regression coverage

- Enable backend tests in CI (remove if: false)
- Fix test_products_helpers.py to pass current_user parameter
- Fix test_routines_helpers.py to include short_id in products
- Fix llm_context.py to use product_effect_profile correctly
- All 221 tests passing
This commit is contained in:
Piotr Oleszczyk 2026-03-12 16:42:00 +01:00
parent b11f64d5a1
commit dac787b81b
45 changed files with 5298 additions and 23 deletions

View file

@ -480,6 +480,7 @@ def test_build_day_context():
def test_get_available_products_respects_filters(session: Session, current_user):
regular_med = Product(
id=uuid.uuid4(),
short_id=str(uuid.uuid4())[:8],
name="Tretinoin",
category="serum",
is_medication=True,
@ -491,6 +492,7 @@ def test_get_available_products_respects_filters(session: Session, current_user)
)
minoxidil_med = Product(
id=uuid.uuid4(),
short_id=str(uuid.uuid4())[:8],
name="Minoxidil 5%",
category="serum",
is_medication=True,
@ -502,6 +504,7 @@ def test_get_available_products_respects_filters(session: Session, current_user)
)
am_product = Product(
id=uuid.uuid4(),
short_id=str(uuid.uuid4())[:8],
name="AM SPF",
category="spf",
brand="Test",
@ -512,6 +515,7 @@ def test_get_available_products_respects_filters(session: Session, current_user)
)
pm_product = Product(
id=uuid.uuid4(),
short_id=str(uuid.uuid4())[:8],
name="PM Cream",
category="moisturizer",
brand="Test",
@ -540,6 +544,7 @@ def test_build_product_details_tool_handler_returns_only_available_ids(
):
available = Product(
id=uuid.uuid4(),
short_id=str(uuid.uuid4())[:8],
name="Available",
category="serum",
brand="Test",
@ -550,6 +555,7 @@ def test_build_product_details_tool_handler_returns_only_available_ids(
)
unavailable = Product(
id=uuid.uuid4(),
short_id=str(uuid.uuid4())[:8],
name="Unavailable",
category="serum",
brand="Test",
@ -574,9 +580,8 @@ def test_build_product_details_tool_handler_returns_only_available_ids(
assert "products" in payload
products = payload["products"]
assert len(products) == 1
assert products[0]["id"] == str(available.id)
assert products[0]["id"] == available.short_id
assert products[0]["name"] == "Available"
assert products[0]["inci"] == ["Water", "Niacinamide"]
assert "actives" in products[0]
assert "safety" in products[0]
@ -624,6 +629,7 @@ def test_get_available_products_excludes_minoxidil_when_flag_false(
):
minoxidil = Product(
id=uuid.uuid4(),
short_id=str(uuid.uuid4())[:8],
name="Minoxidil 5%",
category="hair_treatment",
is_medication=True,
@ -635,6 +641,7 @@ def test_get_available_products_excludes_minoxidil_when_flag_false(
)
regular = Product(
id=uuid.uuid4(),
short_id=str(uuid.uuid4())[:8],
name="Cleanser",
category="cleanser",
brand="Test",