Skip to content

Commit 12908b1

Browse files
committed
test: test TestMultipleChoiceField can json serializable
1 parent 6428ac4 commit 12908b1

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

tests/test_fields.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
import pytest
1313

14+
from rest_framework.utils import json
15+
1416
try:
1517
import pytz
1618
except ImportError:
@@ -2193,7 +2195,30 @@ def test_against_partial_and_full_updates(self):
21932195
field.partial = False
21942196
assert field.get_value(QueryDict("")) == []
21952197
field.partial = True
2196-
assert field.get_value(QueryDict('')) == rest_framework.fields.empty
2198+
assert field.get_value(QueryDict("")) == rest_framework.fields.empty
2199+
2200+
def test_valid_inputs_is_json_serializable(self):
2201+
for input_value, _ in get_items(self.valid_inputs):
2202+
validated = self.field.run_validation(input_value)
2203+
2204+
try:
2205+
json.dumps(validated)
2206+
except TypeError as e:
2207+
assert (
2208+
False
2209+
), f"Validated output not JSON serializable: {repr(validated)}; Error: {e}"
2210+
2211+
def test_output_is_json_serializable(self):
2212+
for output_value, _ in get_items(self.outputs):
2213+
representation = self.field.to_representation(output_value)
2214+
2215+
try:
2216+
json.dumps(representation)
2217+
except TypeError as e:
2218+
assert False, (
2219+
f"to_representation output not JSON serializable: "
2220+
f"{repr(representation)}; Error: {e}"
2221+
)
21972222

21982223

21992224
class TestEmptyMultipleChoiceField(FieldValues):

0 commit comments

Comments
 (0)