76 lines
2.2 KiB
Python
76 lines
2.2 KiB
Python
|
import os
|
||
|
|
||
|
from django.conf import settings
|
||
|
from django.core.management import call_command
|
||
|
from django.utils import timezone
|
||
|
|
||
|
from shared.tests.testcases import ViewTestCaseMixin
|
||
|
|
||
|
from ..models import CategorieSpectacle, Salle, Spectacle, Tirage
|
||
|
from .utils import create_user
|
||
|
|
||
|
|
||
|
class BdAViewTestCaseMixin(ViewTestCaseMixin):
|
||
|
def get_users_base(self):
|
||
|
return {
|
||
|
"bda_other": create_user(username="bda_other"),
|
||
|
"bda_member": create_user(username="bda_member", is_cof=True),
|
||
|
"bda_staff": create_user(username="bda_staff", is_cof=True, is_buro=True),
|
||
|
}
|
||
|
|
||
|
|
||
|
class BdATestHelpers:
|
||
|
bda_testdata = False
|
||
|
|
||
|
def setUp(self):
|
||
|
super().setUp()
|
||
|
|
||
|
if self.bda_testdata:
|
||
|
self.load_bda_testdata()
|
||
|
|
||
|
def require_custommails(self):
|
||
|
data_file = os.path.join(
|
||
|
settings.BASE_DIR, "gestioncof", "management", "data", "custommail.json"
|
||
|
)
|
||
|
call_command("syncmails", data_file, verbosity=0)
|
||
|
|
||
|
def load_bda_testdata(self):
|
||
|
self.tirage = Tirage.objects.create(
|
||
|
title="Test tirage",
|
||
|
appear_catalogue=True,
|
||
|
ouverture=timezone.now(),
|
||
|
fermeture=timezone.now(),
|
||
|
)
|
||
|
self.category = CategorieSpectacle.objects.create(name="Category")
|
||
|
self.location = Salle.objects.create(name="here")
|
||
|
self.show1 = Spectacle.objects.create(
|
||
|
title="foo",
|
||
|
date=timezone.now(),
|
||
|
location=self.location,
|
||
|
price=0,
|
||
|
slots=42,
|
||
|
tirage=self.tirage,
|
||
|
listing=False,
|
||
|
category=self.category,
|
||
|
)
|
||
|
self.show2 = Spectacle.objects.create(
|
||
|
title="bar",
|
||
|
date=timezone.now(),
|
||
|
location=self.location,
|
||
|
price=1,
|
||
|
slots=142,
|
||
|
tirage=self.tirage,
|
||
|
listing=False,
|
||
|
category=self.category,
|
||
|
)
|
||
|
self.show3 = Spectacle.objects.create(
|
||
|
title="baz",
|
||
|
date=timezone.now(),
|
||
|
location=self.location,
|
||
|
price=2,
|
||
|
slots=242,
|
||
|
tirage=self.tirage,
|
||
|
listing=False,
|
||
|
category=self.category,
|
||
|
)
|