Exemple #1
0
    def test_paints_a_complex_combination_of_events_correctly(self):
       focus_at = datetime.datetime(2010, 2, 15)
       now_at   = datetime.datetime.now()
       
       presenter = self._makeOne(focus_at, now_at, dummy_url_for)
       single_day_16 = DummyCatalogEvent(
                   title="Single Day on 16",
                   startDate=datetime.datetime(2010, 2, 16, 13,  0,  0),
                   endDate  =datetime.datetime(2010, 2, 16, 13, 30,  0)
               )        
       all_day_15_16 = DummyCatalogEvent(
                   title="All-Day on 15 & 16",
                   startDate=datetime.datetime(2010, 2, 15, 0,  0,  0),
                   endDate  =datetime.datetime(2010, 2, 17, 0,  0,  0)
               )        
       multi_day_17_19 = DummyCatalogEvent(
                   title="Multi-Day",
                   startDate=datetime.datetime(2010, 2, 17, 15, 15,  0),
                   endDate  =datetime.datetime(2010, 2, 19, 16, 15,  0)
               )        
       all_day_16_17 = DummyCatalogEvent(
                   title="All-Day on 16 & 17",
                   startDate=datetime.datetime(2010, 2, 16, 0,  0,  0),
                   endDate  =datetime.datetime(2010, 2, 18, 0,  0,  0)
               )        
       presenter.paint_events(
           [single_day_16, all_day_15_16, multi_day_17_19, all_day_16_17]
       )

       week_of_feb_14 = presenter.weeks[2] 
       feb_15         = week_of_feb_14[1] 
       feb_16         = week_of_feb_14[2] 
       feb_17         = week_of_feb_14[3] 
       feb_18         = week_of_feb_14[4] 
       feb_19         = week_of_feb_14[5]

       # all-day event on 15 and 16
       for day in (feb_15, feb_16):
           painted_event = day.event_slots[0]
           self.assertEqual(painted_event.title, all_day_15_16.title)
           self.assertTrue(painted_event.bubbled)

       # all-day event on 16 and 17
       for day in (feb_16, feb_17):
           painted_event = day.event_slots[1]
           self.assertEqual(painted_event.title, all_day_16_17.title)
           self.assertTrue(painted_event.bubbled)

       # single day event on feb 16
       painted_event = feb_16.event_slots[2]
       self.assertEqual(painted_event.title, single_day_16.title)
       self.assertFalse(painted_event.bubbled)
       
       # event spanning feb 17-19, starts middle of 17 and ends middle of 19
       for day in (feb_17, feb_18, feb_18):
           painted_event = day.event_slots[0]
           self.assertEqual(painted_event.title, multi_day_17_19.title)
           self.assertTrue(painted_event.bubbled)
Exemple #2
0
    def test_paints_events_that_caused_launchpad_bug_523333(self):
        focus_at = datetime.datetime(2010, 2, 14)
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        first = DummyCatalogEvent(
            title="First Line",
            startDate=datetime.datetime(2010, 2, 16, 0, 0, 0),
            endDate=datetime.datetime(2010, 2, 19, 0, 0, 0))
        second = DummyCatalogEvent(
            title="Second Line",
            startDate=datetime.datetime(2010, 2, 17, 0, 0, 0),
            endDate=datetime.datetime(2010, 2, 20, 0, 0, 0))
        presenter.paint_events([first, second])

        week_of_feb_14 = presenter.week
        feb_16 = week_of_feb_14[2]
        feb_17 = week_of_feb_14[3]
        feb_18 = week_of_feb_14[4]
        feb_19 = week_of_feb_14[5]
        feb_20 = week_of_feb_14[6]

        # first line, first day
        painted_event = feb_16.event_slots[0]
        self.assertEqual(painted_event.title, first.title)
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "left")

        # first line, second day
        painted_event = feb_17.event_slots[0]
        self.assertEqual(painted_event.title, first.title)
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "center")

        # first line, last day
        painted_event = feb_18.event_slots[0]
        self.assertEqual(painted_event.title, first.title)
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "right")

        # second line, first day
        painted_event = feb_17.event_slots[1]
        self.assertEqual(painted_event.title, second.title)
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "left")

        # second line, second day
        painted_event = feb_18.event_slots[1]
        self.assertEqual(painted_event.title, second.title)
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "center")

        # second line, last day
        painted_event = feb_19.event_slots[1]
        self.assertEqual(painted_event.title, second.title)
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "right")
Exemple #3
0
    def test__find_contiguous_slot_across_days_searches_top_down(self):
        presenter = self._makePresenter()
        bubble_painter = self._makeOne(presenter)

        days = [ DummyDayWithEvents(), DummyDayWithEvents() ]
        days[0].event_slots[0] = DummyCatalogEvent()
        days[1].event_slots[1] = DummyCatalogEvent()

        index = bubble_painter._find_contiguous_slot_across_days(days)
        self.assertEqual(index, 2)
