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 4
4
import graphene
5
5
6
6
from graphene .relay import Node
7
+ from graphql_relay .node .node import to_global_id
7
8
8
9
from . import models
9
10
from . import nodes
@@ -1022,3 +1023,40 @@ class Query(graphene.ObjectType):
1022
1023
1023
1024
assert not result .errors
1024
1025
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