diff --git a/backend/innercontext/api/products.py b/backend/innercontext/api/products.py index 0763d37..f9e0323 100644 --- a/backend/innercontext/api/products.py +++ b/backend/innercontext/api/products.py @@ -255,12 +255,12 @@ class InventoryUpdate(SQLModel): class ProductSuggestion(PydanticBase): - category: str + category: ProductCategory product_type: str key_ingredients: list[str] target_concerns: list[str] why_needed: str - recommended_time: str + recommended_time: DayTime frequency: str @@ -274,12 +274,12 @@ class ShoppingSuggestionResponse(PydanticBase): class _ProductSuggestionOut(PydanticBase): - category: str + category: ProductCategory product_type: str key_ingredients: list[str] target_concerns: list[str] why_needed: str - recommended_time: str + recommended_time: DayTime frequency: str @@ -981,6 +981,11 @@ ZASADY: 7. Jeśli użytkownik ma uszkodzoną barierę, unikaj silnych eksfoliantów i retinoidów 8. Zwracaj uwagę na ewentualne konflikty polecanych składników z tymi, które użytkownik już posiada (np. nie polecaj peptydów miedziowych jeśli użytkownik nadużywa kwasów) 9. Odpowiadaj w języku polskim +10. Używaj wyłącznie dozwolonych wartości enumów poniżej - nie twórz synonimów typu "night", "evening" ani "treatment" + +DOZWOLONE WARTOŚCI ENUMÓW: +- category: "cleanser" | "toner" | "essence" | "serum" | "moisturizer" | "spf" | "mask" | "exfoliant" | "hair_treatment" | "tool" | "spot_treatment" | "oil" +- recommended_time: "am" | "pm" | "both" Format odpowiedzi - zwróć wyłącznie JSON zgodny z podanym schematem.""" diff --git a/backend/tests/test_products_helpers.py b/backend/tests/test_products_helpers.py index 5940875..db9b210 100644 --- a/backend/tests/test_products_helpers.py +++ b/backend/tests/test_products_helpers.py @@ -121,6 +121,14 @@ def test_suggest_shopping(client, session): assert data["reasoning"] == "Test shopping" kwargs = mock_gemini.call_args.kwargs assert "USER PROFILE:" in kwargs["contents"] + assert ( + 'category: "cleanser" | "toner" | "essence"' + in kwargs["config"].system_instruction + ) + assert ( + 'recommended_time: "am" | "pm" | "both"' + in kwargs["config"].system_instruction + ) assert "function_handlers" in kwargs assert "get_product_details" in kwargs["function_handlers"]