@@ -36,6 +36,7 @@ def resolve_reporter(self, *args, **kwargs):
36
36
firstName,
37
37
lastName,
38
38
email,
39
+ awards,
39
40
articles {
40
41
edges {
41
42
node {
@@ -65,6 +66,7 @@ def resolve_reporter(self, *args, **kwargs):
65
66
'firstName' : 'Allen' ,
66
67
'lastName' : 'Iverson' ,
67
68
69
+ 'awards' : ['2010-mvp' ],
68
70
'articles' : {
69
71
'edges' : [
70
72
{
@@ -337,24 +339,62 @@ class Query(graphene.ObjectType):
337
339
expected , sort_keys = True )
338
340
339
341
340
- def test_should_get_node_by_id (fixtures ):
342
+ def test_should_filter_by_list_contains (fixtures ):
341
343
# Notes: https://goo.gl/hMNRgs
342
344
class Query (graphene .ObjectType ):
343
- reporter = Node .Field (ReporterNode )
344
345
reporters = MongoengineConnectionField (ReporterNode )
345
346
346
347
query = '''
347
348
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 {
348
386
reporter (id: "UmVwb3J0ZXJOb2RlOjE=") {
349
387
id,
350
- firstName
388
+ firstName,
389
+ awards
351
390
}
352
391
}
353
392
'''
354
393
expected = {
355
394
'reporter' : {
356
395
'id' : 'UmVwb3J0ZXJOb2RlOjE=' ,
357
- 'firstName' : 'Allen'
396
+ 'firstName' : 'Allen' ,
397
+ 'awards' : ['2010-mvp' ]
358
398
}
359
399
}
360
400
schema = graphene .Schema (query = Query )
0 commit comments