Files
Meal-Planner/graphify-out/cache/d6fce6b7573bb0b004a6a4e3ab9cd0d44ac0f2d57378c014d9d3aa66b9926d37.json
T
admin 019f9020ad tests: fix suite-wide collection and failures
- config: switch Settings to ConfigDict(extra='ignore') so extra env vars
  (spoonacular_api_key, SWIFTLY_BEARER_TOKEN) don't crash import.
  Remove deprecated class Config.
- email: wrap SendGrid imports in try/except so the module loads without
  the optional dependency. Update test_email_backend to patch Mail/RepyTo.
- planner_select: default PlannerConfig.set_size=21 (3 meals/day × 7) is
  way too large for the unit test assertion that checks 3-recipe diversity.
  Introduced _CFG_3 with set_size=3 and applied to all tests.
- Delete stale test_matcher.py importing removed functions.

Full suite: 46 passed, 74 skipped (Postgres), 0 failed, 120 collected.
2026-05-18 17:43:30 -07:00

1 line
7.9 KiB
JSON

{"nodes": [{"id": "backend_app_services_planner_cost_py", "label": "cost.py", "file_type": "code", "source_file": "backend/app/services/planner/cost.py", "source_location": "L1"}, {"id": "cost_decimal", "label": "_decimal()", "file_type": "code", "source_file": "backend/app/services/planner/cost.py", "source_location": "L30"}, {"id": "cost_scale", "label": "_scale()", "file_type": "code", "source_file": "backend/app/services/planner/cost.py", "source_location": "L36"}, {"id": "cost_compute_recipe_cost", "label": "compute_recipe_cost()", "file_type": "code", "source_file": "backend/app/services/planner/cost.py", "source_location": "L40"}, {"id": "cost_rationale_1", "label": "Compute per-recipe cost and savings against ingredient_grocery_match. Inputs:", "file_type": "rationale", "source_file": "backend/app/services/planner/cost.py", "source_location": "L1"}], "edges": [{"source": "backend_app_services_planner_cost_py", "target": "decimal", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L23", "weight": 1.0}, {"source": "backend_app_services_planner_cost_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L24", "weight": 1.0}, {"source": "backend_app_services_planner_cost_py", "target": "uuid", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L25", "weight": 1.0}, {"source": "backend_app_services_planner_cost_py", "target": "app_services_planner_types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L27", "weight": 1.0}, {"source": "backend_app_services_planner_cost_py", "target": "cost_decimal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L30", "weight": 1.0}, {"source": "backend_app_services_planner_cost_py", "target": "cost_scale", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L36", "weight": 1.0}, {"source": "backend_app_services_planner_cost_py", "target": "cost_compute_recipe_cost", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L40", "weight": 1.0}, {"source": "cost_compute_recipe_cost", "target": "cost_decimal", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L86", "weight": 1.0}, {"source": "cost_compute_recipe_cost", "target": "cost_scale", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L89", "weight": 1.0}, {"source": "cost_rationale_1", "target": "backend_app_services_planner_cost_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/planner/cost.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "cost_decimal", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L32"}, {"caller_nid": "cost_decimal", "callee": "isinstance", "source_file": "backend/app/services/planner/cost.py", "source_location": "L33"}, {"caller_nid": "cost_decimal", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L33"}, {"caller_nid": "cost_decimal", "callee": "str", "source_file": "backend/app/services/planner/cost.py", "source_location": "L33"}, {"caller_nid": "cost_scale", "callee": "quantize", "source_file": "backend/app/services/planner/cost.py", "source_location": "L37"}, {"caller_nid": "cost_scale", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L37"}, {"caller_nid": "cost_scale", "callee": "str", "source_file": "backend/app/services/planner/cost.py", "source_location": "L37"}, {"caller_nid": "cost_scale", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L37"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L48"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L49"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "isinstance", "source_file": "backend/app/services/planner/cost.py", "source_location": "L58"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "UUID", "source_file": "backend/app/services/planner/cost.py", "source_location": "L59"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "float", "source_file": "backend/app/services/planner/cost.py", "source_location": "L60"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "get", "source_file": "backend/app/services/planner/cost.py", "source_location": "L60"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "get", "source_file": "backend/app/services/planner/cost.py", "source_location": "L61"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "get", "source_file": "backend/app/services/planner/cost.py", "source_location": "L66"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "append", "source_file": "backend/app/services/planner/cost.py", "source_location": "L68"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "IngredientCost", "source_file": "backend/app/services/planner/cost.py", "source_location": "L69"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L78"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L79"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "get", "source_file": "backend/app/services/planner/cost.py", "source_location": "L86"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "get", "source_file": "backend/app/services/planner/cost.py", "source_location": "L87"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "bool", "source_file": "backend/app/services/planner/cost.py", "source_location": "L88"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "get", "source_file": "backend/app/services/planner/cost.py", "source_location": "L88"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "max", "source_file": "backend/app/services/planner/cost.py", "source_location": "L90"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L90"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "append", "source_file": "backend/app/services/planner/cost.py", "source_location": "L98"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "IngredientCost", "source_file": "backend/app/services/planner/cost.py", "source_location": "L99"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "get", "source_file": "backend/app/services/planner/cost.py", "source_location": "L103"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "get", "source_file": "backend/app/services/planner/cost.py", "source_location": "L104"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "RecipeCost", "source_file": "backend/app/services/planner/cost.py", "source_location": "L114"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "quantize", "source_file": "backend/app/services/planner/cost.py", "source_location": "L116"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L116"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "quantize", "source_file": "backend/app/services/planner/cost.py", "source_location": "L117"}, {"caller_nid": "cost_compute_recipe_cost", "callee": "Decimal", "source_file": "backend/app/services/planner/cost.py", "source_location": "L117"}]}