コード例 #1
0
 def test_live(self):
     """Tests that Event.objects.live() returns events that could occur."""
     user = User.objects.create_user(
         'foo', '*****@*****.**', 'secret'
     )
     event = create_event(
         start_date=(2014, 5, 1),
         end_date=(2014, 5, 1),
         created_by=user,
         title="kowabunga",
         description="Testing 1 2 3",
         repeat="BIWEEKLY",
         utc=True
     )
     event2 = create_event(
         start_date=(2014, 6, 1),
         end_date=(2014, 6, 1),
         created_by=user,
         title="kowabunga",
         description="Testing 1 2 3",
         repeat="WEEKDAY",
         utc=True
     )
     event3 = create_event(
         start_date=(2014, 5, 2),
         end_date=(2014, 5, 4),
         created_by=user,
         title="gnarly",
         description="Testing 1 2 3",
         repeat="NEVER",
         utc=True
     )
     event4 = create_event(
         start_date=(2014, 4, 2),
         end_date=(2014, 4, 4),
         created_by=user,
         title="tubular",
         description="Testing 1 2 3",
         repeat="WEEKLY",
         end_repeat=date(2014, 5, 2),
         utc=True
     )
     event.save()
     event2.save()
     event3.save()
     event4.save()
     now = make_aware(datetime(2014, 5, 6), utc)
     events = Event.objects.live(now)
     self.assertEqual(len(events), 2)
     self.assertEqual(events[0].title, event.title)
     self.assertEqual(events[0].pk, event.pk)
     self.assertEqual(events[1].title, event2.title)
     self.assertEqual(events[1].pk, event2.pk)
コード例 #2
0
 def test_cancelled_single_day_event(self):
     yr = 2014
     mo = 5
     count = defaultdict(list)
     event = create_event(start_date=(2014, 5, 15),
                          end_date=(2014, 5, 15),
                          created_by=self.user,
                          title="Big Event",
                          description="Wow! An event.",
                          repeat="WEEKLY")
     event.cancellations.create(reason="Out of town",
                                date=date(2014, 5, 22))
     days = (15, 22, 29)
     [count[day].append((event.title, event.pk)) for day in days]
     events = [event]
     cal = GenericCalendar(yr, mo, count, events)
     cal.event = event
     for day in days:
         cal.title = event.title
         cal.day = day
         cal.check_if_cancelled()
         if day == 22:
             self.assertEqual(event.title + ' (CANCELLED)', cal.title)
         else:
             self.assertEqual(event.title, cal.title)
コード例 #3
0
 def test_cancelled_single_day_event(self):
     yr = 2014
     mo = 5
     count = defaultdict(list)
     event = create_event(
         start_date=(2014, 5, 15),
         end_date=(2014, 5, 15),
         created_by=self.user,
         title="Big Event",
         description="Wow! An event.",
         repeat="WEEKLY"
     )
     event.cancellations.create(
         reason="Out of town",
         date=date(2014, 5, 22)
     )
     days = (15, 22, 29)
     [count[day].append((event.title, event.pk)) for day in days]
     events = [event]
     cal = GenericCalendar(yr, mo, count, events)
     cal.event = event
     for day in days:
         cal.title = event.title
         cal.day = day
         cal.check_if_cancelled()
         if day == 22:
             self.assertEqual(event.title + ' (CANCELLED)', cal.title)
         else:
             self.assertEqual(event.title, cal.title)
コード例 #4
0
 def test_repeat_reverse_out_of_range_start(self):
     """
     An out of range start day should not be counted, but any valid
     days that occur after the day has been decremented, should.
     """
     start = 33
     end = 30
     end_repeat = None
     event = create_event(
         start_date=(2014, 5, 28),
         end_date=(2014, 5, 28),
         created_by=self.user,
         title="event",
         description="Testing 1 2 3",
         repeat="WEEKDAY",
     )
     c = h.Repeater(self.counter,
                    self.year,
                    self.month,
                    end_repeat=end_repeat,
                    event=event)
     c.repeat_reverse(start, end)
     self.assertEqual(len(c.count), 2)
     self.assertEqual(c.count[30], [('event', event.pk)])
     self.assertEqual(c.count[31], [('event', event.pk)])
