test: admin site

This commit is contained in:
bkfox 2023-06-28 16:26:01 +02:00
parent 39a8fa637e
commit 4aea8b281f
2 changed files with 51 additions and 0 deletions

View File

@ -2,6 +2,8 @@ from datetime import time, timedelta
import itertools
import logging
from django.contrib.auth.models import User
import pytest
from model_bakery import baker
@ -9,6 +11,11 @@ from aircox import models
from aircox.test import Interface
@pytest.fixture
def staff_user():
return baker.make(User, is_active=True, is_staff=True)
@pytest.fixture
def logger():
logger = Interface(

View File

@ -0,0 +1,44 @@
from django.urls import path, reverse
from django.test import RequestFactory
from django.utils.translation import gettext_lazy as _
import pytest
from aircox import admin_site, urls as _urls
reqs = RequestFactory()
_urls
@pytest.fixture
def site():
return admin_site.AdminSite()
class TestAdminSite:
@pytest.mark.django_db
def test_each_context(self, site, staff_user):
req = reqs.get("admin/test")
req.user = staff_user
context = site.each_context(req)
assert "programs" in context
assert "diffusions" in context
assert "comments" in context
def test_get_urls(self, site):
extra_url = path("test/path", lambda *_, **kw: _)
site.extra_urls.append(extra_url)
urls = site.get_urls()
assert extra_url in urls
def test_get_tools(self, site):
tools = site.get_tools()
tools = dict(tools)
assert tools == {
_("Statistics"): reverse("admin:tools-stats"),
}
def test_route_view(self, site):
# TODO
pass