From b98f2540b03b9aac0cc2384dfb9a4ae246e75cf0 Mon Sep 17 00:00:00 2001 From: Ryan P Kilby Date: Wed, 11 Oct 2017 23:39:48 -0400 Subject: [PATCH] Fix tests relying on strictness --- tests/test_filtering.py | 27 +++++++-------------------- tests/test_filterset.py | 9 +++------ tests/test_utils.py | 5 +---- 3 files changed, 11 insertions(+), 30 deletions(-) diff --git a/tests/test_filtering.py b/tests/test_filtering.py index e4556844c..948aba508 100644 --- a/tests/test_filtering.py +++ b/tests/test_filtering.py @@ -1095,25 +1095,9 @@ class Meta: self.assertEqual(list(F().qs), list(User.objects.all())) self.assertEqual(list(F({'username': 'alex'}).qs), [User.objects.get(username='alex')]) - self.assertEqual(list(F({'username': 'jose'}).qs), - list()) - - def test_filtering_without_strict(self): - User.objects.create(username='alex') - User.objects.create(username='jacob') - User.objects.create(username='aaron') - - class F(FilterSet): - username = AllValuesFilter() - - class Meta: - model = User - fields = ['username'] - strict = False - self.assertEqual(list(F().qs), list(User.objects.all())) - self.assertEqual(list(F({'username': 'alex'}).qs), - [User.objects.get(username='alex')]) + # invalid choice + self.assertFalse(F({'username': 'jose'}).is_valid()) self.assertEqual(list(F({'username': 'jose'}).qs), list(User.objects.all())) @@ -1137,8 +1121,11 @@ class Meta: [User.objects.get(username='alex')]) self.assertEqual(list(F({'username': ['alex', 'jacob']}).qs), list(User.objects.filter(username__in=['alex', 'jacob']))) - self.assertEqual(list(F({'username': ['jose']}).qs), - list()) + + # invalid choice + self.assertFalse(F({'username': 'jose'}).is_valid()) + self.assertEqual(list(F({'username': 'jose'}).qs), + list(User.objects.all())) class FilterMethodTests(TestCase): diff --git a/tests/test_filterset.py b/tests/test_filterset.py index f83958485..05372602d 100644 --- a/tests/test_filterset.py +++ b/tests/test_filterset.py @@ -4,9 +4,8 @@ import unittest import django -from django.core.exceptions import ValidationError from django.db import models -from django.test import TestCase, override_settings +from django.test import TestCase from django_filters.constants import STRICTNESS from django_filters.filters import ( @@ -703,8 +702,7 @@ class Meta: self.assertEqual(f.qs.count(), 2) f = F({'username': 'alex'}, queryset=self.qs) - with self.assertRaises(ValidationError): - f.qs.count() + self.assertFalse(f.is_valid()) f = F({'username': 'alex', 'status': 1}, queryset=self.qs) self.assertEqual(f.qs.count(), 1) @@ -722,8 +720,7 @@ class Meta: self.assertEqual(f.qs.count(), 2) f = F({'username': 'alex'}, queryset=self.qs) - with self.assertRaises(ValidationError): - f.qs.count() + self.assertFalse(f.is_valid()) f = F({'username': 'alex', 'status': 1}, queryset=self.qs) self.assertEqual(f.qs.count(), 1) diff --git a/tests/test_utils.py b/tests/test_utils.py index 138ef654f..91051b685 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -356,13 +356,10 @@ class F(FilterSet): class Meta: model = Article fields = ['id', 'author', 'name'] - strict = STRICTNESS.RAISE_VALIDATION_ERROR f = F(data={'id': 'foo', 'author': 'bar', 'name': 'baz'}) - with self.assertRaises(ValidationError) as exc: - f.qs - self.assertDictEqual(raw_validation(exc.exception), { + self.assertDictEqual(raw_validation(f.errors), { 'id': ['Enter a number.'], 'author': ['Select a valid choice. That choice is not one of the available choices.'], })