43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
from django.contrib.auth import get_user_model
|
|
from django.test import Client
|
|
from django.urls import reverse
|
|
from scrobbles.models import EBirdCSVImport
|
|
|
|
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 = EBirdCSVImport.objects.create(user=user)
|
|
response = client.get(
|
|
reverse("scrobbles:ebird-csv-import-detail", kwargs={"slug": imp.uuid})
|
|
)
|
|
assert response.status_code == 200
|