File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change 44import graphene
55
66from graphene .relay import Node
7+ from graphql_relay .node .node import to_global_id
78
89from . import models
910from . import nodes
@@ -1022,3 +1023,40 @@ class Query(graphene.ObjectType):
10221023
10231024 assert not result .errors
10241025 assert result .data == expected
1026+
1027+
1028+ def test_should_filter_mongoengine_queryset_by_id_and_other_fields (fixtures ):
1029+
1030+ class Query (graphene .ObjectType ):
1031+ players = MongoengineConnectionField (nodes .PlayerNode )
1032+
1033+ larry = models .Player .objects .get (first_name = "Larry" )
1034+ larry_relay_id = to_global_id ("PlayerNode" , larry .id )
1035+
1036+ # "Larry" id && firstName == "Michael" should return nothing
1037+ query = """
1038+ query players {{
1039+ players(
1040+ id: "{larry_relay_id}",
1041+ firstName: "Michael"
1042+ ) {{
1043+ edges {{
1044+ node {{
1045+ id
1046+ firstName
1047+ }}
1048+ }}
1049+ }}
1050+ }}
1051+ """ .format (larry_relay_id = larry_relay_id )
1052+
1053+ expected = {
1054+ 'players' : {
1055+ 'edges' : []
1056+ }
1057+ }
1058+ schema = graphene .Schema (query = Query )
1059+ result = schema .execute (query )
1060+
1061+ assert not result .errors
1062+ assert json .dumps (result .data , sort_keys = True ) == json .dumps (expected , sort_keys = True )
You can’t perform that action at this time.
0 commit comments