mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-03-12 16:15:50 +03:00
50 lines
1.0 KiB
Python
50 lines
1.0 KiB
Python
from django import forms
|
|
from py.test import raises
|
|
|
|
from graphene_django.tests.models import Pet
|
|
from ..mutation import FormMutation, ModelFormMutation
|
|
|
|
|
|
class MyForm(forms.Form):
|
|
text = forms.CharField()
|
|
|
|
|
|
class PetForm(forms.ModelForm):
|
|
|
|
class Meta:
|
|
model = Pet
|
|
fields = ('name',)
|
|
|
|
|
|
def test_needs_form_class():
|
|
with raises(Exception) as exc:
|
|
class MyMutation(FormMutation):
|
|
pass
|
|
|
|
assert exc.value.args[0] == 'Missing form_class'
|
|
|
|
|
|
def test_has_fields():
|
|
class MyMutation(FormMutation):
|
|
class Meta:
|
|
form_class = MyForm
|
|
|
|
assert 'errors' in MyMutation._meta.fields
|
|
|
|
|
|
def test_has_input_fields():
|
|
class MyMutation(FormMutation):
|
|
class Meta:
|
|
form_class = MyForm
|
|
|
|
assert 'text' in MyMutation.Input._meta.fields
|
|
|
|
|
|
def test_model_form():
|
|
class PetMutation(ModelFormMutation):
|
|
class Meta:
|
|
form_class = PetForm
|
|
|
|
assert PetMutation.model == Pet
|
|
assert PetMutation.return_field_name == 'pet'
|