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)
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)
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 )
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()
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())
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()
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()
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)
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()