35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
from django.core.exceptions import ImproperlyConfigured
|
|
from django.test import TestCase
|
|
|
|
from games.models import Game
|
|
from submissions.models import Submission
|
|
|
|
from .models import Event
|
|
from .scoping import current_event
|
|
|
|
|
|
class EventScopedManagerTests(TestCase):
|
|
def setUp(self):
|
|
self.event_a = Event.objects.create(name="Event A", path="event-a")
|
|
self.event_b = Event.objects.create(name="Event B", path="event-b")
|
|
self.game = Game.objects.create(name="Test Game", path="test-game")
|
|
self.submission_a = Submission.objects.create(
|
|
event=self.event_a, game=self.game
|
|
)
|
|
self.submission_b = Submission.objects.create(
|
|
event=self.event_b, game=self.game
|
|
)
|
|
|
|
def test_for_event_raises_outside_event_context(self):
|
|
with self.assertRaises(ImproperlyConfigured):
|
|
list(Submission.for_event.all())
|
|
|
|
def test_for_event_filters_to_current_event(self):
|
|
token = current_event.set(self.event_a)
|
|
try:
|
|
results = list(Submission.for_event.all())
|
|
finally:
|
|
current_event.reset(token)
|
|
|
|
self.assertEqual(results, [self.submission_a])
|