mirror of
				https://github.com/graphql-python/graphene.git
				synced 2025-11-01 00:17:26 +03:00 
			
		
		
		
	Improved ConnectionField exception message. Fixed #356
This commit is contained in:
		
							parent
							
								
									0efee6be5d
								
							
						
					
					
						commit
						bb7976a75f
					
				|  | @ -115,7 +115,7 @@ class IterableConnectionField(Field): | |||
|             connection_type = type | ||||
|         assert issubclass(connection_type, Connection), ( | ||||
|             '{} type have to be a subclass of Connection. Received "{}".' | ||||
|         ).format(str(self), connection_type) | ||||
|         ).format(self.__class__.__name__, connection_type) | ||||
|         return connection_type | ||||
| 
 | ||||
|     @classmethod | ||||
|  |  | |||
|  | @ -12,9 +12,9 @@ def is_node(objecttype): | |||
|     ''' | ||||
|     Check if the given objecttype has Node as an interface | ||||
|     ''' | ||||
|     assert issubclass(objecttype, ObjectType), ( | ||||
|         'Only ObjectTypes can have a Node interface. Received %s' | ||||
|     ) % objecttype | ||||
|     if not issubclass(objecttype, ObjectType): | ||||
|         return False | ||||
| 
 | ||||
|     for i in objecttype._meta.interfaces: | ||||
|         if issubclass(i, Node): | ||||
|             return True | ||||
|  |  | |||
							
								
								
									
										24
									
								
								graphene/tests/issues/test_356.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								graphene/tests/issues/test_356.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| # https://github.com/graphql-python/graphene/issues/356 | ||||
| 
 | ||||
| import pytest | ||||
| import graphene | ||||
| from graphene import relay | ||||
| 
 | ||||
| class SomeTypeOne(graphene.ObjectType): | ||||
|     pass | ||||
| 
 | ||||
| class SomeTypeTwo(graphene.ObjectType): | ||||
|     pass | ||||
| 
 | ||||
| class MyUnion(graphene.Union): | ||||
|     class Meta: | ||||
|         types = (SomeTypeOne, SomeTypeTwo) | ||||
| 
 | ||||
| def test_issue(): | ||||
|     with pytest.raises(Exception) as exc_info: | ||||
|         class Query(graphene.ObjectType): | ||||
|             things = relay.ConnectionField(MyUnion) | ||||
| 
 | ||||
|         schema = graphene.Schema(query=Query) | ||||
| 
 | ||||
|     assert str(exc_info.value) == 'IterableConnectionField type have to be a subclass of Connection. Received "MyUnion".' | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user