@@ -364,6 +364,89 @@ class Query(graphene.ObjectType):
364
364
assert all (item in get_nodes (result .data , 'editors' ) for item in get_nodes (expected , 'editors' ))
365
365
366
366
367
+ def test_should_after ():
368
+ class Query (graphene .ObjectType ):
369
+
370
+ players = MongoengineConnectionField (PlayerNode )
371
+
372
+ query = '''
373
+ query EditorQuery {
374
+ players(after: "YXJyYXljb25uZWN0aW9uOjA=") {
375
+ edges {
376
+ cursor,
377
+ node {
378
+ firstName
379
+ }
380
+ }
381
+ }
382
+ }
383
+ '''
384
+ expected = {
385
+ 'players' : {
386
+ 'edges' : [
387
+ {
388
+ 'cursor' : 'YXJyYXljb25uZWN0aW9uOjE=' ,
389
+ 'node' : {
390
+ 'firstName' : 'Magic' ,
391
+ }
392
+ },
393
+ {
394
+ 'cursor' : 'YXJyYXljb25uZWN0aW9uOjI=' ,
395
+ 'node' : {
396
+ 'firstName' : 'Larry'
397
+ }
398
+ }
399
+ ]
400
+ }
401
+ }
402
+ schema = graphene .Schema (query = Query )
403
+ result = schema .execute (query )
404
+
405
+ assert not result .errors
406
+ assert json .dumps (result .data , sort_keys = True ) == json .dumps (expected , sort_keys = True )
407
+
408
+
409
+ def test_should_before ():
410
+ class Query (graphene .ObjectType ):
411
+
412
+ players = MongoengineConnectionField (PlayerNode )
413
+
414
+ query = '''
415
+ query EditorQuery {
416
+ players(before: "YXJyYXljb25uZWN0aW9uOjI=") {
417
+ edges {
418
+ cursor,
419
+ node {
420
+ firstName
421
+ }
422
+ }
423
+ }
424
+ }
425
+ '''
426
+ expected = {
427
+ 'players' : {
428
+ 'edges' : [
429
+ {
430
+ 'cursor' : "YXJyYXljb25uZWN0aW9uOjA=" ,
431
+ 'node' : {
432
+ 'firstName' : 'Michael' ,
433
+ }
434
+ },
435
+ {
436
+ 'cursor' : 'YXJyYXljb25uZWN0aW9uOjE=' ,
437
+ 'node' : {
438
+ 'firstName' : 'Magic' ,
439
+ }
440
+ }
441
+ ]
442
+ }
443
+ }
444
+ schema = graphene .Schema (query = Query )
445
+ result = schema .execute (query )
446
+
447
+ assert not result .errors
448
+ assert json .dumps (result .data , sort_keys = True ) == json .dumps (expected , sort_keys = True )
449
+
367
450
def test_should_self_reference ():
368
451
369
452
class Query (graphene .ObjectType ):
@@ -463,6 +546,7 @@ class Query(graphene.ObjectType):
463
546
assert not result .errors
464
547
assert json .dumps (result .data , sort_keys = True ) == json .dumps (expected , sort_keys = True )
465
548
549
+
466
550
# TODO:
467
551
def test_should_paging ():
468
552
pass
0 commit comments