feat: add error message page; improve admin ui; add missing test files

This commit is contained in:
bkfox
2023-09-12 21:00:44 +02:00
parent a0468899b0
commit 876e4cdfa7
28 changed files with 1242 additions and 438 deletions

View File

@ -0,0 +1,48 @@
import pytest
from django.utils import timezone as tz
from django.conf import settings
from aircox.middleware import AircoxMiddleware
from .conftest import req_factory
settings.ALLOWED_HOSTS = list(settings.ALLOWED_HOSTS) + ["unknown-host"]
@pytest.fixture
def middleware():
return AircoxMiddleware(lambda r: r)
class TestAircoxMiddleware:
@pytest.mark.django_db
def test_get_station(self, middleware, station, sub_station):
req = req_factory.get("/tmp/test", headers={"host": sub_station.hosts})
assert middleware.get_station(req) == sub_station
req = req_factory.get("/tmp/test", headers={"host": station.hosts})
assert middleware.get_station(req) == station
@pytest.mark.django_db
def test_get_station_use_default(self, middleware, station, stations):
req = req_factory.get("/tmp/test", headers={"host": "unknown-host"})
assert middleware.get_station(req) == station
@pytest.mark.django_db
def test_init_timezone(self, middleware):
req = req_factory.get("/tmp/test")
req.session = {middleware.timezone_session_key: "Europe/Brussels"}
middleware.init_timezone(req)
current_tz = tz.get_current_timezone()
assert current_tz.key == "Europe/Brussels"
@pytest.mark.django_db
def test_init_timezone_wrong_timezone(self, middleware):
req = req_factory.get("/tmp/test")
req.session = {middleware.timezone_session_key: "Oceania/Arlon"}
middleware.init_timezone(req)
current_tz = tz.get_current_timezone()
assert current_tz.key != "Oceania/Arlon"