From 0a80119f5eabbee2e34d0aa755afb9847ae2cf2c Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Sun, 16 Oct 2016 13:14:08 -0700 Subject: [PATCH] Fixed Dynamic arguments --- graphene/types/argument.py | 4 ++++ graphene/types/tests/test_mutation.py | 1 + 2 files changed, 5 insertions(+) diff --git a/graphene/types/argument.py b/graphene/types/argument.py index ead2c005..043cad2b 100644 --- a/graphene/types/argument.py +++ b/graphene/types/argument.py @@ -36,6 +36,10 @@ def to_arguments(args, extra_args): for default_name, arg in iter_arguments: if isinstance(arg, Dynamic): arg = arg.get_type() + if arg is None: + # If the Dynamic type returned None + # then we skip the Argument + continue if isinstance(arg, UnmountedType): arg = arg.Argument() diff --git a/graphene/types/tests/test_mutation.py b/graphene/types/tests/test_mutation.py index 24096161..8ff8773f 100644 --- a/graphene/types/tests/test_mutation.py +++ b/graphene/types/tests/test_mutation.py @@ -49,6 +49,7 @@ def test_mutation_execution(): class Input: name = String() dynamic = Dynamic(lambda: String()) + dynamic_none = Dynamic(lambda: None) name = String() dynamic = Dynamic(lambda: String())