Return correct errors

This commit is contained in:
Patrick Arminio 2018-10-28 19:58:40 +00:00
parent 98a9c7161d
commit 942bb6c7e0
2 changed files with 6 additions and 7 deletions

View File

@ -140,12 +140,10 @@ class SerializerMutation(ClientIDMutation):
if serializer.is_valid():
return cls.perform_mutate(serializer, info)
else:
errors = [
ErrorType(field=key, messages=value)
for key, value in serializer.errors.items()
]
# TODO: make sure that we have the correct value for
# non field errors
return cls(errors=errors)
return cls(errors=cls.Errors(**serializer.errors))
@classmethod
def perform_mutate(cls, serializer, info):

View File

@ -159,13 +159,14 @@ def test_mutate_and_get_payload_error():
# missing required fields
result = MyMutation.mutate_and_get_payload(None, mock_info(), **{})
assert len(result.errors) > 0
assert result.errors.text[0] == "This field is required."
assert result.errors.model[0] == "This field is required."
def test_model_mutate_and_get_payload_error():
# missing required fields
result = MyModelMutation.mutate_and_get_payload(None, mock_info(), **{})
assert len(result.errors) > 0
assert result.errors.cool_name[0] == "This field is required."
def test_invalid_serializer_operations():