@@ -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
161208class EventSubmitTests (TestCase ):
0 commit comments