示例#1
0
文件: tests.py 项目: 8planes/langolab
    def test_save_schedule_two_users(self):
        user_1_times = [[11, 17, 11, 20], [12, 17, 12, 20]]
        schedule_arg = _schedule_arg_for_times(user_1_times)
        request = RequestMockup(self.user_1)
        rpc.save_schedule(request, schedule_arg, 2011, 8, 11, TIME_RANGE)

        user_2_times = [[11, 19, 11, 20], [12, 13, 12, 19]]
        schedule_arg = _schedule_arg_for_times(user_2_times)
        request = RequestMockup(self.user_2)
        rpc.save_schedule(request, schedule_arg, 2011, 8, 11, TIME_RANGE)

        counts = rpc.fetch_schedule(
            request, ['en'], ['es', 'it'], 2011, 8, 11, TIME_RANGE)
        self.assertEqual(12, len(counts))
        # first check counts on 8/11
        cur_index = 0
        start_hour = scheduling.hour_for_date(datetime(2011, 8, 11, 17))
        for hour in range(17, 21):
            self.assertEqual(start_hour + cur_index, 
                             counts[cur_index]['hour'])
            self.assertEqual(1 if hour < 19 else 2,
                             counts[cur_index]['count'])
            cur_index += 1
        # now check counts on 8/12
        for hour in range(13, 21):
            self.assertEqual(scheduling.hour_for_date(
                    datetime(2011, 8, 12, hour)),
                             counts[cur_index]['hour'])
            self.assertEqual(2 if hour >= 17 and hour <= 19 else 1,
                             counts[cur_index]['count'])
            cur_index += 1
示例#2
0
 def test_save_my_schedule_basic(self):
     start_time = time.mktime(datetime(2011, 8, 11, 17).timetuple())
     end_time = time.mktime(datetime(2011, 8, 11, 17).timetuple())
     schedule_obj = [
         { 'start': start_time,
           'end': end_time }]
     jsonText = json.dumps(schedule_obj)
     request = RequestMockup(
         self.user_0, 
         post={'schedule': jsonText})
     # test passes if this doesn't throw exception
     rpc.save_schedule(request, schedule_obj)
示例#3
0
文件: tests.py 项目: 8planes/langolab
    def test_retrieve_schedule(self):
        schedule_arg = _schedule_arg_for_times([[11, 17, 11, 17]])
        request = RequestMockup(self.user_0)
        rpc.save_schedule(request, schedule_arg, 2011, 8, 11, TIME_RANGE)

        resulting_schedule = rpc.fetch_schedule(
            request, ['es'], ['en'], 2011, 8, 11, TIME_RANGE)
        self.assertEqual(1, len(resulting_schedule))
        self.assertEqual(
            scheduling.hour_for_date(datetime(2011, 8, 11, 17)),
            resulting_schedule[0]['hour'])
        self.assertEqual(
            1, resulting_schedule[0]['count'])
示例#4
0
文件: tests.py 项目: 8planes/langolab
    def test_notification_multiple_ranges(self):
        request = RequestMockup(self.user_1)
        rpc.save_schedule(
            request,
            _schedule_arg_for_times([[11, 17, 11, 18], 
                                     [12, 17, 12, 18], 
                                     [13, 17, 13, 18]]),
            2011, 8, 11, TIME_RANGE)
        for i in range(NOTIFICATION_PARTNER_THRESHOLD):
            user = test_utils.create_user(
                'a_user_{0}'.format(i), ['en'], ['es'])
            request = RequestMockup(user)
            times = [[11, 17, 11, 17], [12, 17, 12, 18]]
            if i < NOTIFICATION_PARTNER_THRESHOLD / 2:
                times.append([13, 17, 13, 18])
            rpc.save_schedule(request, _schedule_arg_for_times(times),
                              2011, 8, 11, TIME_RANGE)

        tasks.notify_users()
        self.assertEquals(1, len(self._user_notification_records))
        notification_record = self._user_notification_records[0]
        # user_1 should be notified for 2 ranges, not 1 or 3.
        self.assertEqual(
            2, len(notification_record.usernotificationrange_set.all()))
示例#5
0
文件: tests.py 项目: 8planes/langolab
 def _save_schedule(self, user, start_hour, end_hour, day=11):
     request = RequestMockup(user)
     rpc.save_schedule(
         request,
         _schedule_arg_for_times([[day, start_hour, day, end_hour]]),
         2011, 8, day, TIME_RANGE)
示例#6
0
文件: tests.py 项目: 8planes/langolab
 def test_save_my_schedule_basic(self):
     schedule_arg = _schedule_arg_for_times([[11, 17, 11, 17]])
     request = RequestMockup(self.user_0)
     # test passes if this doesn't throw exception
     rpc.save_schedule(request, schedule_arg, 2011, 8, 11, TIME_RANGE)