diff options
| author | Hasan Ramezani <hasan.r67@gmail.com> | 2020-10-18 18:29:52 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-11-06 09:24:50 +0100 |
| commit | 3f7b3275627385f8f7531fca01cdda50d4ec6b6e (patch) | |
| tree | fb082d40e73f6c877911eab92229ac21cdfaa5bc /tests/model_forms | |
| parent | 13b6fff11703a694e155b84d41d02822bbc0aaa0 (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.py | 40 |
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']) |
