from unittest.mock import patch from backend.actions.fan_lookup import find_dsar_report from backend.dtos import DsarResult, Profile def _make_profile(**kwargs): defaults = dict( profile_id=None, crm_id=None, email="fan@example.com", first_name="Jane", last_name="Doe", phone_number=None, country_code=None, city=None, region=None, address=None, zip_code=None, date_of_birth=None, birthday=None, deleted=False, deleted_at=None, ) return Profile(**{**defaults, **kwargs}) def test_find_dsar_report_delegates_to_query(session): expected = DsarResult( profile=_make_profile(), subscriptions=[], exports=[], ) with patch( "backend.actions.fan_lookup.query_dsar_report", return_value=expected ) as mock_query: result = find_dsar_report(session, "fan@example.com", "QA") mock_query.assert_called_once_with(session, "fan@example.com", "QA") assert result is expected def test_find_dsar_report_passes_env(session): expected = DsarResult(profile=None, subscriptions=[], exports=[]) with patch( "backend.actions.fan_lookup.query_dsar_report", return_value=expected ) as mock_query: find_dsar_report(session, "fan@example.com", "PROD") mock_query.assert_called_once_with(session, "fan@example.com", "PROD")