Exemple #4
0
    def test_paints_a_variation_of_launchpad_bug_503451(self):
        focus_at = datetime.datetime(2010, 1, 3)
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
            title="Travel",
            startDate=datetime.datetime(2010, 1, 5, 23, 0, 0),
            endDate=datetime.datetime(2010, 1, 6, 23, 0, 0))
        presenter.paint_events([event])

        week_of_jan_3 = presenter.week
        jan_5 = week_of_jan_3[2]
        jan_6 = week_of_jan_3[3]

        # presenters.week.EventInUpperTray
        painted_event = jan_5.event_slots[0]
        self.assertEqual(painted_event.title, "Travel")
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "left")

        painted_event = jan_6.event_slots[0]
        self.assertEqual(painted_event.title, "Travel")
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "right")
Exemple #5
0
    def test_paints_event_of_one_hour(self):
        focus_at = datetime.datetime(2010, 2, 15)
        now_at   = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
                    title="Meeting",
                    startDate=datetime.datetime(2010, 2, 15,  13,  0,  0),
                    endDate  =datetime.datetime(2010, 2, 15,  14,  0,  0),
                )
        presenter.paint_events([event])

        # presenters.list.Event
        painted_event = presenter.events[0]

        self.assertEqual(painted_event.title,
                         event.title)                           # Meeting
        self.assertEqual(painted_event.first_line_day,
                         event.startDate.strftime("%m/%d/%Y")) # Mon, Feb 15
        self.assertEqual(painted_event.second_line_day, '')

        starts = painted_event._format_time_of_day(event.startDate)
        ends   = painted_event._format_time_of_day(event.endDate)
        desc   = "%s - %s" % (starts, ends)
        self.assertEqual(painted_event.first_line_time, desc)   # 1pm - 2pm
        self.assertEqual(painted_event.second_line_time, '')
Exemple #6
0
    def test_paints_event_of_one_hour(self):
        focus_at = datetime.datetime(2010, 2, 15)
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
            title="Meeting",
            startDate=datetime.datetime(2010, 2, 15, 13, 0, 0),
            endDate=datetime.datetime(2010, 2, 15, 14, 0, 0))
        presenter.paint_events([event])

        # dummy event falls on monday
        monday = presenter.week[1]

        # search for 1pm time slot (dummy event starts at 1pm)
        for i, time_slot in enumerate(monday.half_hour_slots):
            if time_slot.start_datetime == event.startDate:
                break

        # presenters.day.TimeSlot
        bubble_containing_event = time_slot.bubbles[0]
        self.assertEqual(bubble_containing_event.length, 2)  # 2 half hours

        # presenters.day.EventOnDayView
        painted_event = bubble_containing_event.event
        self.assertEqual(painted_event.title, "Meeting")
Exemple #7
0
    def test_paints_event_of_three_full_days(self):
        focus_at = datetime.datetime(2010, 2, 15)
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
            title="Vacation",
            startDate=datetime.datetime(2010, 2, 15, 0, 0, 0),
            endDate=datetime.datetime(2010, 2, 18, 0, 0, 0))
        presenter.paint_events([event])

        # find days of Feb 15, 16, 17
        week_of_feb_14 = presenter.week
        feb_15 = week_of_feb_14[1]  # dummy event on feb 15
        feb_16 = week_of_feb_14[2]  #   continues through feb 16
        feb_17 = week_of_feb_14[3]  #   and through feb 17

        # presenters.week.EventInUpperTray
        painted_event = feb_15.event_slots[0]
        self.assertEqual(painted_event.title, "Vacation")
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "left")

        painted_event = feb_16.event_slots[0]
        self.assertEqual(painted_event.title, "Vacation")
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "center")

        painted_event = feb_17.event_slots[0]
        self.assertEqual(painted_event.title, "Vacation")
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "right")
Exemple #8
0
    def test_paints_event_of_three_days_with_partial_days_first_day(self):
        focus_at = datetime.datetime(2010, 2, 15)
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
            title="Travel",
            startDate=datetime.datetime(2010, 2, 15, 13, 0, 0),
            endDate=datetime.datetime(2010, 2, 17, 16, 0, 0))
        presenter.paint_events([event])

        self.assertEqual(len(presenter.all_day_events), 0)

        # search for 1pm time slot (dummy event starts at 1pm)
        for time_slot in presenter.half_hour_slots:
            if time_slot.start_datetime == event.startDate:
                break

        # presenters.day.TimeSlot
        bubble_containing_event = time_slot.bubbles[0]
        self.assertEqual(bubble_containing_event.length, 22)  # 22 half hours

        # presenters.day.EventOnDayView
        painted_event = bubble_containing_event.event
        self.assertEqual(painted_event.title, "Travel")
