@ -2,6 +2,8 @@ from datetime import time, timedelta
 | 
				
			|||||||
import itertools
 | 
					import itertools
 | 
				
			||||||
import logging
 | 
					import logging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.contrib.auth.models import User
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import pytest
 | 
					import pytest
 | 
				
			||||||
from model_bakery import baker
 | 
					from model_bakery import baker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -9,6 +11,11 @@ from aircox import models
 | 
				
			|||||||
from aircox.test import Interface
 | 
					from aircox.test import Interface
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@pytest.fixture
 | 
				
			||||||
 | 
					def staff_user():
 | 
				
			||||||
 | 
					    return baker.make(User, is_active=True, is_staff=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@pytest.fixture
 | 
					@pytest.fixture
 | 
				
			||||||
def logger():
 | 
					def logger():
 | 
				
			||||||
    logger = Interface(
 | 
					    logger = Interface(
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										44
									
								
								aircox/tests/test_admin_site.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								aircox/tests/test_admin_site.py
									
									
									
									
									
										Normal 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
 | 
				
			||||||
		Reference in New Issue
	
	Block a user