@@ -35,11 +35,50 @@ def setUpTestData(cls):
35
35
finish = cls .now - datetime .timedelta (days = 1 ),
36
36
)
37
37
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
+
38
70
def test_events_homepage (self ):
39
71
url = reverse ('events:events' )
40
72
response = self .client .get (url )
73
+ events = response .context ['object_list' ]
74
+ event_titles = [event .title for event in events ]
75
+
41
76
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 )
43
82
44
83
def test_calendar_list (self ):
45
84
calendars_count = Calendar .objects .count ()
@@ -54,7 +93,7 @@ def test_event_list(self):
54
93
response = self .client .get (url )
55
94
56
95
self .assertEqual (response .status_code , 200 )
57
- self .assertEqual (len (response .context ['object_list' ]), 1 )
96
+ self .assertEqual (len (response .context ['object_list' ]), 3 )
58
97
59
98
url = reverse ('events:event_list_past' , kwargs = {"calendar_slug" : 'unexisting' })
60
99
response = self .client .get (url )
@@ -66,7 +105,7 @@ def test_event_list_past(self):
66
105
response = self .client .get (url )
67
106
68
107
self .assertEqual (response .status_code , 200 )
69
- self .assertEqual (len (response .context ['object_list' ]), 1 )
108
+ self .assertEqual (len (response .context ['object_list' ]), 4 )
70
109
71
110
def test_event_list_category (self ):
72
111
category = EventCategory .objects .create (
@@ -114,7 +153,7 @@ def test_event_list_date(self):
114
153
response = self .client .get (url )
115
154
self .assertEqual (response .status_code , 200 )
116
155
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 )
118
157
119
158
def test_eventlocation_list (self ):
120
159
venue = EventLocation .objects .create (
@@ -150,12 +189,20 @@ def test_event_detail(self):
150
189
self .assertEqual (self .event , response .context ['object' ])
151
190
152
191
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 )
155
194
self .rule .begin = self .now - datetime .timedelta (days = 3 )
156
195
self .rule .finish = self .now - datetime .timedelta (days = 2 )
157
196
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 )
159
206
160
207
161
208
class EventSubmitTests (TestCase ):
0 commit comments