Skip to content

Commit 7769a36

Browse files
committed
Add Test For Multi Day Event Year String Render
Add test that checks for proper year string rendering on multi-day events.
1 parent 00dc6fb commit 7769a36

1 file changed

Lines changed: 113 additions & 0 deletions

File tree

events/tests/test_views.py

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,119 @@ def test_single_day_event_only_renders_event_date_year_string_if_relevant(self):
334334
f'<span id="end-{single_day_all_day_event_starting_and_ending_in_future_year.id}">',
335335
response.content.decode())
336336

337+
def test_multi_day_event_only_render_end_year_information_when_dt_end_is_valid(self):
338+
url = reverse('events:events')
339+
multi_day_event_starting_and_ending_in_current_year = Event.objects.create(
340+
title='Multi-Day Event Starting & Ending In Current Year', creator=self.user, calendar=self.calendar)
341+
multi_day_all_day_event_starting_and_ending_in_current_year = Event.objects.create(
342+
title='Multi-Day All Day Event Starting & Ending In Current Year',
343+
creator=self.user,
344+
calendar=self.calendar)
345+
multi_day_event_starting_in_current_year_and_ending_in_future_year = Event.objects.create(
346+
title='Multi-Day Event Staring In Current Year And Ending In Future Year', creator=self.user,
347+
calendar=self.calendar)
348+
multi_day_all_day_event_starting_in_current_year_and_ending_in_future_year = Event.objects.create(
349+
title='Multi-Day All Day Event Starting In Current Year And Ending In Future Year',
350+
creator=self.user,
351+
calendar=self.calendar)
352+
multi_day_event_starting_and_ending_in_future_year = Event.objects.create(
353+
title='Multi-Day Event Staring And Ending In Future Year', creator=self.user,
354+
calendar=self.calendar)
355+
multi_day_all_day_event_starting_and_ending_in_future_year = Event.objects.create(
356+
title='Multi-Day All Day Event Starting And Ending In Future Year',
357+
creator=self.user,
358+
calendar=self.calendar)
359+
360+
occurring_time_dtstart = self.now + datetime.timedelta(minutes=2)
361+
362+
OccurringRule.objects.create(
363+
event=multi_day_event_starting_and_ending_in_current_year,
364+
dt_start=occurring_time_dtstart,
365+
dt_end=occurring_time_dtstart + datetime.timedelta(days=1)
366+
)
367+
OccurringRule.objects.create(
368+
all_day=True,
369+
event=multi_day_all_day_event_starting_and_ending_in_current_year,
370+
dt_start=occurring_time_dtstart,
371+
dt_end=occurring_time_dtstart + datetime.timedelta(days=1)
372+
)
373+
OccurringRule.objects.create(
374+
event=multi_day_event_starting_in_current_year_and_ending_in_future_year,
375+
dt_start=occurring_time_dtstart,
376+
dt_end=occurring_time_dtstart + datetime.timedelta(days=366)
377+
)
378+
OccurringRule.objects.create(
379+
all_day=True,
380+
event=multi_day_all_day_event_starting_in_current_year_and_ending_in_future_year,
381+
dt_start=occurring_time_dtstart,
382+
dt_end=occurring_time_dtstart + datetime.timedelta(days=366)
383+
)
384+
OccurringRule.objects.create(
385+
event=multi_day_event_starting_and_ending_in_future_year,
386+
dt_start=occurring_time_dtstart + datetime.timedelta(days=366),
387+
dt_end=occurring_time_dtstart + datetime.timedelta(days=367)
388+
)
389+
OccurringRule.objects.create(
390+
all_day=True,
391+
event=multi_day_all_day_event_starting_and_ending_in_future_year,
392+
dt_start=occurring_time_dtstart + datetime.timedelta(days=366),
393+
dt_end=occurring_time_dtstart + datetime.timedelta(days=367)
394+
)
395+
response = self.client.get(url)
396+
397+
# Multi-Day All Day Event Starting & Ending In Current Year
398+
self.assertIn(
399+
f'<span id="start-{multi_day_all_day_event_starting_and_ending_in_current_year.id}" class="say-no-more">',
400+
response.content.decode())
401+
self.assertIn(
402+
f'<span id="end-{multi_day_all_day_event_starting_and_ending_in_current_year.id}" class="say-no-more">',
403+
response.content.decode())
404+
self.assertNotIn(
405+
f'<span id="start-{multi_day_all_day_event_starting_and_ending_in_current_year.id}">',
406+
response.content.decode())
407+
self.assertNotIn(
408+
f'<span id="end-{multi_day_all_day_event_starting_and_ending_in_current_year.id}">',
409+
response.content.decode())
410+
411+
# Multi-Day Event Staring In Current Year And Ending In Future Year
412+
self.assertIn(
413+
f'<span id="end-{multi_day_event_starting_in_current_year_and_ending_in_future_year.id}">',
414+
response.content.decode())
415+
self.assertIn(
416+
f'<span id="start-{multi_day_event_starting_in_current_year_and_ending_in_future_year.id}" class="say-no-more">',
417+
response.content.decode())
418+
self.assertNotIn(
419+
f'<span id="start-{multi_day_event_starting_in_current_year_and_ending_in_future_year.id}">',
420+
response.content.decode())
421+
422+
# Multi-Day All Day Event Starting In Current Year And Ending In Future Year
423+
self.assertIn(
424+
f'<span id="end-{multi_day_all_day_event_starting_in_current_year_and_ending_in_future_year.id}">',
425+
response.content.decode())
426+
self.assertIn(
427+
f'<span id="start-{multi_day_all_day_event_starting_in_current_year_and_ending_in_future_year.id}" class="say-no-more">',
428+
response.content.decode())
429+
self.assertNotIn(
430+
f'<span id="start-{multi_day_all_day_event_starting_in_current_year_and_ending_in_future_year.id}">',
431+
response.content.decode())
432+
433+
# Multi-Day Event Staring And Ending In Future Year
434+
self.assertIn(
435+
f'<span id="start-{multi_day_event_starting_and_ending_in_future_year.id}">',
436+
response.content.decode())
437+
self.assertIn(
438+
f'<span id="end-{multi_day_event_starting_and_ending_in_future_year.id}">',
439+
response.content.decode())
440+
441+
# Multi-Day All Day Event Starting And Ending In Future Year
442+
self.assertIn(
443+
f'<span id="start-{multi_day_all_day_event_starting_and_ending_in_future_year.id}">',
444+
response.content.decode())
445+
self.assertIn(
446+
f'<span id="end-{multi_day_all_day_event_starting_and_ending_in_future_year.id}">',
447+
response.content.decode())
448+
449+
337450
class EventSubmitTests(TestCase):
338451
event_submit_url = reverse_lazy('events:event_submit')
339452

0 commit comments

Comments
 (0)