예제 #1
0
    def test_with_case_count_assigned(self):
        user = UserFactory()
        self.assertEqual(
            User.objects.with_case_count_assigned().get(
                pk=user.pk).case_assigned_sum, 0)

        SIZE_PATTERN = [(1, Case.STATUS.free), (2, Case.STATUS.assigned),
                        (3, Case.STATUS.closed)]
        for size, status in SIZE_PATTERN:
            for obj in CaseFactory.create_batch(size=size, status=status):
                assign_perm('cases.can_view', user, obj)
        user = User.objects.with_case_count_assigned().get(pk=user.pk)
        self.assertEqual(user.case_assigned_free, 1)
        self.assertEqual(user.case_assigned_active, 2)
        self.assertEqual(user.case_assigned_closed, 3)
        self.assertEqual(user.case_assigned_sum, 6)

        SIZE_PATTERN_UPDATED = [(4, Case.STATUS.free),
                                (5, Case.STATUS.assigned),
                                (6, Case.STATUS.closed)]
        for size, status in SIZE_PATTERN_UPDATED:
            for obj in CaseFactory.create_batch(size=size, status=status):
                assign_perm('cases.can_view', user, obj)
        user_updated = User.objects.with_case_count_assigned().get(pk=user.pk)
        self.assertEqual(user_updated.case_assigned_free, 5)
        self.assertEqual(user_updated.case_assigned_active, 7)
        self.assertEqual(user_updated.case_assigned_closed, 9)
        self.assertEqual(user_updated.case_assigned_sum, 21)
예제 #2
0
파일: tests.py 프로젝트: ppkt/poradnia
    def test_with_case_count_assigned(self):
        user = UserFactory()
        self.assertEqual(User.objects.with_case_count_assigned().get(
            pk=user.pk).case_assigned_sum, 0)

        SIZE_PATTERN = [(1, Case.STATUS.free),
                        (2, Case.STATUS.assigned),
                        (3, Case.STATUS.closed)]
        for size, status in SIZE_PATTERN:
            for obj in CaseFactory.create_batch(size=size, status=status):
                assign_perm('cases.can_view', user, obj)
        user = User.objects.with_case_count_assigned().get(pk=user.pk)
        self.assertEqual(user.case_assigned_free, 1)
        self.assertEqual(user.case_assigned_active, 2)
        self.assertEqual(user.case_assigned_closed, 3)
        self.assertEqual(user.case_assigned_sum, 6)

        SIZE_PATTERN_UPDATED = [(4, Case.STATUS.free),
                                (5, Case.STATUS.assigned),
                                (6, Case.STATUS.closed)]
        for size, status in SIZE_PATTERN_UPDATED:
            for obj in CaseFactory.create_batch(size=size, status=status):
                assign_perm('cases.can_view', user, obj)
        user_updated = User.objects.with_case_count_assigned().get(pk=user.pk)
        self.assertEqual(user_updated.case_assigned_free, 5)
        self.assertEqual(user_updated.case_assigned_active, 7)
        self.assertEqual(user_updated.case_assigned_closed, 9)
        self.assertEqual(user_updated.case_assigned_sum, 21)
예제 #3
0
 def test_with_case_count(self):
     user = UserFactory()
     CaseFactory.create_batch(size=25, client=user)
     self.assertEqual(User.objects.with_case_count().get(pk=user.pk).case_count, 25)
     self.assertEqual(
         User.objects.with_case_count().get(pk=UserFactory().pk).case_count, 0
     )
예제 #4
0
 def _prepare_cases(self, db_data):
     for size, sent, created_on in db_data:
         last_send = make_aware(datetime(2015, 1, 2)) if sent else None
         for obj in CaseFactory.create_batch(size=size,
                                             last_send=last_send):
             obj.created_on = make_aware(created_on)
             obj.save()
예제 #5
0
 def test_with_perm(self):
     CaseFactory.create_batch(size=25)
     with self.assertNumQueries(2):
         qs = Case.objects.with_perm().all()
         for obj in qs:
             list(obj.caseuserobjectpermission_set.all())
예제 #6
0
 def test_with_perm(self):
     CaseFactory.create_batch(size=25)
     with self.assertNumQueries(2):
         qs = Case.objects.with_perm().all()
         for obj in qs:
             list(obj.caseuserobjectpermission_set.all())
예제 #7
0
 def _prepare_cases(self, db_data):
     for created_on, letter_data in db_data:
         for obj in CaseFactory.create_batch(size=1):
             obj.letter_set.set(self._prepare_letters(letter_data, obj))
             obj.created_on = make_aware(created_on)
             obj.save()
예제 #8
0
 def _prepare_cases(self, db_data):
     for size, status, created_on in db_data:
         for obj in CaseFactory.create_batch(size=size, status=status):
             obj.created_on = make_aware(created_on)
             obj.save()
예제 #9
0
파일: tests.py 프로젝트: ppkt/poradnia
 def test_with_case_count(self):
     user = UserFactory()
     CaseFactory.create_batch(size=25, client=user)
     self.assertEqual(User.objects.with_case_count().get(pk=user.pk).case_count, 25)
     self.assertEqual(User.objects.with_case_count().get(pk=UserFactory().pk).case_count, 0)
예제 #10
0
 def _prepare_cases(self, db_data):
     for size, sent, created_on in db_data:
         last_send = make_aware(datetime(2015, 1, 2)) if sent else None
         for obj in CaseFactory.create_batch(size=size, last_send=last_send):
             obj.created_on = make_aware(created_on)
             obj.save()
예제 #11
0
 def _prepare_cases(self, db_data):
     for created_on, letter_data in db_data:
         for obj in CaseFactory.create_batch(size=1):
             obj.letter_set = self._prepare_letters(letter_data, obj)
             obj.created_on = make_aware(created_on)
             obj.save()
예제 #12
0
 def _prepare_cases(self, db_data):
     for size, status, created_on in db_data:
         for obj in CaseFactory.create_batch(size=size, status=status):
             obj.created_on = make_aware(created_on)
             obj.save()