from pytest import raises import graphene from graphene import relay schema = graphene.Schema() class OtherNode(relay.Node): name = graphene.StringField() @classmethod def get_node(cls, id): pass def test_field_no_contributed_raises_error(): with raises(Exception) as excinfo: class Part(relay.Node): x = graphene.StringField() assert 'get_node' in str(excinfo.value) def test_node_should_have_same_connection_always(): s = object() connection1 = relay.Connection.for_node(OtherNode) connection2 = relay.Connection.for_node(OtherNode) assert connection1 == connection2 def test_node_should_have_id_field(): assert 'id' in OtherNode._meta.fields_map # def test_field_no_contributed_raises_error(): # with raises(Exception) as excinfo: # class Ship(graphene.ObjectType): # name = graphene.StringField() # class Meta: # schema = schema # class Faction(relay.Node): # name = graphene.StringField() # ships = relay.ConnectionField(Ship) # @classmethod # def get_node(cls): # pass # class Meta: # schema = schema # assert 'same type_name' in str(excinfo.value)