コード例 #5
0
    def test_location(self):
        """
        Test that, if an event has a location associated with it, it gets
        set when popover_helper() is called (the event location only appears
        in the popover on the month calendar view page).
        """
        yr = 2014
        mo = 5
        count = defaultdict(list)
        event = create_event(start_date=(2014, 5, 15),
                             end_date=(2014, 5, 15),
                             created_by=self.user,
                             title="Big Event",
                             description="Wow! An event.",
                             repeat="WEEKLY")
        # Test first without a location
        events = [event]
        day = 15
        count_dict = {day: [(event.title, event.pk)]}

        cal = EventCalendar(yr, mo, count, events)
        cal.count = count_dict
        render_result = cal.formatday(day, 0)
        self.assertNotIn("Where:", render_result)
        self.assertNotIn("Heck", render_result)

        # Test with a location
        event.location.create(name="Heck")
        events = [event]
        cal2 = EventCalendar(yr, mo, count, events)
        cal2.count = count_dict
        render_result = cal2.formatday(day, 0)
        self.assertIn("Where:", render_result)
        self.assertIn("Heck", render_result)
コード例 #6
0
 def test_repeat_reverse_out_of_range_start(self):
     """
     An out of range start day should not be counted, but any valid
     days that occur after the day has been decremented, should.
     """
     start = 33
     end = 30
     end_repeat = None
     event = create_event(
         start_date=(2014, 5, 28),
         end_date=(2014, 5, 28),
         created_by=self.user,
         title="event",
         description="Testing 1 2 3",
         repeat="WEEKDAY",
         utc=True
     )
     c = h.Repeater(
         self.counter, self.year, self.month,
         end_repeat=end_repeat, event=event
     )
     c.repeat_reverse(start, end)
     self.assertEqual(len(c.count), 2)
     self.assertEqual(c.count[30], [('event', event.pk)])
     self.assertEqual(c.count[31], [('event', event.pk)])
コード例 #7
0
 def test_cancelled_chunk_event(self):
     """Only the date given in the cancellation should show up cancelled.
     This means that a two day event with only the first day cancelled,
     should only show (CANCELLED) for the first day."""
     yr = 2014
     mo = 5
     count = defaultdict(list)
     event = create_event(start_date=(2014, 5, 15),
                          end_date=(2014, 5, 16),
                          created_by=self.user,
                          title="Big Event",
                          description="Wow! An event.",
                          repeat="WEEKLY")
     event.cancellations.create(reason="Out of town",
                                date=date(2014, 5, 22))
     days = (15, 16, 22, 23, 29, 30)
     [count[day].append((event.title, event.pk)) for day in days]
     events = [event]
     cal = GenericCalendar(yr, mo, count, events)
     cal.event = event
     for day in days:
         cal.title = event.title
         cal.day = day
         cal.check_if_cancelled()
         if day == 22:
             self.assertEqual(event.title + ' (CANCELLED)', cal.title)
         else:
             self.assertEqual(event.title, cal.title)
コード例 #8
0
 def test_cancelled_chunk_event(self):
     """Only the date given in the cancellation should show up cancelled.
     This means that a two day event with only the first day cancelled,
     should only show (CANCELLED) for the first day."""
     yr = 2014
     mo = 5
     count = defaultdict(list)
     event = create_event(
         start_date=(2014, 5, 15),
         end_date=(2014, 5, 16),
         created_by=self.user,
         title="Big Event",
         description="Wow! An event.",
         repeat="WEEKLY"
     )
     event.cancellations.create(
         reason="Out of town",
         date=date(2014, 5, 22)
     )
     days = (15, 16, 22, 23, 29, 30)
     [count[day].append((event.title, event.pk)) for day in days]
     events = [event]
     cal = GenericCalendar(yr, mo, count, events)
     cal.event = event
     for day in days:
         cal.title = event.title
         cal.day = day
         cal.check_if_cancelled()
         if day == 22:
             self.assertEqual(event.title + ' (CANCELLED)', cal.title)
         else:
             self.assertEqual(event.title, cal.title)
