コード例 #1
0
 def test_attempts_finished_count(self):
     user = UserFactory.create()
     TaskAttemptFactory.create_batch(4,
                                     user=user,
                                     state=TaskAttempt.FINISHED)
     TaskAttemptFactory.create(user=user, state=TaskAttempt.STARTED)
     eq_(user.attempts_finished_count, 4)
コード例 #2
0
 def test_attempts_finished_count(self):
     """
     attempts_finished_count should return the number of attempts
     the user has finished.
     """
     user = UserFactory.create()
     TaskAttemptFactory.create_batch(4, user=user, state=TaskAttempt.FINISHED)
     TaskAttemptFactory.create(user=user, state=TaskAttempt.STARTED)
     eq_(user.attempts_finished_count, 4)
コード例 #3
0
ファイル: test_models.py プロジェクト: akatsoulas/oneanddone
 def test_close_stale_onetime_attempts(self):
     """
     The close_stale_onetime_attempts routine should close all
     expired one-time attempts, set them as requiring notification,
     and return the number that were closed.
     """
     task = TaskFactory.create(repeatable=False)
     user = UserFactory.create()
     recent_attempt, expired_attempt_1, expired_attempt_2 = TaskAttemptFactory.create_batch(
         3,
         user=user,
         state=TaskAttempt.STARTED,
         task=task)
     recent_attempt.created = aware_datetime(2014, 1, 29)
     recent_attempt.save()
     expired_attempt_1.created = aware_datetime(2014, 1, 1)
     expired_attempt_1.save()
     expired_attempt_2.created = aware_datetime(2014, 1, 1)
     expired_attempt_2.save()
     eq_(task.taskattempt_set.filter(state=TaskAttempt.STARTED).count(), 3)
     with patch('oneanddone.tasks.models.timezone.now') as now:
         now.return_value = aware_datetime(2014, 1, 31)
         eq_(TaskAttempt.close_stale_onetime_attempts(), 2)
     eq_(TaskAttempt.objects.filter(task=task,
                                    state=TaskAttempt.STARTED).count(), 1)
     eq_(TaskAttempt.objects.filter(task=task,
                                    state=TaskAttempt.CLOSED,
                                    requires_notification=True).count(), 2)
コード例 #4
0
 def test_attempts_in_progress(self):
     """
     attempts_in_progress should return the number of attempts in progress.
     """
     user = UserFactory.create()
     tasks = TaskAttemptFactory.create_batch(4, user=user, state=TaskAttempt.STARTED)
     eq_(set(user.attempts_in_progress), set(tasks))
コード例 #5
0
 def test_close_stale_onetime_attempts(self):
     """
     The close_stale_onetime_attempts routine should close all
     expired one-time attempts, set them as requiring notification,
     and return the number that were closed.
     """
     task = TaskFactory.create(repeatable=False)
     user = UserFactory.create()
     recent_attempt, expired_attempt_1, expired_attempt_2 = TaskAttemptFactory.create_batch(
         3, user=user, state=TaskAttempt.STARTED, task=task)
     recent_attempt.created = aware_datetime(2014, 1, 29)
     recent_attempt.save()
     expired_attempt_1.created = aware_datetime(2014, 1, 1)
     expired_attempt_1.save()
     expired_attempt_2.created = aware_datetime(2014, 1, 1)
     expired_attempt_2.save()
     eq_(task.taskattempt_set.filter(state=TaskAttempt.STARTED).count(), 3)
     with patch('oneanddone.tasks.models.timezone.now') as now:
         now.return_value = aware_datetime(2014, 1, 31)
         eq_(TaskAttempt.close_stale_onetime_attempts(), 2)
     eq_(
         TaskAttempt.objects.filter(task=task,
                                    state=TaskAttempt.STARTED).count(), 1)
     eq_(
         TaskAttempt.objects.filter(task=task,
                                    state=TaskAttempt.CLOSED,
                                    requires_notification=True).count(), 2)
コード例 #6
0
 def test_close_expired_onetime_attempts(self):
     """
     The close_expired_onetime_attempts routine should close all
     expired one-time attempts and return the number that were closed.
     """
     user = UserFactory.create()
     recent_attempt, expired_attempt_1, expired_attempt_2 = TaskAttemptFactory.create_batch(
         3,
         user=user,
         state=TaskAttempt.STARTED,
         task=self.task_not_repeatable_no_attempts)
     recent_attempt.created = aware_datetime(2014, 1, 29)
     recent_attempt.save()
     expired_attempt_1.created = aware_datetime(2014, 1, 1)
     expired_attempt_1.save()
     expired_attempt_2.created = aware_datetime(2014, 1, 1)
     expired_attempt_2.save()
     eq_(
         self.task_not_repeatable_no_attempts.taskattempt_set.filter(
             state=TaskAttempt.STARTED).count(), 3)
     with patch('oneanddone.tasks.models.timezone.now') as now:
         now.return_value = aware_datetime(2014, 1, 31)
         eq_(TaskAttempt.close_expired_onetime_attempts(), 2)
     eq_(
         TaskAttempt.objects.filter(
             task=self.task_not_repeatable_no_attempts,
             state=TaskAttempt.STARTED).count(), 1)
     eq_(
         TaskAttempt.objects.filter(
             task=self.task_not_repeatable_no_attempts,
             state=TaskAttempt.CLOSED).count(), 2)
