Files
Meal-Planner/graphify-out/cache/b712962d7d969510962befbacab14c0e25565ae01af9a5c6f37fc90434614d1e.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
15 KiB
JSON

{"nodes": [{"id": "backend_tests_test_approval_py", "label": "test_approval.py", "file_type": "code", "source_file": "backend/tests/test_approval.py", "source_location": "L1"}, {"id": "test_approval_test_issue_and_verify_token_roundtrip", "label": "test_issue_and_verify_token_roundtrip()", "file_type": "code", "source_file": "backend/tests/test_approval.py", "source_location": "L23"}, {"id": "test_approval_test_verify_rejects_tampered_token", "label": "test_verify_rejects_tampered_token()", "file_type": "code", "source_file": "backend/tests/test_approval.py", "source_location": "L32"}, {"id": "test_approval_test_verify_rejects_expired_token", "label": "test_verify_rejects_expired_token()", "file_type": "code", "source_file": "backend/tests/test_approval.py", "source_location": "L42"}, {"id": "test_approval_scenario", "label": "scenario()", "file_type": "code", "source_file": "backend/tests/test_approval.py", "source_location": "L74"}, {"id": "test_approval_test_consume_token_single_use", "label": "test_consume_token_single_use()", "file_type": "code", "source_file": "backend/tests/test_approval.py", "source_location": "L159"}, {"id": "test_approval_test_vote_get_renders_html", "label": "test_vote_get_renders_html()", "file_type": "code", "source_file": "backend/tests/test_approval.py", "source_location": "L186"}, {"id": "test_approval_test_vote_post_records_and_decides", "label": "test_vote_post_records_and_decides()", "file_type": "code", "source_file": "backend/tests/test_approval.py", "source_location": "L207"}, {"id": "test_approval_rationale_1", "label": "R2-B: approval-token + per-voter vote round-trip tests. - Pure unit tests for `", "file_type": "rationale", "source_file": "backend/tests/test_approval.py", "source_location": "L1"}, {"id": "test_approval_rationale_43", "label": "itsdangerous reads `time.time()` \u2014 patch the time module's `time` attribute", "file_type": "rationale", "source_file": "backend/tests/test_approval.py", "source_location": "L43"}, {"id": "test_approval_rationale_75", "label": "Create profile + 2 voters + recipe + plan + item, all in one shot. Uses the", "file_type": "rationale", "source_file": "backend/tests/test_approval.py", "source_location": "L75"}, {"id": "test_approval_rationale_208", "label": "First voter approves -> still pending (Bob hasn't voted). Then Bob approves", "file_type": "rationale", "source_file": "backend/tests/test_approval.py", "source_location": "L208"}], "edges": [{"source": "backend_tests_test_approval_py", "target": "time", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L10", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "uuid", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L12", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "pytest", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L14", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "fastapi", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L15", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "app_services", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L17", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "test_approval_test_issue_and_verify_token_roundtrip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L23", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "test_approval_test_verify_rejects_tampered_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L32", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "test_approval_test_verify_rejects_expired_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L42", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "test_approval_scenario", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L74", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "test_approval_test_consume_token_single_use", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L159", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "test_approval_test_vote_get_renders_html", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L186", "weight": 1.0}, {"source": "backend_tests_test_approval_py", "target": "test_approval_test_vote_post_records_and_decides", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L207", "weight": 1.0}, {"source": "test_approval_rationale_1", "target": "backend_tests_test_approval_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L1", "weight": 1.0}, {"source": "test_approval_rationale_43", "target": "test_approval_test_verify_rejects_expired_token", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L43", "weight": 1.0}, {"source": "test_approval_rationale_75", "target": "test_approval_scenario", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L75", "weight": 1.0}, {"source": "test_approval_rationale_208", "target": "test_approval_test_vote_post_records_and_decides", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_approval.py", "source_location": "L208", "weight": 1.0}], "raw_calls": [{"caller_nid": "test_approval_test_issue_and_verify_token_roundtrip", "callee": "uuid4", "source_file": "backend/tests/test_approval.py", "source_location": "L24"}, {"caller_nid": "test_approval_test_issue_and_verify_token_roundtrip", "callee": "uuid4", "source_file": "backend/tests/test_approval.py", "source_location": "L25"}, {"caller_nid": "test_approval_test_issue_and_verify_token_roundtrip", "callee": "issue_token", "source_file": "backend/tests/test_approval.py", "source_location": "L26"}, {"caller_nid": "test_approval_test_issue_and_verify_token_roundtrip", "callee": "verify_token", "source_file": "backend/tests/test_approval.py", "source_location": "L27"}, {"caller_nid": "test_approval_test_issue_and_verify_token_roundtrip", "callee": "str", "source_file": "backend/tests/test_approval.py", "source_location": "L28"}, {"caller_nid": "test_approval_test_issue_and_verify_token_roundtrip", "callee": "str", "source_file": "backend/tests/test_approval.py", "source_location": "L29"}, {"caller_nid": "test_approval_test_verify_rejects_tampered_token", "callee": "uuid4", "source_file": "backend/tests/test_approval.py", "source_location": "L33"}, {"caller_nid": "test_approval_test_verify_rejects_tampered_token", "callee": "uuid4", "source_file": "backend/tests/test_approval.py", "source_location": "L34"}, {"caller_nid": "test_approval_test_verify_rejects_tampered_token", "callee": "issue_token", "source_file": "backend/tests/test_approval.py", "source_location": "L35"}, {"caller_nid": "test_approval_test_verify_rejects_tampered_token", "callee": "endswith", "source_file": "backend/tests/test_approval.py", "source_location": "L36"}, {"caller_nid": "test_approval_test_verify_rejects_tampered_token", "callee": "raises", "source_file": "backend/tests/test_approval.py", "source_location": "L37"}, {"caller_nid": "test_approval_test_verify_rejects_tampered_token", "callee": "verify_token", "source_file": "backend/tests/test_approval.py", "source_location": "L38"}, {"caller_nid": "test_approval_test_verify_rejects_expired_token", "callee": "uuid4", "source_file": "backend/tests/test_approval.py", "source_location": "L48"}, {"caller_nid": "test_approval_test_verify_rejects_expired_token", "callee": "uuid4", "source_file": "backend/tests/test_approval.py", "source_location": "L49"}, {"caller_nid": "test_approval_test_verify_rejects_expired_token", "callee": "issue_token", "source_file": "backend/tests/test_approval.py", "source_location": "L52"}, {"caller_nid": "test_approval_test_verify_rejects_expired_token", "callee": "time", "source_file": "backend/tests/test_approval.py", "source_location": "L55"}, {"caller_nid": "test_approval_test_verify_rejects_expired_token", "callee": "setattr", "source_file": "backend/tests/test_approval.py", "source_location": "L63"}, {"caller_nid": "test_approval_test_verify_rejects_expired_token", "callee": "raises", "source_file": "backend/tests/test_approval.py", "source_location": "L65"}, {"caller_nid": "test_approval_test_verify_rejects_expired_token", "callee": "verify_token", "source_file": "backend/tests/test_approval.py", "source_location": "L66"}, {"caller_nid": "test_approval_scenario", "callee": "uuid4", "source_file": "backend/tests/test_approval.py", "source_location": "L91"}, {"caller_nid": "test_approval_scenario", "callee": "FamilyProfile", "source_file": "backend/tests/test_approval.py", "source_location": "L93"}, {"caller_nid": "test_approval_scenario", "callee": "add", "source_file": "backend/tests/test_approval.py", "source_location": "L99"}, {"caller_nid": "test_approval_scenario", "callee": "flush", "source_file": "backend/tests/test_approval.py", "source_location": "L100"}, {"caller_nid": "test_approval_scenario", "callee": "FamilyMember", "source_file": "backend/tests/test_approval.py", "source_location": "L102"}, {"caller_nid": "test_approval_scenario", "callee": "FamilyMember", "source_file": "backend/tests/test_approval.py", "source_location": "L108"}, {"caller_nid": "test_approval_scenario", "callee": "add_all", "source_file": "backend/tests/test_approval.py", "source_location": "L114"}, {"caller_nid": "test_approval_scenario", "callee": "flush", "source_file": "backend/tests/test_approval.py", "source_location": "L115"}, {"caller_nid": "test_approval_scenario", "callee": "Recipe", "source_file": "backend/tests/test_approval.py", "source_location": "L117"}, {"caller_nid": "test_approval_scenario", "callee": "add", "source_file": "backend/tests/test_approval.py", "source_location": "L125"}, {"caller_nid": "test_approval_scenario", "callee": "flush", "source_file": "backend/tests/test_approval.py", "source_location": "L126"}, {"caller_nid": "test_approval_scenario", "callee": "MealPlan", "source_file": "backend/tests/test_approval.py", "source_location": "L128"}, {"caller_nid": "test_approval_scenario", "callee": "today", "source_file": "backend/tests/test_approval.py", "source_location": "L130"}, {"caller_nid": "test_approval_scenario", "callee": "timedelta", "source_file": "backend/tests/test_approval.py", "source_location": "L130"}, {"caller_nid": "test_approval_scenario", "callee": "add", "source_file": "backend/tests/test_approval.py", "source_location": "L133"}, {"caller_nid": "test_approval_scenario", "callee": "flush", "source_file": "backend/tests/test_approval.py", "source_location": "L134"}, {"caller_nid": "test_approval_scenario", "callee": "MealPlanItem", "source_file": "backend/tests/test_approval.py", "source_location": "L136"}, {"caller_nid": "test_approval_scenario", "callee": "add", "source_file": "backend/tests/test_approval.py", "source_location": "L142"}, {"caller_nid": "test_approval_scenario", "callee": "flush", "source_file": "backend/tests/test_approval.py", "source_location": "L143"}, {"caller_nid": "test_approval_test_consume_token_single_use", "callee": "issue_token", "source_file": "backend/tests/test_approval.py", "source_location": "L164"}, {"caller_nid": "test_approval_test_consume_token_single_use", "callee": "consume_token", "source_file": "backend/tests/test_approval.py", "source_location": "L167"}, {"caller_nid": "test_approval_test_consume_token_single_use", "callee": "add", "source_file": "backend/tests/test_approval.py", "source_location": "L172"}, {"caller_nid": "test_approval_test_consume_token_single_use", "callee": "MealPlanVote", "source_file": "backend/tests/test_approval.py", "source_location": "L172"}, {"caller_nid": "test_approval_test_consume_token_single_use", "callee": "flush", "source_file": "backend/tests/test_approval.py", "source_location": "L177"}, {"caller_nid": "test_approval_test_consume_token_single_use", "callee": "raises", "source_file": "backend/tests/test_approval.py", "source_location": "L180"}, {"caller_nid": "test_approval_test_consume_token_single_use", "callee": "consume_token", "source_file": "backend/tests/test_approval.py", "source_location": "L181"}, {"caller_nid": "test_approval_test_vote_get_renders_html", "callee": "issue_token", "source_file": "backend/tests/test_approval.py", "source_location": "L189"}, {"caller_nid": "test_approval_test_vote_get_renders_html", "callee": "get", "source_file": "backend/tests/test_approval.py", "source_location": "L191"}, {"caller_nid": "test_approval_test_vote_get_renders_html", "callee": "get", "source_file": "backend/tests/test_approval.py", "source_location": "L193"}, {"caller_nid": "test_approval_test_vote_get_renders_html", "callee": "find", "source_file": "backend/tests/test_approval.py", "source_location": "L199"}, {"caller_nid": "test_approval_test_vote_get_renders_html", "callee": "find", "source_file": "backend/tests/test_approval.py", "source_location": "L200"}, {"caller_nid": "test_approval_test_vote_post_records_and_decides", "callee": "issue_token", "source_file": "backend/tests/test_approval.py", "source_location": "L216"}, {"caller_nid": "test_approval_test_vote_post_records_and_decides", "callee": "post", "source_file": "backend/tests/test_approval.py", "source_location": "L217"}, {"caller_nid": "test_approval_test_vote_post_records_and_decides", "callee": "json", "source_file": "backend/tests/test_approval.py", "source_location": "L223"}, {"caller_nid": "test_approval_test_vote_post_records_and_decides", "callee": "issue_token", "source_file": "backend/tests/test_approval.py", "source_location": "L229"}, {"caller_nid": "test_approval_test_vote_post_records_and_decides", "callee": "post", "source_file": "backend/tests/test_approval.py", "source_location": "L230"}, {"caller_nid": "test_approval_test_vote_post_records_and_decides", "callee": "json", "source_file": "backend/tests/test_approval.py", "source_location": "L236"}]}