Skip to content

Commit 87bbd6f

Browse files
committed
test: breaking tests on enums
1 parent 0fb1db3 commit 87bbd6f

File tree

1 file changed

+57
-6
lines changed

1 file changed

+57
-6
lines changed

graphene_sqlalchemy/tests/test_filters.py

Lines changed: 57 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,60 @@ class Query(graphene.ObjectType):
207207
assert_and_raise_result(result, expected)
208208

209209

210+
# Test filtering on enums
211+
@pytest.mark.asyncio
212+
async def test_filter_enum(session):
213+
await add_test_data(session)
214+
215+
Query = create_schema(session)
216+
217+
# test sqlalchemy enum
218+
query = """
219+
query {
220+
reporters (filter: {
221+
favoritePetKind: {eq: "dog"}
222+
}
223+
) {
224+
edges {
225+
node {
226+
firstName
227+
lastName
228+
}
229+
}
230+
}
231+
}
232+
"""
233+
expected = {
234+
"pets": {"edges": [{"node": {"firstName": "Jane", "lastName": "Roe"}}]},
235+
}
236+
schema = graphene.Schema(query=Query)
237+
result = await schema.execute_async(query, context_value={"session": session})
238+
assert_and_raise_result(result, expected)
239+
240+
# test Python enum and sqlalchemy enum
241+
query = """
242+
query {
243+
pets (filter: {
244+
and: [
245+
{ hairKind: {eq: LONG} },
246+
{ petKind: {eq: "dog"} }
247+
]}) {
248+
edges {
249+
node {
250+
name
251+
}
252+
}
253+
}
254+
}
255+
"""
256+
expected = {
257+
"pets": {"edges": [{"node": {"name": "Lassie"}}]},
258+
}
259+
schema = graphene.Schema(query=Query)
260+
result = await schema.execute_async(query, context_value={"session": session})
261+
assert_and_raise_result(result, expected)
262+
263+
210264
# Test a 1:1 relationship
211265
@pytest.mark.asyncio
212266
async def test_filter_relationship_one_to_one(session):
@@ -443,7 +497,7 @@ async def test_filter_relationship_many_to_many_contains_with_and(session):
443497
{ name: { in: ["sensational", "eye-grabbing"] } },
444498
{ name: { eq: "eye-grabbing" } },
445499
]
446-
500+
447501
}
448502
]
449503
}
@@ -788,8 +842,7 @@ async def test_filter_logic_and(session):
788842
reporters (filter: {
789843
and: [
790844
{ firstName: { eq: "John" } },
791-
# TODO get enums working for filters
792-
# { favoritePetKind: { eq: "cat" } },
845+
{ favoritePetKind: { eq: "cat" } },
793846
]
794847
}) {
795848
edges {
@@ -821,8 +874,7 @@ async def test_filter_logic_or(session):
821874
reporters (filter: {
822875
or: [
823876
{ lastName: { eq: "Woe" } },
824-
# TODO get enums working for filters
825-
#{ favoritePetKind: { eq: "dog" } },
877+
{ favoritePetKind: { eq: "dog" } },
826878
]
827879
}) {
828880
edges {
@@ -838,7 +890,6 @@ async def test_filter_logic_or(session):
838890
"reporters": {
839891
"edges": [
840892
{"node": {"firstName": "John", "lastName": "Woe"}},
841-
# TODO get enums working for filters
842893
# {"node": {"firstName": "Jane", "lastName": "Roe"}},
843894
]
844895
}

0 commit comments

Comments
 (0)