@@ -308,14 +308,6 @@ def test_query_forward_with_fragments(db, gql_client: GraphQLTestClient):
308
308
}
309
309
... milestoneFrag
310
310
}
311
- milestoneAgain: milestone {
312
- name
313
- project {
314
- id
315
- name
316
- }
317
- ... milestoneFrag
318
- }
319
311
}
320
312
}
321
313
}
@@ -341,7 +333,6 @@ def test_query_forward_with_fragments(db, gql_client: GraphQLTestClient):
341
333
"nameWithKind" : f"{ i .kind } : { i .name } " ,
342
334
"nameWithPriority" : f"{ i .kind } : { i .priority } " ,
343
335
"milestone" : m_res ,
344
- "milestoneAgain" : m_res ,
345
336
},
346
337
)
347
338
@@ -538,12 +529,6 @@ def test_query_prefetch_with_fragments(db, gql_client: GraphQLTestClient):
538
529
... milestoneFrag
539
530
}
540
531
}
541
- otherIssues: issues {
542
- id
543
- milestone {
544
- ... milestoneFrag
545
- }
546
- }
547
532
}
548
533
}
549
534
}
@@ -566,7 +551,6 @@ def test_query_prefetch_with_fragments(db, gql_client: GraphQLTestClient):
566
551
"name" : p_res ["name" ],
567
552
},
568
553
"issues" : [],
569
- "otherIssues" : [],
570
554
}
571
555
p_res ["milestones" ].append (m_res )
572
556
for i in IssueFactory .create_batch (3 , milestone = m ):
@@ -585,22 +569,10 @@ def test_query_prefetch_with_fragments(db, gql_client: GraphQLTestClient):
585
569
},
586
570
},
587
571
)
588
- m_res ["otherIssues" ].append (
589
- {
590
- "id" : to_base64 ("IssueType" , i .id ),
591
- "milestone" : {
592
- "id" : m_res ["id" ],
593
- "project" : {
594
- "id" : p_res ["id" ],
595
- "name" : p_res ["name" ],
596
- },
597
- },
598
- },
599
- )
600
572
601
573
assert len (expected ) == 3
602
574
for e in expected :
603
- with assert_num_queries (3 if DjangoOptimizerExtension .enabled .get () else 8 ):
575
+ with assert_num_queries (3 if DjangoOptimizerExtension .enabled .get () else 5 ):
604
576
res = gql_client .query (query , {"node_id" : e ["id" ]})
605
577
606
578
assert res .data == {"project" : e }
@@ -1089,6 +1061,52 @@ def test_query_nested_connection_with_filter(db, gql_client: GraphQLTestClient):
1089
1061
} == expected
1090
1062
1091
1063
1064
+ @pytest .mark .django_db (transaction = True )
1065
+ def test_query_nested_connection_with_filter_and_alias (
1066
+ db , gql_client : GraphQLTestClient
1067
+ ):
1068
+ query = """
1069
+ query TestQuery ($id: GlobalID!) {
1070
+ milestone(id: $id) {
1071
+ id
1072
+ fooIssues: issuesWithFilters (filters: {search: "Foo"}) {
1073
+ edges {
1074
+ node {
1075
+ id
1076
+ }
1077
+ }
1078
+ }
1079
+ barIssues: issuesWithFilters (filters: {search: "Bar"}) {
1080
+ edges {
1081
+ node {
1082
+ id
1083
+ }
1084
+ }
1085
+ }
1086
+ }
1087
+ }
1088
+ """
1089
+
1090
+ milestone = MilestoneFactory .create ()
1091
+ issue1 = IssueFactory .create (milestone = milestone , name = "Foo" )
1092
+ issue2 = IssueFactory .create (milestone = milestone , name = "Foo Bar" )
1093
+ issue3 = IssueFactory .create (milestone = milestone , name = "Bar Foo" )
1094
+ issue4 = IssueFactory .create (milestone = milestone , name = "Bar Bin" )
1095
+
1096
+ with assert_num_queries (3 ):
1097
+ res = gql_client .query (query , {"id" : to_base64 ("MilestoneType" , milestone .pk )})
1098
+
1099
+ assert isinstance (res .data , dict )
1100
+ result = res .data ["milestone" ]
1101
+ assert isinstance (result , dict )
1102
+
1103
+ foo_expected = {to_base64 ("IssueType" , i .pk ) for i in [issue1 , issue2 , issue3 ]}
1104
+ assert {edge ["node" ]["id" ] for edge in result ["fooIssues" ]["edges" ]} == foo_expected
1105
+
1106
+ bar_expected = {to_base64 ("IssueType" , i .pk ) for i in [issue2 , issue3 , issue4 ]}
1107
+ assert {edge ["node" ]["id" ] for edge in result ["barIssues" ]["edges" ]} == bar_expected
1108
+
1109
+
1092
1110
@pytest .mark .django_db (transaction = True )
1093
1111
def test_query_with_optimizer_paginated_prefetch ():
1094
1112
@strawberry_django .type (Milestone , pagination = True )
0 commit comments