64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
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
|