forked from rc/aircox
tests: admin_site, views.mixin, views.base, views.converters
This commit is contained in:
@@ -3,6 +3,7 @@ import itertools
|
||||
import logging
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.test import RequestFactory
|
||||
|
||||
import pytest
|
||||
from model_bakery import baker
|
||||
@@ -11,6 +12,10 @@ from aircox import models
|
||||
from aircox.test import Interface
|
||||
|
||||
|
||||
req_factory = RequestFactory()
|
||||
"""Request Factory used among different tests."""
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def staff_user():
|
||||
return baker.make(User, is_active=True, is_staff=True)
|
||||
@@ -25,8 +30,13 @@ def logger():
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def stations():
|
||||
return baker.make(models.Station, _quantity=2)
|
||||
def station():
|
||||
return baker.make(models.Station, audio_streams="stream 1\nstream 2")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def stations(station):
|
||||
return [station, baker.make(models.Station)]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@@ -35,7 +45,11 @@ def programs(stations):
|
||||
itertools.chain(
|
||||
*(
|
||||
baker.make(
|
||||
models.Program, station=station, cover=None, _quantity=2
|
||||
models.Program,
|
||||
station=station,
|
||||
cover=None,
|
||||
status=models.Program.STATUS_PUBLISHED,
|
||||
_quantity=2,
|
||||
)
|
||||
for station in stations
|
||||
)
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
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
|
||||
from .conftest import req_factory
|
||||
|
||||
|
||||
reqs = RequestFactory()
|
||||
# Just for code quality: urls module is required because we need some
|
||||
# url resolvers to be registered in order to run tests.
|
||||
_urls
|
||||
|
||||
|
||||
@@ -19,7 +20,7 @@ def site():
|
||||
class TestAdminSite:
|
||||
@pytest.mark.django_db
|
||||
def test_each_context(self, site, staff_user):
|
||||
req = reqs.get("admin/test")
|
||||
req = req_factory.get("admin/test")
|
||||
req.user = staff_user
|
||||
context = site.each_context(req)
|
||||
assert "programs" in context
|
||||
|
||||
Reference in New Issue
Block a user