forked from CGM_Public/pretix_original
Adding a bunch of Unit Tests
This commit is contained in:
17
src/tixlplugins/testdummy/__init__.py
Normal file
17
src/tixlplugins/testdummy/__init__.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from django.apps import AppConfig
|
||||
from tixlbase.plugins import PluginType
|
||||
|
||||
|
||||
class TestDummyApp(AppConfig):
|
||||
name = 'tixlplugins.testdummy'
|
||||
verbose_name = '.testdummy'
|
||||
|
||||
class TixlPluginMeta:
|
||||
type = PluginType.RESTRICTION
|
||||
name = '.testdummy'
|
||||
version = '1.0.0'
|
||||
|
||||
def ready(self):
|
||||
from . import signals # NOQA
|
||||
|
||||
default_app_config = 'tixlplugins.testdummy.TestDummyApp'
|
||||
0
src/tixlplugins/testdummy/models.py
Normal file
0
src/tixlplugins/testdummy/models.py
Normal file
9
src/tixlplugins/testdummy/signals.py
Normal file
9
src/tixlplugins/testdummy/signals.py
Normal file
@@ -0,0 +1,9 @@
|
||||
from django.dispatch import receiver
|
||||
|
||||
from tixlbase.signals import determine_availability
|
||||
|
||||
|
||||
@receiver(determine_availability)
|
||||
def availability_handler(sender, **kwargs):
|
||||
kwargs['sender'] = sender
|
||||
return kwargs
|
||||
@@ -57,6 +57,33 @@ class TimeRestrictionTest(TestCase):
|
||||
self.assertTrue(result[0]['available'])
|
||||
self.assertEqual(result[0]['price'], 12)
|
||||
|
||||
def test_cached_result(self):
|
||||
r = TimeRestriction.objects.create(
|
||||
timeframe_from=now() - timedelta(days=3),
|
||||
timeframe_to=now() + timedelta(days=3),
|
||||
event=self.event,
|
||||
price=12
|
||||
)
|
||||
r.items.add(self.item)
|
||||
result = signals.availability_handler(
|
||||
self.event, item=self.item,
|
||||
variations=self.item.get_all_variations(),
|
||||
context=None, cache=self.event.get_cache()
|
||||
)
|
||||
self.assertEqual(len(result), 1)
|
||||
self.assertIn('available', result[0])
|
||||
self.assertTrue(result[0]['available'])
|
||||
self.assertEqual(result[0]['price'], 12)
|
||||
result = signals.availability_handler(
|
||||
self.event, item=self.item,
|
||||
variations=self.item.get_all_variations(),
|
||||
context=None, cache=self.event.get_cache()
|
||||
)
|
||||
self.assertEqual(len(result), 1)
|
||||
self.assertIn('available', result[0])
|
||||
self.assertTrue(result[0]['available'])
|
||||
self.assertEqual(result[0]['price'], 12)
|
||||
|
||||
def test_simple_case_unavailable(self):
|
||||
r = TimeRestriction.objects.create(
|
||||
timeframe_from=now() - timedelta(days=5),
|
||||
|
||||
Reference in New Issue
Block a user