summaryrefslogtreecommitdiff
path: root/tests/model_forms
diff options
context:
space:
mode:
authorHasan Ramezani <hasan.r67@gmail.com>2020-10-18 18:29:52 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-11-06 09:24:50 +0100
commit3f7b3275627385f8f7531fca01cdda50d4ec6b6e (patch)
treefb082d40e73f6c877911eab92229ac21cdfaa5bc /tests/model_forms
parent13b6fff11703a694e155b84d41d02822bbc0aaa0 (diff)
Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly.
This also replaces assertQuerysetEqual() to assertSequenceEqual()/assertCountEqual() where appropriate. Co-authored-by: Peter Inglesby <peter.inglesby@gmail.com> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Diffstat (limited to 'tests/model_forms')
-rw-r--r--tests/model_forms/tests.py40
1 files changed, 20 insertions, 20 deletions
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py
index d7bd768e7b..9931fa50e3 100644
--- a/tests/model_forms/tests.py
+++ b/tests/model_forms/tests.py
@@ -1444,7 +1444,7 @@ class ModelFormBasicTests(TestCase):
article="Hello.", headline="New headline", slug="new-headline",
pub_date=datetime.date(1988, 1, 4), writer=self.w_royko)
new_art.categories.add(Category.objects.get(name='Entertainment'))
- self.assertQuerysetEqual(new_art.categories.all(), ["Entertainment"])
+ self.assertSequenceEqual(new_art.categories.all(), [self.c1])
f = ArticleForm(auto_id=False, instance=new_art)
self.assertHTMLEqual(
f.as_ul(),
@@ -1528,7 +1528,7 @@ class ModelFormBasicTests(TestCase):
new_art = f.save()
new_art = Article.objects.get(id=new_art.id)
art_id_1 = new_art.id
- self.assertQuerysetEqual(new_art.categories.order_by('name'), ["Entertainment", "It's a test"])
+ self.assertSequenceEqual(new_art.categories.order_by('name'), [self.c1, self.c2])
# Now, submit form data with no categories. This deletes the existing categories.
form_data['categories'] = []
@@ -1536,7 +1536,7 @@ class ModelFormBasicTests(TestCase):
new_art = f.save()
self.assertEqual(new_art.id, art_id_1)
new_art = Article.objects.get(id=art_id_1)
- self.assertQuerysetEqual(new_art.categories.all(), [])
+ self.assertSequenceEqual(new_art.categories.all(), [])
# Create a new article, with no categories, via the form.
f = ArticleForm(form_data)
@@ -1544,7 +1544,7 @@ class ModelFormBasicTests(TestCase):
art_id_2 = new_art.id
self.assertNotIn(art_id_2, (None, art_id_1))
new_art = Article.objects.get(id=art_id_2)
- self.assertQuerysetEqual(new_art.categories.all(), [])
+ self.assertSequenceEqual(new_art.categories.all(), [])
# Create a new article, with categories, via the form, but use commit=False.
# The m2m data won't be saved until save_m2m() is invoked on the form.
@@ -1559,11 +1559,11 @@ class ModelFormBasicTests(TestCase):
# The instance doesn't have m2m data yet
new_art = Article.objects.get(id=art_id_3)
- self.assertQuerysetEqual(new_art.categories.all(), [])
+ self.assertSequenceEqual(new_art.categories.all(), [])
# Save the m2m data on the form
f.save_m2m()
- self.assertQuerysetEqual(new_art.categories.order_by('name'), ["Entertainment", "It's a test"])
+ self.assertSequenceEqual(new_art.categories.order_by('name'), [self.c1, self.c2])
def test_custom_form_fields(self):
# Here, we define a custom ModelForm. Because it happens to have the same fields as
@@ -1720,20 +1720,20 @@ class ModelMultipleChoiceFieldTests(TestCase):
f.clean(None)
with self.assertRaises(ValidationError):
f.clean([])
- self.assertQuerysetEqual(f.clean([self.c1.id]), ["Entertainment"])
- self.assertQuerysetEqual(f.clean([self.c2.id]), ["It's a test"])
- self.assertQuerysetEqual(f.clean([str(self.c1.id)]), ["Entertainment"])
- self.assertQuerysetEqual(
+ self.assertCountEqual(f.clean([self.c1.id]), [self.c1])
+ self.assertCountEqual(f.clean([self.c2.id]), [self.c2])
+ self.assertCountEqual(f.clean([str(self.c1.id)]), [self.c1])
+ self.assertCountEqual(
f.clean([str(self.c1.id), str(self.c2.id)]),
- ["Entertainment", "It's a test"], ordered=False
+ [self.c1, self.c2],
)
- self.assertQuerysetEqual(
+ self.assertCountEqual(
f.clean([self.c1.id, str(self.c2.id)]),
- ["Entertainment", "It's a test"], ordered=False
+ [self.c1, self.c2],
)
- self.assertQuerysetEqual(
+ self.assertCountEqual(
f.clean((self.c1.id, str(self.c2.id))),
- ["Entertainment", "It's a test"], ordered=False
+ [self.c1, self.c2],
)
with self.assertRaises(ValidationError):
f.clean(['100'])
@@ -1755,7 +1755,7 @@ class ModelMultipleChoiceFieldTests(TestCase):
# this may create categories with primary keys up to 6. Use
# a number that will not conflict.
c6 = Category.objects.create(id=1006, name='Sixth', url='6th')
- self.assertQuerysetEqual(f.clean([c6.id]), ["Sixth"])
+ self.assertCountEqual(f.clean([c6.id]), [c6])
# Delete a Category object *after* the ModelMultipleChoiceField has already been
# instantiated. This proves clean() checks the database during clean() rather
@@ -1780,7 +1780,7 @@ class ModelMultipleChoiceFieldTests(TestCase):
self.assertEqual(list(f.choices), [
(self.c1.pk, 'Entertainment'),
(self.c2.pk, "It's a test")])
- self.assertQuerysetEqual(f.clean([self.c2.id]), ["It's a test"])
+ self.assertSequenceEqual(f.clean([self.c2.id]), [self.c2])
with self.assertRaises(ValidationError):
f.clean([self.c3.id])
with self.assertRaises(ValidationError):
@@ -2512,7 +2512,7 @@ class OtherModelFormTests(TestCase):
def test_foreignkeys_which_use_to_field(self):
apple = Inventory.objects.create(barcode=86, name='Apple')
- Inventory.objects.create(barcode=22, name='Pear')
+ pear = Inventory.objects.create(barcode=22, name='Pear')
core = Inventory.objects.create(barcode=87, name='Core', parent=apple)
field = forms.ModelChoiceField(Inventory.objects.all(), to_field_name='barcode')
@@ -2555,12 +2555,12 @@ class OtherModelFormTests(TestCase):
field = forms.ModelMultipleChoiceField(Inventory.objects.all(), to_field_name='barcode')
self.assertEqual(tuple(field.choices), ((86, 'Apple'), (87, 'Core'), (22, 'Pear')))
- self.assertQuerysetEqual(field.clean([86]), ['Apple'])
+ self.assertSequenceEqual(field.clean([86]), [apple])
form = SelectInventoryForm({'items': [87, 22]})
self.assertTrue(form.is_valid())
self.assertEqual(len(form.cleaned_data), 1)
- self.assertQuerysetEqual(form.cleaned_data['items'], ['Core', 'Pear'])
+ self.assertSequenceEqual(form.cleaned_data['items'], [core, pear])
def test_model_field_that_returns_none_to_exclude_itself_with_explicit_fields(self):
self.assertEqual(list(CustomFieldForExclusionForm.base_fields), ['name'])