def test_get_prep_value_can_return_none_if_null(self): json_field_instance = JSONField(null=True) value = {'a': 1} prepared_value = json_field_instance.get_prep_value(value) self.assertIsInstance(prepared_value, string_types) self.assertDictEqual(value, json.loads(prepared_value)) already_json = json.dumps(value) double_prepared_value = json_field_instance.get_prep_value( already_json) self.assertDictEqual(value, json.loads(json.loads(double_prepared_value))) self.assertIs(json_field_instance.get_prep_value(None), None)
def test_get_prep_value_always_json_dumps_if_not_null(self): json_field_instance = JSONField(null=False) value = {'a': 1} prepared_value = json_field_instance.get_prep_value(value) self.assertIsInstance(prepared_value, string_types) self.assertDictEqual(value, json.loads(prepared_value)) already_json = json.dumps(value) double_prepared_value = json_field_instance.get_prep_value( already_json) self.assertDictEqual(value, json.loads(json.loads(double_prepared_value))) self.assertEqual(json_field_instance.get_prep_value(None), 'null')