|
9 | 9 | from ..inputobjecttype import InputObjectType
|
10 | 10 | from ..interface import Interface
|
11 | 11 | from ..objecttype import ObjectType
|
12 |
| -from ..scalars import Int, String |
| 12 | +from ..scalars import Int, String, Boolean |
13 | 13 | from ..schema import Schema
|
14 |
| -from ..structures import List |
| 14 | +from ..structures import List, NonNull |
15 | 15 | from ..union import Union
|
16 | 16 | from ..context import Context
|
17 | 17 |
|
@@ -475,3 +475,23 @@ def resolve_info(self, info):
|
475 | 475 | result = test_schema.execute('{ info }', "base")
|
476 | 476 | assert not result.errors
|
477 | 477 | assert result.data == {'info': 'base-info'}
|
| 478 | + |
| 479 | + |
| 480 | +def test_default_as_kwarg_to_NonNull(): |
| 481 | + # Related to https://github.com/graphql-python/graphene/issues/702 |
| 482 | + class User(ObjectType): |
| 483 | + name = String() |
| 484 | + is_admin = NonNull(Boolean, default_value=False) |
| 485 | + |
| 486 | + class Query(ObjectType): |
| 487 | + user = Field(User) |
| 488 | + |
| 489 | + def resolve_user(self, *args, **kwargs): |
| 490 | + return User(name="foo") |
| 491 | + |
| 492 | + schema = Schema(query=Query) |
| 493 | + expected = {'user': {'name': 'foo', 'isAdmin': False}} |
| 494 | + result = schema.execute("{ user { name isAdmin } }") |
| 495 | + |
| 496 | + assert not result.errors |
| 497 | + assert result.data == expected |
0 commit comments