import tempfile import pytest from django.contrib.auth import get_user_model User = get_user_model() @pytest.fixture def user(db): return User.objects.create(email="golfer@example.com") @pytest.fixture def udisc_singles_csv_content(): return """PlayerName,CourseName,LayoutName,StartDate,Hole1,Hole2,Hole3,Total Par,Maple Hill,Mountains,"Jun 15, 2026 10:00 AM",3,3,3,9 Alice,Maple Hill,Mountains,"Jun 15, 2026 10:00 AM",4,2,3,9 Bob,Maple Hill,Mountains,"Jun 15, 2026 10:00 AM",3,4,5,12 """ @pytest.fixture def udisc_singles_csv_file(udisc_singles_csv_content): with tempfile.NamedTemporaryFile( mode="w", suffix=".csv", delete=False, encoding="utf-8-sig" ) as f: f.write(udisc_singles_csv_content) return f.name @pytest.fixture def udisc_teams_csv_content(): return """PlayerName,CourseName,LayoutName,StartDate,Hole1,Hole2,Hole3,Total Par,Maple Hill,Mountains,"Jun 15, 2026 10:00 AM",3,3,3,9 Alice+Bob,Maple Hill,Mountains,"Jun 15, 2026 10:00 AM",4,2,3,9 Charlie+Diana,Maple Hill,Mountains,"Jun 15, 2026 10:00 AM",3,4,5,12 """ @pytest.fixture def udisc_teams_csv_file(udisc_teams_csv_content): with tempfile.NamedTemporaryFile( mode="w", suffix=".csv", delete=False, encoding="utf-8-sig" ) as f: f.write(udisc_teams_csv_content) return f.name @pytest.fixture def udisc_csv_no_par_content(): return """PlayerName,CourseName,LayoutName,StartDate,Hole1,Hole2,Hole3,Total Alice,Maple Hill,Mountains,"Jun 15, 2026 10:00 AM",4,2,3,9 """ @pytest.fixture def udisc_csv_no_par_file(udisc_csv_no_par_content): with tempfile.NamedTemporaryFile( mode="w", suffix=".csv", delete=False, encoding="utf-8-sig" ) as f: f.write(udisc_csv_no_par_content) return f.name