Exemple #9
0
    def test_paints_event_of_three_full_days(self):
        focus_at = datetime.datetime(2010, 2, 15)
        now_at   = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
                    title="Vacation",
                    startDate=datetime.datetime(2010, 2, 15,  0,  0,  0),
                    endDate  =datetime.datetime(2010, 2, 18,  0,  0,  0)
                )
        presenter.paint_events([event])

        # presenters.list.Event
        painted_event = presenter.events[0]
        self.assertEqual(painted_event.title,
                         event.title)                           # Vacation

        self.assertEqual(painted_event.first_line_day,
                         event.startDate.strftime("%m/%d/%Y")) # Mon, Feb 15
        self.assertEqual(painted_event.first_line_time, 'all-day')

        ends_at = event.endDate - datetime.timedelta(days=1)
        self.assertEqual(painted_event.second_line_day,
                        '') # all day events: no second line.
        self.assertEqual(painted_event.second_line_time, '')
Exemple #10
0
    def test_paints_event_sameday_suppresses_label(self):
        focus_at = datetime.datetime(2010, 2, 15)
        now_at   = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
                    title="Vacation",
                    startDate=datetime.datetime(2010, 2, 15,  0,  0,  0),
                    endDate  =datetime.datetime(2010, 2, 18,  0,  0,  0)
                )
        import copy
        event2 = copy.copy(event)
        event2.prev_start_date = event.startDate
        presenter.paint_events([event, event2])

        # presenters.list.Event
        painted_events = presenter.events
        self.assertEqual(len(painted_events), 2)
        for i, _e in enumerate(painted_events):
            if i == 0:
                # first one has the date
                self.assertEqual(_e.first_line_day,
                    event.startDate.strftime("%m/%d/%Y")) # Mon, Feb 15
            else:
                # Consequtive lines that have the same date,
                # have the day-label missing.
                self.assertEqual(_e.first_line_day, '')
            self.assertEqual(_e.first_line_time, 'all-day')
            self.assertEqual(_e.second_line_day,
                            '') # all day events: no second line.
            self.assertEqual(painted_events[0].second_line_time, '')
Exemple #11
0
    def test_paints_event_of_three_days_with_partial_days(self):
        focus_at = datetime.datetime(2010, 2, 17)
        now_at   = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
                    title="Travel",
                    startDate=datetime.datetime(2010, 2, 15, 13,  0,  0),
                    endDate  =datetime.datetime(2010, 2, 17, 16,  0,  0)
                )
        presenter.paint_events([event])

        # presenters.list.Event
        painted_event = presenter.events[0]
        self.assertEqual(painted_event.title,
                         event.title)                           # Travel

        self.assertEqual(painted_event.first_line_day,
                         event.startDate.strftime("%m/%d/%Y")) # Mon, Feb 15
        starts = painted_event._format_time_of_day(event.startDate)
        desc   = "%s - " % (starts)
        self.assertEqual(painted_event.first_line_time, desc)   # 1pm -

        self.assertEqual(painted_event.second_line_day, '')
        self.assertEqual(painted_event.second_line_time, '')
Exemple #12
0
    def test_paints_event_of_three_days_with_partial_days_on_ends(self):
        focus_at = datetime.datetime(2010, 2, 15)
        now_at   = datetime.datetime.now()
        
        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
                    title="Travel",
                    startDate=datetime.datetime(2010, 2, 15, 13,  0,  0),
                    endDate  =datetime.datetime(2010, 2, 17, 16,  0,  0)
                )        
        presenter.paint_events([event])

        # find days of Feb 15, 16, 17 
        week_of_feb_14 = presenter.weeks[2] 
        feb_15         = week_of_feb_14[1] # dummy event on feb 15 @ 1pm 
        feb_16         = week_of_feb_14[2] #   continues through feb 16    
        feb_17         = week_of_feb_14[3] #   and until feb 17  @ 4pm  

        # presenters.month.EventOnMonthView
        painted_event = feb_15.event_slots[0]
        self.assertEqual(painted_event.title, "Travel")
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "left")

        painted_event = feb_16.event_slots[0]
        self.assertEqual(painted_event.title, "Travel")
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "center")

        painted_event = feb_17.event_slots[0]
        self.assertEqual(painted_event.title, "Travel")
        self.assertTrue(painted_event.bubbled)
        self.assertEqual(painted_event.rounding_class, "right")
