@@ -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+
337450class EventSubmitTests (TestCase ):
338451 event_submit_url = reverse_lazy ('events:event_submit' )
339452
0 commit comments