mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Relaxed some query ordering assertions in various tests.
It accounts for differences seen on MySQL with MyISAM storage engine.
This commit is contained in:
@@ -326,7 +326,7 @@ class TestQuerying(TestCase):
|
||||
)
|
||||
|
||||
def test_icontains(self):
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__icontains="BaX"),
|
||||
self.objs[6:8],
|
||||
)
|
||||
@@ -495,7 +495,7 @@ class TestQuerying(TestCase):
|
||||
)
|
||||
|
||||
def test_expression_wrapper_key_transform(self):
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.annotate(
|
||||
expr=ExpressionWrapper(
|
||||
KeyTransform("c", "value"),
|
||||
@@ -506,7 +506,7 @@ class TestQuerying(TestCase):
|
||||
)
|
||||
|
||||
def test_has_key(self):
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__has_key="a"),
|
||||
[self.objs[3], self.objs[4]],
|
||||
)
|
||||
@@ -570,7 +570,7 @@ class TestQuerying(TestCase):
|
||||
)
|
||||
|
||||
def test_has_any_keys(self):
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__has_any_keys=["c", "l"]),
|
||||
[self.objs[3], self.objs[4], self.objs[6]],
|
||||
)
|
||||
@@ -622,7 +622,7 @@ class TestQuerying(TestCase):
|
||||
for value, expected in tests:
|
||||
with self.subTest(value=value):
|
||||
qs = NullableJSONModel.objects.filter(value__contains=value)
|
||||
self.assertSequenceEqual(qs, expected)
|
||||
self.assertCountEqual(qs, expected)
|
||||
|
||||
@skipIfDBFeature("supports_json_field_contains")
|
||||
def test_contains_unsupported(self):
|
||||
@@ -647,7 +647,7 @@ class TestQuerying(TestCase):
|
||||
qs = NullableJSONModel.objects.filter(
|
||||
value__contained_by={"a": "b", "c": 14, "h": True}
|
||||
)
|
||||
self.assertSequenceEqual(qs, self.objs[2:4])
|
||||
self.assertCountEqual(qs, self.objs[2:4])
|
||||
|
||||
@skipIfDBFeature("supports_json_field_contains")
|
||||
def test_contained_by_unsupported(self):
|
||||
@@ -656,7 +656,7 @@ class TestQuerying(TestCase):
|
||||
NullableJSONModel.objects.filter(value__contained_by={"a": "b"}).get()
|
||||
|
||||
def test_deep_values(self):
|
||||
qs = NullableJSONModel.objects.values_list("value__k__l")
|
||||
qs = NullableJSONModel.objects.values_list("value__k__l").order_by("pk")
|
||||
expected_objs = [(None,)] * len(self.objs)
|
||||
expected_objs[4] = ("m",)
|
||||
self.assertSequenceEqual(qs, expected_objs)
|
||||
@@ -670,15 +670,15 @@ class TestQuerying(TestCase):
|
||||
|
||||
def test_isnull_key(self):
|
||||
# key__isnull=False works the same as has_key='key'.
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__a__isnull=True),
|
||||
self.objs[:3] + self.objs[5:],
|
||||
)
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__j__isnull=True),
|
||||
self.objs[:4] + self.objs[5:],
|
||||
)
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__a__isnull=False),
|
||||
[self.objs[3], self.objs[4]],
|
||||
)
|
||||
@@ -689,7 +689,7 @@ class TestQuerying(TestCase):
|
||||
|
||||
def test_isnull_key_or_none(self):
|
||||
obj = NullableJSONModel.objects.create(value={"a": None})
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(
|
||||
Q(value__a__isnull=True) | Q(value__a=None)
|
||||
),
|
||||
@@ -723,7 +723,7 @@ class TestQuerying(TestCase):
|
||||
)
|
||||
|
||||
def test_shallow_obj_lookup(self):
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__a="b"),
|
||||
[self.objs[3], self.objs[4]],
|
||||
)
|
||||
@@ -734,7 +734,7 @@ class TestQuerying(TestCase):
|
||||
NullableJSONModel.objects.filter(pk=OuterRef("pk")).values("value")
|
||||
),
|
||||
).filter(field__a="b")
|
||||
self.assertSequenceEqual(qs, [self.objs[3], self.objs[4]])
|
||||
self.assertCountEqual(qs, [self.objs[3], self.objs[4]])
|
||||
|
||||
def test_deep_lookup_objs(self):
|
||||
self.assertSequenceEqual(
|
||||
@@ -761,11 +761,11 @@ class TestQuerying(TestCase):
|
||||
)
|
||||
|
||||
def test_deep_lookup_transform(self):
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__c__gt=2),
|
||||
[self.objs[3], self.objs[4]],
|
||||
)
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(value__c__gt=2.33),
|
||||
[self.objs[3], self.objs[4]],
|
||||
)
|
||||
@@ -777,11 +777,11 @@ class TestQuerying(TestCase):
|
||||
(Q(value__foo="bax"), [self.objs[0], self.objs[7]]),
|
||||
]
|
||||
for condition, expected in tests:
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.exclude(condition),
|
||||
expected,
|
||||
)
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(~condition),
|
||||
expected,
|
||||
)
|
||||
@@ -791,7 +791,7 @@ class TestQuerying(TestCase):
|
||||
condition = Q(value__foo="bax")
|
||||
objs_with_value = [self.objs[6]]
|
||||
objs_with_different_value = [self.objs[0], self.objs[7]]
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.exclude(condition),
|
||||
objs_with_different_value,
|
||||
)
|
||||
@@ -808,7 +808,7 @@ class TestQuerying(TestCase):
|
||||
objs_with_value + objs_with_different_value,
|
||||
)
|
||||
# Add the __isnull lookup to get an exhaustive set.
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.exclude(condition & Q(value__foo__isnull=False)),
|
||||
self.objs[0:6] + self.objs[7:],
|
||||
)
|
||||
@@ -818,7 +818,7 @@ class TestQuerying(TestCase):
|
||||
)
|
||||
|
||||
def test_usage_in_subquery(self):
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(
|
||||
id__in=NullableJSONModel.objects.filter(value__c=14),
|
||||
),
|
||||
@@ -876,7 +876,7 @@ class TestQuerying(TestCase):
|
||||
]
|
||||
for lookup, value, expected in tests:
|
||||
with self.subTest(lookup=lookup, value=value):
|
||||
self.assertSequenceEqual(
|
||||
self.assertCountEqual(
|
||||
NullableJSONModel.objects.filter(**{lookup: value}),
|
||||
expected,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user