graphene/graphene-sqlalchemy/graphene_sqlalchemy/tests/test_schema.py
2016-07-22 20:24:12 -07:00

41 lines
1.1 KiB
Python

from py.test import raises
from ..types import SQLAlchemyObjectType
from .models import Reporter
from ..registry import Registry
def test_should_raise_if_no_model():
with raises(Exception) as excinfo:
class Character1(SQLAlchemyObjectType):
pass
assert 'valid SQLAlchemy Model' in str(excinfo.value)
def test_should_raise_if_model_is_invalid():
with raises(Exception) as excinfo:
class Character2(SQLAlchemyObjectType):
class Meta:
model = 1
assert 'valid SQLAlchemy Model' in str(excinfo.value)
def test_should_map_fields_correctly():
class ReporterType2(SQLAlchemyObjectType):
class Meta:
model = Reporter
registry = Registry()
assert ReporterType2._meta.get_fields().keys() == ['id', 'firstName', 'lastName', 'email']
def test_should_map_only_few_fields():
class Reporter2(SQLAlchemyObjectType):
class Meta:
model = Reporter
only = ('id', 'email')
assert Reporter2._meta.get_fields().keys() == ['id', 'email']