コード例 #7
0
ファイル: test_models.py プロジェクト: akatsoulas/oneanddone
 def setUp(self):
     self.user1, self.user2 = UserFactory.create_batch(2)
     self.task1, self.task2 = TaskFactory.create_batch(2)
     TaskAttemptFactory.create_batch(2,
                                     user=self.user1,
                                     task=self.task1,
                                     state=TaskAttempt.FINISHED)
     ValidTaskAttemptFactory.create_batch(2,
                                          user=self.user1,
                                          task=self.task1,
                                          state=TaskAttempt.FINISHED)
     ValidTaskAttemptFactory.create(user=self.user1,
                                    task=self.task2,
                                    state=TaskAttempt.FINISHED)
     ValidTaskAttemptFactory.create(user=self.user2,
                                    task=self.task1,
                                    state=TaskAttempt.FINISHED)
     ValidTaskAttemptFactory.create_batch(2,
                                          user=self.user1,
                                          task=self.task1,
                                          state=TaskAttempt.ABANDONED)
     ValidTaskAttemptFactory.create(user=self.user2,
                                    task=self.task1,
                                    state=TaskAttempt.ABANDONED)
     ValidTaskAttemptFactory.create(user=self.user1,
                                    task=self.task2,
                                    state=TaskAttempt.ABANDONED)
     ValidTaskAttemptFactory.create_batch(2,
                                          user=self.user1,
                                          task=self.task1,
                                          state=TaskAttempt.CLOSED)
     ValidTaskAttemptFactory.create(user=self.user2,
                                    task=self.task1,
                                    state=TaskAttempt.CLOSED)
     ValidTaskAttemptFactory.create(user=self.user1,
                                    task=self.task2,
                                    state=TaskAttempt.CLOSED)
コード例 #8
0
 def setUp(self):
     self.user1, self.user2 = UserFactory.create_batch(2)
     self.task1, self.task2 = TaskFactory.create_batch(2)
     TaskAttemptFactory.create_batch(2,
                                     user=self.user1,
                                     task=self.task1,
                                     state=TaskAttempt.FINISHED)
     ValidTaskAttemptFactory.create_batch(2,
                                          user=self.user1,
                                          task=self.task1,
                                          state=TaskAttempt.FINISHED)
     ValidTaskAttemptFactory.create(user=self.user1,
                                    task=self.task2,
                                    state=TaskAttempt.FINISHED)
     ValidTaskAttemptFactory.create(user=self.user2,
                                    task=self.task1,
                                    state=TaskAttempt.FINISHED)
     ValidTaskAttemptFactory.create_batch(2,
                                          user=self.user1,
                                          task=self.task1,
                                          state=TaskAttempt.ABANDONED)
     ValidTaskAttemptFactory.create(user=self.user2,
                                    task=self.task1,
                                    state=TaskAttempt.ABANDONED)
     ValidTaskAttemptFactory.create(user=self.user1,
                                    task=self.task2,
                                    state=TaskAttempt.ABANDONED)
     ValidTaskAttemptFactory.create_batch(2,
                                          user=self.user1,
                                          task=self.task1,
                                          state=TaskAttempt.CLOSED)
     ValidTaskAttemptFactory.create(user=self.user2,
                                    task=self.task1,
                                    state=TaskAttempt.CLOSED)
     ValidTaskAttemptFactory.create(user=self.user1,
                                    task=self.task2,
                                    state=TaskAttempt.CLOSED)
コード例 #9
0
 def test_attempts_in_progress(self):
     user = UserFactory.create()
     tasks = TaskAttemptFactory.create_batch(4,
                                             user=user,
                                             state=TaskAttempt.STARTED)
     eq_(set(user.attempts_in_progress), set(tasks))
コード例 #10
0
ファイル: test_models.py プロジェクト: bitgeeky/oneanddone
 def test_attempts_in_progress(self):
     user = UserFactory.create()
     tasks = TaskAttemptFactory.create_batch(4, user=user, state=TaskAttempt.STARTED)
     eq_(set(user.attempts_in_progress), set(tasks))
コード例 #11
0
ファイル: test_models.py プロジェクト: bitgeeky/oneanddone
 def test_attempts_finished_count(self):
     user = UserFactory.create()
     TaskAttemptFactory.create_batch(4, user=user, state=TaskAttempt.FINISHED)
     TaskAttemptFactory.create(user=user, state=TaskAttempt.STARTED)
     eq_(user.attempts_finished_count, 4)