File tree 2 files changed +26
-2
lines changed
2 files changed +26
-2
lines changed Original file line number Diff line number Diff line change @@ -753,10 +753,23 @@ def __init__(
753
753
754
754
self .name = name
755
755
self ._type = None
756
- self .ast_field = FragmentSpreadNode ()
757
- self .ast_field .name = NameNode (value = self .name )
756
+
758
757
log .debug (f"Creating { self !r} " )
759
758
759
+ @property # type: ignore
760
+ def ast_field (self ) -> FragmentSpreadNode : # type: ignore
761
+ """ast_field property will generate a FragmentSpreadNode with the
762
+ provided name.
763
+
764
+ Note: We need to ignore the type because of
765
+ `issue #4125 of mypy <https://github.com/python/mypy/issues/4125>`_.
766
+ """
767
+
768
+ spread_node = FragmentSpreadNode ()
769
+ spread_node .name = NameNode (value = self .name )
770
+
771
+ return spread_node
772
+
760
773
def select (
761
774
self , * fields : "DSLSelectable" , ** fields_with_alias : "DSLSelectableWithAlias"
762
775
) -> "DSLFragment" :
Original file line number Diff line number Diff line change @@ -499,6 +499,17 @@ def test_fragment_without_type_condition_error(ds):
499
499
dsl_gql (name_and_appearances )
500
500
501
501
502
+ def test_fragment_with_name_changed (ds ):
503
+
504
+ fragment = DSLFragment ("ABC" )
505
+
506
+ assert str (fragment ) == "...ABC"
507
+
508
+ fragment .name = "DEF"
509
+
510
+ assert str (fragment ) == "...DEF"
511
+
512
+
502
513
def test_dsl_nested_query_with_fragment (ds ):
503
514
query = """fragment NameAndAppearances on Character {
504
515
name
You can’t perform that action at this time.
0 commit comments