コード例 #9
0
 def test_live(self):
     """Tests that Event.objects.live() returns events that could occur."""
     user = User.objects.create_user('foo', '*****@*****.**', 'secret')
     event = create_event(start_date=(2014, 5, 1),
                          end_date=(2014, 5, 1),
                          created_by=user,
                          title="kowabunga",
                          description="Testing 1 2 3",
                          repeat="BIWEEKLY",
                          utc=True)
     event2 = create_event(start_date=(2014, 6, 1),
                           end_date=(2014, 6, 1),
                           created_by=user,
                           title="kowabunga",
                           description="Testing 1 2 3",
                           repeat="WEEKDAY",
                           utc=True)
     event3 = create_event(start_date=(2014, 5, 2),
                           end_date=(2014, 5, 4),
                           created_by=user,
                           title="gnarly",
                           description="Testing 1 2 3",
                           repeat="NEVER",
                           utc=True)
     event4 = create_event(start_date=(2014, 4, 2),
                           end_date=(2014, 4, 4),
                           created_by=user,
                           title="tubular",
                           description="Testing 1 2 3",
                           repeat="WEEKLY",
                           end_repeat=date(2014, 5, 2),
                           utc=True)
     event.save()
     event2.save()
     event3.save()
     event4.save()
     now = make_aware(datetime(2014, 5, 6), utc)
     events = Event.objects.live(now)
     self.assertEqual(len(events), 2)
     self.assertEqual(events[0].title, event.title)
     self.assertEqual(events[0].pk, event.pk)
     self.assertEqual(events[1].title, event2.title)
     self.assertEqual(events[1].pk, event2.pk)
コード例 #10
0
 def test_chunk_fill_out_first_week_stops_on_end_repeat(self):
     event = create_event(start_date=(2014, 4, 30),
                          end_date=(2014, 5, 4),
                          created_by=self.user,
                          title="event",
                          description="Testing 1 2 3",
                          repeat="MONTHLY",
                          end_repeat=date(2014, 5, 2),
                          utc=True)
     c = h._chunk_fill_out_first_week(self.year, self.month, self.counter,
                                      event, event.get_start_end_diff())
     self.assertEqual(len(c), 1)
コード例 #11
0
 def test_repeat_weekdays_day_out_of_range(self):
     """Should return unchanged dict."""
     day = 32
     end_repeat = None
     event = create_event(start_date=(2014, 5, 28),
                          end_date=(2014, 5, 28),
                          created_by=self.user,
                          title="event",
                          description="Testing 1 2 3",
                          repeat="WEEKDAY",
                          utc=True)
     c = h.Repeater(self.counter, self.year, self.month, day, end_repeat,
                    event).repeat()
     self.assertEqual(len(c), 0)
コード例 #12
0
 def test_chunk_fill_out_first_week_stops_on_end_repeat(self):
     event = create_event(
         start_date=(2014, 4, 30),
         end_date=(2014, 5, 4),
         created_by=self.user,
         title="event",
         description="Testing 1 2 3",
         repeat="MONTHLY",
         end_repeat=date(2014, 5, 2),
         utc=True
     )
     c = h._chunk_fill_out_first_week(
         self.year, self.month, self.counter, event, event.start_end_diff()
     )
     self.assertEqual(len(c), 1)
コード例 #13
0
 def test_repeat_weekdays_day_out_of_range(self):
     """Should return unchanged dict."""
     day = 32
     end_repeat = None
     event = create_event(
         start_date=(2014, 5, 28),
         end_date=(2014, 5, 28),
         created_by=self.user,
         title="event",
         description="Testing 1 2 3",
         repeat="WEEKDAY",
     )
     c = h.Repeater(
         self.counter, self.year, self.month, day, end_repeat, event
     ).repeat()
     self.assertEqual(len(c), 0)
