Files
vrobbler/tests/birds_tests/test_views.py
Colin Powell f160f5a7b8
Some checks failed
build & deploy / test (push) Failing after 1m19s
build & deploy / build-and-deploy (push) Has been skipped
[birds] Add much better bird importing
2026-05-15 12:10:20 -04:00

43 lines
1.4 KiB
Python

from birds.models import BirdingCSVImport
from django.contrib.auth import get_user_model
from django.test import Client
from django.urls import reverse
User = get_user_model()
class TestBirdingLocationViews:
def test_birding_location_list_anonymous(self, db):
client = Client()
response = client.get(reverse("birds:birding_location_list"))
assert response.status_code == 200
def test_bird_list_anonymous(self, db):
client = Client()
response = client.get(reverse("birds:bird_list"))
assert response.status_code == 200
class TestBirdingCSVImportViews:
def test_upload_view_requires_login(self, db):
client = Client()
response = client.get(reverse("birds:csv-upload"))
assert response.status_code == 302
def test_import_detail_view_requires_login(self, db):
client = Client()
response = client.get(
reverse("birds:csv_import_detail", kwargs={"slug": "00000000-0000-0000-0000-000000000001"})
)
assert response.status_code == 302
def test_import_detail_authenticated(self, db):
user = User.objects.create(email="birder@example.com")
client = Client()
client.force_login(user)
imp = BirdingCSVImport.objects.create(user=user)
response = client.get(
reverse("birds:csv_import_detail", kwargs={"slug": imp.uuid})
)
assert response.status_code == 200