summaryrefslogtreecommitdiff
path: root/tests/admin_utils
diff options
context:
space:
mode:
authordbxnr <dbxnr@users.noreply.github.com>2020-05-08 09:25:54 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-05-08 09:44:42 +0200
commitfc0f7f6c152766c92a95c74a02cc6fab79440ed8 (patch)
tree21a9b38136522d6937623ec7e2d3db0f3a4ce66e /tests/admin_utils
parent675ce4dd35702ce353006611ba30799c0c4b015f (diff)
downloaddjango-fc0f7f6c152766c92a95c74a02cc6fab79440ed8.tar.gz
Fixed #31157 -- Fixed displaying read-only JSONField values in admin.
Diffstat (limited to 'tests/admin_utils')
-rw-r--r--tests/admin_utils/tests.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/admin_utils/tests.py b/tests/admin_utils/tests.py
index 0ce18be094..cf0d3e064e 100644
--- a/tests/admin_utils/tests.py
+++ b/tests/admin_utils/tests.py
@@ -179,6 +179,20 @@ class UtilsTests(SimpleTestCase):
display_value = display_for_field(None, models.JSONField(), self.empty_value)
self.assertEqual(display_value, self.empty_value)
+ def test_json_display_for_field(self):
+ tests = [
+ ({'a': {'b': 'c'}}, '{"a": {"b": "c"}}'),
+ (['a', 'b'], '["a", "b"]'),
+ ('a', '"a"'),
+ ({('a', 'b'): 'c'}, "{('a', 'b'): 'c'}"), # Invalid JSON.
+ ]
+ for value, display_value in tests:
+ with self.subTest(value=value):
+ self.assertEqual(
+ display_for_field(value, models.JSONField(), self.empty_value),
+ display_value,
+ )
+
def test_number_formats_display_for_field(self):
display_value = display_for_field(12345.6789, models.FloatField(), self.empty_value)
self.assertEqual(display_value, '12345.6789')