From 9a69cf94130edbc5337004ba77aaf0f992d125a2 Mon Sep 17 00:00:00 2001 From: Markus Padourek Date: Mon, 19 Sep 2016 13:14:32 +0100 Subject: [PATCH] Added __str__ to object type. --- .gitignore | 1 + graphene/types/objecttype.py | 7 +++++++ graphene/types/tests/test_objecttype.py | 15 +++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/.gitignore b/.gitignore index b7554723..9f465556 100644 --- a/.gitignore +++ b/.gitignore @@ -75,6 +75,7 @@ target/ # PyCharm .idea +*.iml # Databases *.sqlite3 diff --git a/graphene/types/objecttype.py b/graphene/types/objecttype.py index 91b74c0f..9b0f4c58 100644 --- a/graphene/types/objecttype.py +++ b/graphene/types/objecttype.py @@ -3,6 +3,7 @@ from collections import OrderedDict import six from ..utils.is_base_type import is_base_type +from ..pyutils.type_to_string import object_type_to_string from .abstracttype import AbstractTypeMeta from .interface import Interface from .options import Options @@ -106,3 +107,9 @@ class ObjectType(six.with_metaclass(ObjectTypeMeta)): self.__class__.__name__ ) ) + + def __repr__(self): + return object_type_to_string(self, full_package_name=True) + + def __str__(self): + return object_type_to_string(self) diff --git a/graphene/types/tests/test_objecttype.py b/graphene/types/tests/test_objecttype.py index eb297917..6ffb0a8e 100644 --- a/graphene/types/tests/test_objecttype.py +++ b/graphene/types/tests/test_objecttype.py @@ -1,3 +1,4 @@ +from mock import patch, call import pytest from ..abstracttype import AbstractType @@ -173,3 +174,17 @@ def test_objecttype_container_benchmark(benchmark): @benchmark def create_objecttype(): Container(field1='field1', field2='field2') + + +@patch('graphene.types.objecttype.object_type_to_string', return_value='') +def test_repr_calls_right_implementation(mock_impl): + c1 = Container() + repr(c1) + assert mock_impl.call_count == 1 + + +@patch('graphene.types.objecttype.object_type_to_string', return_value='') +def test_str_calls_right_implementation(mock_impl): + c1 = Container() + str(c1) + assert mock_impl.call_count == 1