Skip to content

Commit ebf6532

Browse files
committed
ADD Failing test case for filters with id.
1 parent 34adc62 commit ebf6532

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

graphene_mongo/tests/test_relay_query.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import graphene
55

66
from graphene.relay import Node
7+
from graphql_relay.node.node import to_global_id
78

89
from . import models
910
from . 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)

0 commit comments

Comments
 (0)