Skip to content

Commit 10c63b5

Browse files
committed
test: passing events view tests
1 parent d0407c9 commit 10c63b5

File tree

1 file changed

+54
-7
lines changed

1 file changed

+54
-7
lines changed

events/tests/test_views.py

Lines changed: 54 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,50 @@ def setUpTestData(cls):
3535
finish=cls.now - datetime.timedelta(days=1),
3636
)
3737

38+
# Future event
39+
cls.future_event = Event.objects.create(title='Future Event', creator=cls.user, calendar=cls.calendar, featured=True)
40+
RecurringRule.objects.create(
41+
event=cls.future_event,
42+
begin=cls.now + datetime.timedelta(days=1),
43+
finish=cls.now + datetime.timedelta(days=2),
44+
)
45+
46+
# Happening now event
47+
cls.current_event = Event.objects.create(title='Current Event', creator=cls.user, calendar=cls.calendar)
48+
RecurringRule.objects.create(
49+
event=cls.current_event,
50+
begin=cls.now - datetime.timedelta(hours=1),
51+
finish=cls.now + datetime.timedelta(hours=1),
52+
)
53+
54+
# Just missed event
55+
cls.just_missed_event = Event.objects.create(title='Just Missed Event', creator=cls.user, calendar=cls.calendar)
56+
RecurringRule.objects.create(
57+
event=cls.just_missed_event,
58+
begin=cls.now - datetime.timedelta(hours=3),
59+
finish=cls.now - datetime.timedelta(hours=1),
60+
)
61+
62+
# Past event
63+
cls.past_event = Event.objects.create(title='Past Event', creator=cls.user, calendar=cls.calendar)
64+
RecurringRule.objects.create(
65+
event=cls.past_event,
66+
begin=cls.now - datetime.timedelta(days=2),
67+
finish=cls.now - datetime.timedelta(days=1),
68+
)
69+
3870
def test_events_homepage(self):
3971
url = reverse('events:events')
4072
response = self.client.get(url)
73+
events = response.context['object_list']
74+
event_titles = [event.title for event in events]
75+
4176
self.assertEqual(response.status_code, 200)
42-
self.assertEqual(len(response.context['object_list']), 1)
77+
self.assertEqual(len(events), 6)
78+
79+
self.assertIn('Future Event', event_titles)
80+
self.assertIn('Current Event', event_titles)
81+
self.assertIn('Past Event', event_titles)
4382

4483
def test_calendar_list(self):
4584
calendars_count = Calendar.objects.count()
@@ -54,7 +93,7 @@ def test_event_list(self):
5493
response = self.client.get(url)
5594

5695
self.assertEqual(response.status_code, 200)
57-
self.assertEqual(len(response.context['object_list']), 1)
96+
self.assertEqual(len(response.context['object_list']), 3)
5897

5998
url = reverse('events:event_list_past', kwargs={"calendar_slug": 'unexisting'})
6099
response = self.client.get(url)
@@ -66,7 +105,7 @@ def test_event_list_past(self):
66105
response = self.client.get(url)
67106

68107
self.assertEqual(response.status_code, 200)
69-
self.assertEqual(len(response.context['object_list']), 1)
108+
self.assertEqual(len(response.context['object_list']), 4)
70109

71110
def test_event_list_category(self):
72111
category = EventCategory.objects.create(
@@ -114,7 +153,7 @@ def test_event_list_date(self):
114153
response = self.client.get(url)
115154
self.assertEqual(response.status_code, 200)
116155
self.assertEqual(response.context['object'], dt.date())
117-
self.assertEqual(len(response.context['object_list']), 2)
156+
self.assertEqual(len(response.context['object_list']), 6)
118157

119158
def test_eventlocation_list(self):
120159
venue = EventLocation.objects.create(
@@ -150,12 +189,20 @@ def test_event_detail(self):
150189
self.assertEqual(self.event, response.context['object'])
151190

152191
def test_upcoming_tag(self):
153-
self.assertEqual(len(get_events_upcoming()), 1)
154-
self.assertEqual(len(get_events_upcoming(only_featured=True)), 0)
192+
self.assertEqual(len(get_events_upcoming()), 3)
193+
self.assertEqual(len(get_events_upcoming(only_featured=True)), 1)
155194
self.rule.begin = self.now - datetime.timedelta(days=3)
156195
self.rule.finish = self.now - datetime.timedelta(days=2)
157196
self.rule.save()
158-
self.assertEqual(len(get_events_upcoming()), 0)
197+
self.assertEqual(len(get_events_upcoming()), 2)
198+
199+
def test_context_data(self):
200+
url = reverse("events:events")
201+
response = self.client.get(url)
202+
203+
self.assertIn("events_just_missed", response.context)
204+
self.assertIn("upcoming_events", response.context)
205+
self.assertIn("events_now", response.context)
159206

160207

161208
class EventSubmitTests(TestCase):

0 commit comments

Comments
 (0)