コード例 #14
0
 def test_repeat_weekdays_count_first_day(self):
     """Should return dict w/ first day counted."""
     day = 28
     end_repeat = date(2014, 7, 7)
     event = create_event(
         start_date=(2014, 5, 28),
         end_date=(2014, 5, 28),
         created_by=self.user,
         title="event",
         description="Testing 1 2 3",
         repeat="WEEKDAY",
     )
     c = h.DailyRepeater(
         self.counter, self.year, self.month, day, end_repeat, event,
         count_first=True
     ).repeat_it()
     self.assertEqual(len(c), 3)
     self.assertEqual(c[28], [('event', event.pk)])
     self.assertEqual(c[29], [('event', event.pk)])
     self.assertEqual(c[30], [('event', event.pk)])
コード例 #15
0
 def test_popover_helper(self):
     yr = 2014
     mo = 5
     count = defaultdict(list)
     event = create_event(start_date=(2014, 5, 15),
                          end_date=(2014, 5, 15),
                          created_by=self.user,
                          title="Big Event",
                          description="Wow! An event.",
                          repeat="WEEKLY")
     days = (15, 22, 29)
     [count[day].append((event.title, event.pk)) for day in days]
     events = [event]
     cal = MiniEventCalendar(yr, mo, count, events)
     cal.event = event
     for day in days:
         cal.title = event.title
         cal.day = day
         cal.popover_helper()
         self.assertIn(event.title, cal.cal_event)
コード例 #16
0
 def test_popover_helper(self):
     yr = 2014
     mo = 5
     count = defaultdict(list)
     event = create_event(
         start_date=(2014, 5, 15),
         end_date=(2014, 5, 15),
         created_by=self.user,
         title="Big Event",
         description="Wow! An event.",
         repeat="WEEKLY"
     )
     days = (15, 22, 29)
     [count[day].append((event.title, event.pk)) for day in days]
     events = [event]
     cal = MiniEventCalendar(yr, mo, count, events)
     cal.event = event
     for day in days:
         cal.title = event.title
         cal.day = day
         cal.popover_helper()
         self.assertIn(event.title, cal.cal_event)
コード例 #17
0
 def test_repeat_weekdays_count_first_day(self):
     """Should return dict w/ first day counted."""
     day = 28
     end_repeat = date(2014, 7, 7)
     event = create_event(start_date=(2014, 5, 28),
                          end_date=(2014, 5, 28),
                          created_by=self.user,
                          title="event",
                          description="Testing 1 2 3",
                          repeat="WEEKDAY",
                          utc=True)
     c = h.DailyRepeater(self.counter,
                         self.year,
                         self.month,
                         day,
                         end_repeat,
                         event,
                         count_first=True).repeat_it()
     self.assertEqual(len(c), 3)
     self.assertEqual(c[28], [('event', event.pk)])
     self.assertEqual(c[29], [('event', event.pk)])
     self.assertEqual(c[30], [('event', event.pk)])
コード例 #18
0
    def test_location(self):
        """
        Test that, if an event has a location associated with it, it gets
        set when popover_helper() is called (the event location only appears
        in the popover on the month calendar view page).
        """
        yr = 2014
        mo = 5
        count = defaultdict(list)
        event = create_event(
            start_date=(2014, 5, 15),
            end_date=(2014, 5, 15),
            created_by=self.user,
            title="Big Event",
            description="Wow! An event.",
            repeat="WEEKLY"
        )
        # Test first without a location
        events = [event]
        day = 15
        count_dict = {day: [(event.title, event.pk)]}

        cal = EventCalendar(yr, mo, count, events)
        cal.count = count_dict
        render_result = cal.formatday(day, 0)
        self.assertNotIn("Where:", render_result)
        self.assertNotIn("Heck", render_result)

        # Test with a location
        event.location.create(
            name="Heck"
        )
        events = [event]
        cal2 = EventCalendar(yr, mo, count, events)
        cal2.count = count_dict
        render_result = cal2.formatday(day, 0)
        self.assertIn("Where:", render_result)
        self.assertIn("Heck", render_result)