Exemple #13
0
    def test_paint_events_separates_all_day_events_from_others(self):
        focus_at = datetime.datetime(2009, 9, 14)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        all_day_catalog_event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 9, 14, 0, 0, 0),
            endDate=datetime.datetime(2009, 9, 15, 0, 0, 0),
            title='all-day-event')
        other_catalog_event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 9, 14, 1, 0, 0),
            endDate=datetime.datetime(2009, 9, 14, 2, 0, 0),
            title='other-event')
        presenter.paint_events([all_day_catalog_event, other_catalog_event])

        self.assertEqual(len(presenter.all_day_events), 1)
        self.assertEqual(presenter.all_day_events[0].title, 'all-day-event')
Exemple #14
0
    def test__find_contiguous_slot_across_days_may_find_None(self):
        presenter = self._makePresenter()
        bubble_painter = self._makeOne(presenter)

        days = [DummyDayWithEvents]*2
        days[0].event_slots = [DummyCatalogEvent()]*5

        index = bubble_painter._find_contiguous_slot_across_days(days)
        self.assert_(index is None)
Exemple #15
0
    def test_should_paint_event_no_for_event_less_than_whole_day(self):
        presenter = self._makePresenter()
        bubble_painter = self._makeOne(presenter)

        event = DummyCatalogEvent(
                    startDate=datetime.datetime(2009, 9, 14,  1,  0,  0),
                    endDate  =datetime.datetime(2009, 9, 14,  2,  0,  0)
                )        

        self.assertFalse(bubble_painter.should_paint_event(event))
Exemple #16
0
    def test_should_paint_event_yes_for_spans_of_multiple_days(self):
        presenter = self._makePresenter()
        bubble_painter = self._makeOne(presenter)

        event = DummyCatalogEvent(
                    startDate=datetime.datetime(2009, 9, 14,  0,  0,  0),
                    endDate  =datetime.datetime(2009, 9, 16,  0,  0,  0)
                )        

        self.assertTrue(bubble_painter.should_paint_event(event))
Exemple #17
0
    def test_should_paint_event_yes_for_whole_single_day(self):
        presenter = self._makePresenter()
        bubble_painter = self._makeOne(presenter)

        event = DummyCatalogEvent(
                    startDate=datetime.datetime(2009, 9, 14,  0,  0,  0),
                    endDate  =datetime.datetime(2009, 9, 14, 23, 59, 59)
                )        

        self.assertTrue(bubble_painter.should_paint_event(event))
Exemple #18
0
    def test_map_catalog_events_to_slot_stacks_events_in_a_slot(self):
        focus_at = datetime.datetime(2009, 8, 1)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        event_1 = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 8, 1, 0, 0, 0),
            endDate=datetime.datetime(2009, 8, 1, 0, 35, 0))
        event_2 = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 8, 1, 0, 0, 0),
            endDate=datetime.datetime(2009, 8, 1, 0, 35, 0))
        events = [event_1, event_2]

        mapping = presenter._map_catalog_events_to_slot_indices(events)
        self.assert_(event_1 in mapping[0])
        self.assert_(event_2 in mapping[0])
        self.assert_(event_1 in mapping[1])
        self.assert_(event_2 in mapping[1])
        self.assertEqual(mapping[2], [])
Exemple #19
0
    def test_find_starting_slot_index_None_if_event_ends_before_day(self):
        focus_at = datetime.datetime(2009, 8, 1)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 7, 25, 0, 0, 0),
            endDate=datetime.datetime(2009, 7, 25, 10, 0, 0))
        index = presenter._find_first_slot_index_for_event(event)
        self.assert_(index is None)
Exemple #20
0
    def test_find_starting_slot_index_coeres_start_date_too_early(self):
        focus_at = datetime.datetime(2009, 8, 1)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 7, 25, 0, 0, 0),
            endDate=datetime.datetime(2009, 8, 1, 10, 0, 0))
        index = presenter._find_first_slot_index_for_event(event)
        self.assertEqual(index, 0)
Exemple #21
0
    def test_find_starting_slot_index_finds_last_slot(self):
        focus_at = datetime.datetime(2009, 8, 1)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 8, 1, 23, 30, 0),
            endDate=datetime.datetime(2009, 8, 1, 23, 31, 0))

        index = presenter._find_first_slot_index_for_event(event)
        self.assertEqual(index, 47)
