summaryrefslogtreecommitdiff
path: root/tests/model_fields
diff options
context:
space:
mode:
authorHasan Ramezani <hasan.r67@gmail.com>2020-03-23 19:31:49 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-06-17 11:12:18 +0200
commit47651eadb8ca7aacddad41da4df64fd2af11faae (patch)
tree95b9cc540d48ee95303e1abda11deda9d566fb65 /tests/model_fields
parent82da72b74851808c08ec98fe609efe52609f29ad (diff)
Fixed #30583 -- Fixed handling JSONFields in XML serializer.
Co-authored-by: Chason Chaffin <chason@gmail.com>
Diffstat (limited to 'tests/model_fields')
-rw-r--r--tests/model_fields/test_jsonfield.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/model_fields/test_jsonfield.py b/tests/model_fields/test_jsonfield.py
index 1e92b34791..bc0a89fd7d 100644
--- a/tests/model_fields/test_jsonfield.py
+++ b/tests/model_fields/test_jsonfield.py
@@ -149,6 +149,21 @@ class TestSerialization(SimpleTestCase):
)[0].object
self.assertEqual(instance.value, value)
+ def test_xml_serialization(self):
+ test_xml_data = (
+ '<django-objects version="1.0">'
+ '<object model="model_fields.nullablejsonmodel">'
+ '<field name="value" type="JSONField">%s'
+ '</field></object></django-objects>'
+ )
+ for value, serialized in self.test_values:
+ with self.subTest(value=value):
+ instance = NullableJSONModel(value=value)
+ data = serializers.serialize('xml', [instance], fields=['value'])
+ self.assertXMLEqual(data, test_xml_data % serialized)
+ new_instance = list(serializers.deserialize('xml', data))[0].object
+ self.assertEqual(new_instance.value, instance.value)
+
@skipUnlessDBFeature('supports_json_field')
class TestSaveLoad(TestCase):