@@ -36,6 +36,7 @@ def resolve_reporter(self, *args, **kwargs):
3636 firstName,
3737 lastName,
3838 email,
39+ awards,
3940 articles {
4041 edges {
4142 node {
@@ -65,6 +66,7 @@ def resolve_reporter(self, *args, **kwargs):
6566 'firstName': 'Allen',
6667 'lastName': 'Iverson',
6768 'email': 'ai@gmail.com',
69+ 'awards': ['2010-mvp'],
6870 'articles': {
6971 'edges': [
7072 {
@@ -337,24 +339,62 @@ class Query(graphene.ObjectType):
337339 expected, sort_keys=True)
338340
339341
340- def test_should_get_node_by_id (fixtures):
342+ def test_should_filter_by_list_contains (fixtures):
341343 # Notes: https://goo.gl/hMNRgs
342344 class Query(graphene.ObjectType):
343- reporter = Node.Field(ReporterNode)
344345 reporters = MongoengineConnectionField(ReporterNode)
345346
346347 query = '''
347348 query ReportersQuery {
349+ reporters (awards: "2010-mvp") {
350+ edges {
351+ node {
352+ id,
353+ firstName,
354+ awards
355+ }
356+ }
357+ }
358+ }
359+ '''
360+ expected = {
361+ 'reporters': {
362+ 'edges': [
363+ {
364+ 'node': {
365+ 'id': 'UmVwb3J0ZXJOb2RlOjE=',
366+ 'firstName': 'Allen',
367+ 'awards': ['2010-mvp']
368+ }
369+ }
370+ ]
371+ }
372+ }
373+ schema = graphene.Schema(query=Query)
374+ result = schema.execute(query)
375+ assert not result.errors
376+ assert result.data == expected
377+
378+
379+ def test_should_filter_by_id(fixtures):
380+ # Notes: https://goo.gl/hMNRgs
381+ class Query(graphene.ObjectType):
382+ reporter = Node.Field(ReporterNode)
383+
384+ query = '''
385+ query ReporterQuery {
348386 reporter (id: "UmVwb3J0ZXJOb2RlOjE=") {
349387 id,
350- firstName
388+ firstName,
389+ awards
351390 }
352391 }
353392 '''
354393 expected = {
355394 'reporter': {
356395 'id': 'UmVwb3J0ZXJOb2RlOjE=',
357- 'firstName': 'Allen'
396+ 'firstName': 'Allen',
397+ 'awards': ['2010-mvp']
358398 }
359399 }
360400 schema = graphene.Schema(query=Query)
0 commit comments