From 847af75fd91513566465213c42cca56366c4a1f5 Mon Sep 17 00:00:00 2001 From: Jonathan Kim Date: Sat, 27 Jun 2020 18:28:52 +0100 Subject: [PATCH] Rename name argument to allow custom name --- graphene/types/objecttype.py | 6 +++--- graphene/types/tests/test_objecttype.py | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/graphene/types/objecttype.py b/graphene/types/objecttype.py index eafa3081..66f3e3f7 100644 --- a/graphene/types/objecttype.py +++ b/graphene/types/objecttype.py @@ -20,13 +20,13 @@ class ObjectTypeOptions(BaseOptions): class ObjectTypeMeta(BaseTypeMeta): - def __new__(cls, name, bases, namespace, **kwargs): + def __new__(cls, name_, bases, namespace, **kwargs): # We create this type, to then overload it with the dataclass attrs class InterObjectType: pass base_cls = super().__new__( - cls, name, (InterObjectType,) + bases, namespace, **kwargs + cls, name_, (InterObjectType,) + bases, namespace, **kwargs ) if base_cls._meta: fields = [ @@ -41,7 +41,7 @@ class ObjectTypeMeta(BaseTypeMeta): ) for key, field_value in base_cls._meta.fields.items() ] - dataclass = make_dataclass(name, fields, bases=()) + dataclass = make_dataclass(name_, fields, bases=()) InterObjectType.__init__ = dataclass.__init__ InterObjectType.__eq__ = dataclass.__eq__ InterObjectType.__repr__ = dataclass.__repr__ diff --git a/graphene/types/tests/test_objecttype.py b/graphene/types/tests/test_objecttype.py index bae11af4..1ff8fc8f 100644 --- a/graphene/types/tests/test_objecttype.py +++ b/graphene/types/tests/test_objecttype.py @@ -306,3 +306,10 @@ def test_objecttype_meta_arguments(): assert MyType._meta.interfaces == [MyInterface] assert list(MyType._meta.fields.keys()) == ["foo", "bar"] + + +def test_objecttype_type_name(): + class MyObjectType(ObjectType, name="FooType"): + pass + + assert MyObjectType._meta.name == "FooType"