|
2 | 2 |
|
3 | 3 | import pytest |
4 | 4 |
|
5 | | -from graphene import Field, ObjectType, Schema |
| 5 | +from graphene import Field, ObjectType, Schema, Argument, Float |
6 | 6 | from graphene.relay import Node |
7 | 7 | from graphene_django import DjangoObjectType |
8 | 8 | from graphene_django.forms import (GlobalIDFormField, |
@@ -46,10 +46,7 @@ class Meta: |
46 | 46 |
|
47 | 47 |
|
48 | 48 | def get_args(field): |
49 | | - if isinstance(field.args, list): |
50 | | - return {arg.name: arg for arg in field.args} |
51 | | - else: |
52 | | - return field.args |
| 49 | + return field.args |
53 | 50 |
|
54 | 51 |
|
55 | 52 | def assert_arguments(field, *arguments): |
@@ -252,6 +249,22 @@ class Meta: |
252 | 249 | assert id_filter.field_class == GlobalIDFormField |
253 | 250 |
|
254 | 251 |
|
| 252 | +def test_filterset_descriptions(): |
| 253 | + class ArticleIdFilter(django_filters.FilterSet): |
| 254 | + |
| 255 | + class Meta: |
| 256 | + model = Article |
| 257 | + fields = ['id'] |
| 258 | + |
| 259 | + max_time = django_filters.NumberFilter(method='filter_max_time', label="The maximum time") |
| 260 | + |
| 261 | + field = DjangoFilterConnectionField(ArticleNode, filterset_class=ArticleIdFilter) |
| 262 | + max_time = field.args['max_time'] |
| 263 | + assert isinstance(max_time, Argument) |
| 264 | + assert max_time.type == Float |
| 265 | + assert max_time.description == 'The maximum time' |
| 266 | + |
| 267 | + |
255 | 268 | def test_global_id_field_relation(): |
256 | 269 | field = DjangoFilterConnectionField(ArticleNode, fields=['reporter']) |
257 | 270 | filterset_class = field.filterset_class |
|
0 commit comments