Skip to content

Commit bf7ad7e

Browse files
author
Grant McConnaughey
committed
Test invalid forms
1 parent 463ce68 commit bf7ad7e

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

graphene_django/forms/converter.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,6 @@ class UUIDField(object):
1616
singledispatch = import_single_dispatch()
1717

1818

19-
def convert_form_to_input_type(form_class):
20-
form = form_class()
21-
22-
items = {
23-
name: convert_form_field(field)
24-
for name, field in form.fields.items()
25-
}
26-
27-
return type(
28-
'{}Input'.format(form.__class__.__name__),
29-
(graphene.InputObjectType, ),
30-
items
31-
)
32-
33-
3419
@singledispatch
3520
def convert_form_field(field):
3621
raise ImproperlyConfigured(

graphene_django/forms/mutation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def __init_subclass_with_meta__(cls, form_class=None,
8383
@classmethod
8484
def perform_mutate(cls, form, info):
8585
form.save()
86-
return cls(errors=None)
86+
return cls(errors=[])
8787

8888

8989
class ModelFormMutationOptions(FormMutationOptions):
@@ -138,4 +138,4 @@ def __init_subclass_with_meta__(cls, form_class=None, model=None, return_field_n
138138
def perform_mutate(cls, form, info):
139139
obj = form.save()
140140
kwargs = {cls._meta.return_field_name: obj}
141-
return cls(errors=None, **kwargs)
141+
return cls(errors=[], **kwargs)

graphene_django/forms/tests/test_mutation.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,23 @@ class PetMutation(ModelFormMutation):
6868
class Meta:
6969
form_class = PetForm
7070

71-
PetMutation.mutate_and_get_payload(None, None, name='Fluffy')
71+
result = PetMutation.mutate_and_get_payload(None, None, name='Fluffy')
7272

7373
self.assertEqual(Pet.objects.count(), 1)
7474
pet = Pet.objects.get()
7575
self.assertEqual(pet.name, 'Fluffy')
76+
self.assertEqual(result.errors, [])
77+
78+
def test_model_form_mutation_mutate_invalid_form(self):
79+
class PetMutation(ModelFormMutation):
80+
class Meta:
81+
form_class = PetForm
82+
83+
result = PetMutation.mutate_and_get_payload(None, None)
84+
85+
# A pet was not created
86+
self.assertEqual(Pet.objects.count(), 0)
87+
88+
self.assertEqual(len(result.errors), 1)
89+
self.assertEqual(result.errors[0].field, 'name')
90+
self.assertEqual(result.errors[0].messages, ['This field is required.'])

0 commit comments

Comments
 (0)