summaryrefslogtreecommitdiff
path: root/tests/admin_utils
diff options
context:
space:
mode:
authorsarahboyce <sarahvboyce95@gmail.com>2023-03-06 15:24:39 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-03-16 08:38:44 +0100
commitd2b688b966f5d30414899549412d370e1317ddb8 (patch)
tree04be2a73653c70c27d9a0bf1baeaa99b86ef8107 /tests/admin_utils
parentd03dc63177ad3ba6e685e314eed45d6a8ec5cb0c (diff)
downloaddjango-d2b688b966f5d30414899549412d370e1317ddb8.tar.gz
Fixed #1873 -- Handled multi-valued query parameters in admin changelist filters.
Diffstat (limited to 'tests/admin_utils')
-rw-r--r--tests/admin_utils/tests.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/admin_utils/tests.py b/tests/admin_utils/tests.py
index 113f5f7024..cbe6b8bb1d 100644
--- a/tests/admin_utils/tests.py
+++ b/tests/admin_utils/tests.py
@@ -7,6 +7,7 @@ from django.contrib import admin
from django.contrib.admin import helpers
from django.contrib.admin.utils import (
NestedObjects,
+ build_q_object_from_lookup_parameters,
display_for_field,
display_for_value,
flatten,
@@ -424,3 +425,17 @@ class UtilsTests(SimpleTestCase):
def test_quote(self):
self.assertEqual(quote("something\nor\nother"), "something_0Aor_0Aother")
+
+ def test_build_q_object_from_lookup_parameters(self):
+ parameters = {
+ "title__in": [["Article 1", "Article 2"]],
+ "hist__iexact": ["history"],
+ "site__pk": [1, 2],
+ }
+ q_obj = build_q_object_from_lookup_parameters(parameters)
+ self.assertEqual(
+ q_obj,
+ models.Q(title__in=["Article 1", "Article 2"])
+ & models.Q(hist__iexact="history")
+ & (models.Q(site__pk=1) | models.Q(site__pk=2)),
+ )