Exemple #22
0
    def test_find_starting_slot_index_does_not_exceed_event_start_time(self):
        focus_at = datetime.datetime(2009, 8, 1)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 8, 1, 0, 57, 0),
            endDate=datetime.datetime(2009, 8, 1, 0, 58, 0))

        index = presenter._find_first_slot_index_for_event(event)
        self.assertEqual(index, 1)
Exemple #23
0
    def test_find_starting_slot_index_aligns_down_to_nearest_half_hour(self):
        focus_at = datetime.datetime(2009, 8, 1)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 8, 1, 1, 13, 0),
            endDate=datetime.datetime(2009, 8, 1, 1, 14, 0))

        index = presenter._find_first_slot_index_for_event(event)
        self.assertEqual(index, 2)
Exemple #24
0
    def test_paints_event_of_three_full_days_stays_within_bounds(self):
        focus_at = datetime.datetime(2010, 2, 18)  # out of bounds
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
            title="Vacation",
            startDate=datetime.datetime(2010, 2, 15, 0, 0, 0),
            endDate=datetime.datetime(2010, 2, 18, 0, 0, 0))
        presenter.paint_events([event])

        self.assertEqual(len(presenter.all_day_events), 0)
Exemple #25
0
    def test_map_catalog_events_maps_into_last_slot(self):
        focus_at = datetime.datetime(2009, 8, 1)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 8, 1, 23, 0, 0),
            endDate=datetime.datetime(2009, 8, 1, 23, 45, 0))
        events = [event]

        mapping = presenter._map_catalog_events_to_slot_indices(events)
        self.assertEqual(mapping[46], [event])
        self.assertEqual(mapping[47], [event])
Exemple #26
0
    def test_paints_event_of_three_days_with_partial_days_second_day(self):
        focus_at = datetime.datetime(2010, 2, 16)
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
            title="Travel",
            startDate=datetime.datetime(2010, 2, 15, 13, 0, 0),
            endDate=datetime.datetime(2010, 2, 17, 16, 0, 0))
        presenter.paint_events([event])

        # presenters.day.EventOnDayView
        painted_event = presenter.all_day_events[0]
        self.assertEqual(painted_event.title, "Travel")
Exemple #27
0
    def test_paint_events_wraps_all_day_event_and_assigns_show_url(self):
        focus_at = datetime.datetime(2009, 9, 14)
        now_at = datetime.datetime(2009, 8, 26)

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        all_day_catalog_event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 9, 14, 0, 0, 0),
            endDate=datetime.datetime(2009, 9, 15, 0, 0, 0),
            title='all-day-event')
        presenter.paint_events([all_day_catalog_event])

        self.assertEqual(len(presenter.all_day_events), 1)
        self.assert_(presenter.all_day_events[0].show_url.startswith('http'))
Exemple #28
0
    def test_painting_an_all_day_event_does_not_bleed_into_next_day(self):
        focus_at = datetime.datetime(2010, 2, 15)  # next day
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)

        all_day_catalog_event = DummyCatalogEvent(
            startDate=datetime.datetime(2009, 9, 14, 0, 0, 0),
            endDate=datetime.datetime(2009, 9, 15, 0, 0, 0),
            title='all-day-event')
        presenter.paint_events([all_day_catalog_event])

        self.assertEqual(len(presenter.all_day_events), 0)
        self.assertEqual(len(presenter.half_hour_slots[0].bubbles), 0)
Exemple #29
0
    def test_paints_event_of_three_full_days_on_its_last_day(self):
        focus_at = datetime.datetime(2010, 2, 17)
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        event = DummyCatalogEvent(
            title="Vacation",
            startDate=datetime.datetime(2010, 2, 15, 0, 0, 0),
            endDate=datetime.datetime(2010, 2, 18, 0, 0, 0))
        presenter.paint_events([event])

        # presenters.day.EventOnDayView
        painted_event = presenter.all_day_events[0]
        self.assertEqual(painted_event.title, "Vacation")
Exemple #30
0
    def test_painting_an_event_out_of_range_ignores_the_event(self):
        focus_at = datetime.datetime(2008, 1, 3)
        now_at = datetime.datetime.now()

        presenter = self._makeOne(focus_at, now_at, dummy_url_for)
        out_of_range_event = DummyCatalogEvent(
            title="Out of Range of Calendar",
            startDate=datetime.datetime(2010, 1, 5, 11, 15, 0),
            endDate=datetime.datetime(2010, 1, 6, 12, 15, 0))
        presenter.paint_events([out_of_range_event])

        for day in presenter.week:
            for slot in day.event_slots:
                self.assert_(slot is None)