summaryrefslogtreecommitdiff
path: root/tests/m2m_through_regress
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/m2m_through_regress
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/m2m_through_regress')
-rw-r--r--tests/m2m_through_regress/tests.py94
1 files changed, 23 insertions, 71 deletions
diff --git a/tests/m2m_through_regress/tests.py b/tests/m2m_through_regress/tests.py
index b0e12e2745..93d2260054 100644
--- a/tests/m2m_through_regress/tests.py
+++ b/tests/m2m_through_regress/tests.py
@@ -32,53 +32,31 @@ class M2MThroughTestCase(TestCase):
cls.jane_rock = UserMembership.objects.create(user=cls.jane, group=cls.rock)
def test_retrieve_reverse_m2m_items(self):
- self.assertQuerysetEqual(
- self.bob.group_set.all(), [
- "<Group: Rock>",
- "<Group: Roll>",
- ],
- ordered=False
- )
+ self.assertCountEqual(self.bob.group_set.all(), [self.rock, self.roll])
def test_retrieve_forward_m2m_items(self):
- self.assertQuerysetEqual(
- self.roll.members.all(), [
- "<Person: Bob>",
- ]
- )
+ self.assertSequenceEqual(self.roll.members.all(), [self.bob])
def test_retrieve_reverse_m2m_items_via_custom_id_intermediary(self):
- self.assertQuerysetEqual(
- self.frank.group_set.all(), [
- "<Group: Rock>",
- "<Group: Roll>",
- ],
- ordered=False
- )
+ self.assertCountEqual(self.frank.group_set.all(), [self.rock, self.roll])
def test_retrieve_forward_m2m_items_via_custom_id_intermediary(self):
- self.assertQuerysetEqual(
- self.roll.user_members.all(), [
- "<User: frank>",
- ]
- )
+ self.assertSequenceEqual(self.roll.user_members.all(), [self.frank])
def test_join_trimming_forwards(self):
"""
Too many copies of the intermediate table aren't involved when doing a
join (#8046, #8254).
"""
- self.assertQuerysetEqual(
- self.rock.members.filter(membership__price=50), [
- "<Person: Jim>",
- ]
+ self.assertSequenceEqual(
+ self.rock.members.filter(membership__price=50),
+ [self.jim],
)
def test_join_trimming_reverse(self):
- self.assertQuerysetEqual(
- self.bob.group_set.filter(membership__price=50), [
- "<Group: Roll>",
- ]
+ self.assertSequenceEqual(
+ self.bob.group_set.filter(membership__price=50),
+ [self.roll],
)
@@ -139,26 +117,18 @@ class ToFieldThroughTests(TestCase):
cls.unused_car2 = Car.objects.create(make="Wartburg")
def test_to_field(self):
- self.assertQuerysetEqual(
- self.car.drivers.all(),
- ["<Driver: Ryan Briscoe>"]
- )
+ self.assertSequenceEqual(self.car.drivers.all(), [self.driver])
def test_to_field_reverse(self):
- self.assertQuerysetEqual(
- self.driver.car_set.all(),
- ["<Car: Toyota>"]
- )
+ self.assertSequenceEqual(self.driver.car_set.all(), [self.car])
def test_to_field_clear_reverse(self):
self.driver.car_set.clear()
- self.assertQuerysetEqual(
- self.driver.car_set.all(), [])
+ self.assertSequenceEqual(self.driver.car_set.all(), [])
def test_to_field_clear(self):
self.car.drivers.clear()
- self.assertQuerysetEqual(
- self.car.drivers.all(), [])
+ self.assertSequenceEqual(self.car.drivers.all(), [])
# Low level tests for _add_items and _remove_items. We test these methods
# because .add/.remove aren't available for m2m fields with through, but
@@ -166,15 +136,12 @@ class ToFieldThroughTests(TestCase):
# sure these methods are ready if the ability to use .add or .remove with
# to_field relations is added some day.
def test_add(self):
- self.assertQuerysetEqual(
- self.car.drivers.all(),
- ["<Driver: Ryan Briscoe>"]
- )
+ self.assertSequenceEqual(self.car.drivers.all(), [self.driver])
# Yikes - barney is going to drive...
self.car.drivers._add_items('car', 'driver', self.unused_driver)
- self.assertQuerysetEqual(
+ self.assertSequenceEqual(
self.car.drivers.all(),
- ["<Driver: Barney Gumble>", "<Driver: Ryan Briscoe>"]
+ [self.unused_driver, self.driver],
)
def test_m2m_relations_unusable_on_null_to_field(self):
@@ -202,16 +169,9 @@ class ToFieldThroughTests(TestCase):
def test_add_reverse(self):
car2 = Car.objects.create(make="Honda")
- self.assertQuerysetEqual(
- self.driver.car_set.all(),
- ["<Car: Toyota>"]
- )
+ self.assertCountEqual(self.driver.car_set.all(), [self.car])
self.driver.car_set._add_items('driver', 'car', car2)
- self.assertQuerysetEqual(
- self.driver.car_set.all(),
- ["<Car: Toyota>", "<Car: Honda>"],
- ordered=False
- )
+ self.assertCountEqual(self.driver.car_set.all(), [self.car, car2])
def test_add_null_reverse(self):
nullcar = Car.objects.create(make=None)
@@ -229,22 +189,14 @@ class ToFieldThroughTests(TestCase):
nulldriver.car_set._add_items('driver', 'car', self.car)
def test_remove(self):
- self.assertQuerysetEqual(
- self.car.drivers.all(),
- ["<Driver: Ryan Briscoe>"]
- )
+ self.assertSequenceEqual(self.car.drivers.all(), [self.driver])
self.car.drivers._remove_items('car', 'driver', self.driver)
- self.assertQuerysetEqual(
- self.car.drivers.all(), [])
+ self.assertSequenceEqual(self.car.drivers.all(), [])
def test_remove_reverse(self):
- self.assertQuerysetEqual(
- self.driver.car_set.all(),
- ["<Car: Toyota>"]
- )
+ self.assertSequenceEqual(self.driver.car_set.all(), [self.car])
self.driver.car_set._remove_items('driver', 'car', self.car)
- self.assertQuerysetEqual(
- self.driver.car_set.all(), [])
+ self.assertSequenceEqual(self.driver.car_set.all(), [])
class ThroughLoadDataTestCase(TestCase):