|
6 | 6 |
|
7 | 7 | from graphene.relay import Node
|
8 | 8 |
|
| 9 | +from . import models |
| 10 | +from . import nodes |
9 | 11 | from .setup import fixtures, fixtures_dirname
|
10 |
| -from .models import Article, Reporter |
11 |
| -from .nodes import (ArticleNode, |
12 |
| - EditorNode, |
13 |
| - PlayerNode, |
14 |
| - ReporterNode, |
15 |
| - ChildNode, |
16 |
| - ParentWithRelationshipNode, |
17 |
| - ProfessorVectorNode,) |
18 | 12 | from ..fields import MongoengineConnectionField
|
19 | 13 |
|
20 | 14 |
|
21 |
| -def get_nodes(data, key): |
| 15 | +def _get_nodes(data, key): |
22 | 16 | return map(lambda edge: edge['node'], data[key]['edges'])
|
23 | 17 |
|
24 | 18 |
|
25 | 19 | def test_should_query_reporter(fixtures):
|
26 | 20 |
|
27 | 21 | class Query(graphene.ObjectType):
|
28 |
| - reporter = graphene.Field(ReporterNode) |
| 22 | + reporter = graphene.Field(nodes.ReporterNode) |
29 | 23 |
|
30 | 24 | def resolve_reporter(self, *args, **kwargs):
|
31 |
| - return Reporter.objects.first() |
| 25 | + return models.Reporter.objects.first() |
32 | 26 |
|
33 | 27 | query = '''
|
34 | 28 | query ReporterQuery {
|
@@ -131,7 +125,7 @@ def resolve_reporter(self, *args, **kwargs):
|
131 | 125 | def test_should_query_reporters_with_nested_document(fixtures):
|
132 | 126 |
|
133 | 127 | class Query(graphene.ObjectType):
|
134 |
| - reporters = MongoengineConnectionField(ReporterNode) |
| 128 | + reporters = MongoengineConnectionField(nodes.ReporterNode) |
135 | 129 |
|
136 | 130 | query = '''
|
137 | 131 | query ReporterQuery {
|
@@ -185,7 +179,7 @@ class Query(graphene.ObjectType):
|
185 | 179 | def test_should_query_all_editors(fixtures, fixtures_dirname):
|
186 | 180 |
|
187 | 181 | class Query(graphene.ObjectType):
|
188 |
| - editors = MongoengineConnectionField(EditorNode) |
| 182 | + editors = MongoengineConnectionField(nodes.EditorNode) |
189 | 183 |
|
190 | 184 | query = '''
|
191 | 185 | query EditorQuery {
|
@@ -259,11 +253,23 @@ class Query(graphene.ObjectType):
|
259 | 253 | assert result.data['editors'] == expected['editors']
|
260 | 254 |
|
261 | 255 |
|
| 256 | +""" |
| 257 | +def test_should_query_editors_with_dataloader(fixtures): |
| 258 | + from promise import Promise |
| 259 | + from promise.dataloader import DataLoader |
| 260 | +
|
| 261 | + class EditorLoader(DataLoader): |
| 262 | + queryset = models.Editor. |
| 263 | + def batch_load_fn(self, keys): |
| 264 | + return Promise.resolve([get_user(id=key) for key in keys]) |
| 265 | +""" |
| 266 | + |
| 267 | + |
262 | 268 | def test_should_filter_editors_by_id(fixtures):
|
263 | 269 |
|
264 | 270 | class Query(graphene.ObjectType):
|
265 | 271 | node = Node.Field()
|
266 |
| - all_editors = MongoengineConnectionField(EditorNode) |
| 272 | + all_editors = MongoengineConnectionField(nodes.EditorNode) |
267 | 273 |
|
268 | 274 | query = '''
|
269 | 275 | query EditorQuery {
|
@@ -302,7 +308,7 @@ def test_should_filter(fixtures):
|
302 | 308 |
|
303 | 309 | class Query(graphene.ObjectType):
|
304 | 310 | node = Node.Field()
|
305 |
| - articles = MongoengineConnectionField(ArticleNode) |
| 311 | + articles = MongoengineConnectionField(nodes.ArticleNode) |
306 | 312 |
|
307 | 313 | query = '''
|
308 | 314 | query ArticlesQuery {
|
@@ -344,7 +350,7 @@ def test_should_filter_by_reference_field(fixtures):
|
344 | 350 |
|
345 | 351 | class Query(graphene.ObjectType):
|
346 | 352 | node = Node.Field()
|
347 |
| - articles = MongoengineConnectionField(ArticleNode) |
| 353 | + articles = MongoengineConnectionField(nodes.ArticleNode) |
348 | 354 |
|
349 | 355 | query = '''
|
350 | 356 | query ArticlesQuery {
|
@@ -384,7 +390,7 @@ def test_should_filter_through_inheritance(fixtures):
|
384 | 390 |
|
385 | 391 | class Query(graphene.ObjectType):
|
386 | 392 | node = Node.Field()
|
387 |
| - children = MongoengineConnectionField(ChildNode) |
| 393 | + children = MongoengineConnectionField(nodes.ChildNode) |
388 | 394 |
|
389 | 395 | query = '''
|
390 | 396 | query ChildrenQuery {
|
@@ -427,7 +433,7 @@ class Query(graphene.ObjectType):
|
427 | 433 | def test_should_filter_by_list_contains(fixtures):
|
428 | 434 | # Notes: https://goo.gl/hMNRgs
|
429 | 435 | class Query(graphene.ObjectType):
|
430 |
| - reporters = MongoengineConnectionField(ReporterNode) |
| 436 | + reporters = MongoengineConnectionField(nodes.ReporterNode) |
431 | 437 |
|
432 | 438 | query = '''
|
433 | 439 | query ReportersQuery {
|
@@ -464,7 +470,7 @@ class Query(graphene.ObjectType):
|
464 | 470 | def test_should_filter_by_id(fixtures):
|
465 | 471 | # Notes: https://goo.gl/hMNRgs
|
466 | 472 | class Query(graphene.ObjectType):
|
467 |
| - reporter = Node.Field(ReporterNode) |
| 473 | + reporter = Node.Field(nodes.ReporterNode) |
468 | 474 |
|
469 | 475 | query = '''
|
470 | 476 | query ReporterQuery {
|
@@ -492,7 +498,7 @@ def test_should_first_n(fixtures):
|
492 | 498 |
|
493 | 499 | class Query(graphene.ObjectType):
|
494 | 500 |
|
495 |
| - editors = MongoengineConnectionField(EditorNode) |
| 501 | + editors = MongoengineConnectionField(nodes.EditorNode) |
496 | 502 |
|
497 | 503 | query = '''
|
498 | 504 | query EditorQuery {
|
@@ -540,14 +546,14 @@ class Query(graphene.ObjectType):
|
540 | 546 | result = schema.execute(query)
|
541 | 547 |
|
542 | 548 | assert not result.errors
|
543 |
| - assert all(item in get_nodes(result.data, 'editors') |
544 |
| - for item in get_nodes(expected, 'editors')) |
| 549 | + assert all(item in _get_nodes(result.data, 'editors') |
| 550 | + for item in _get_nodes(expected, 'editors')) |
545 | 551 |
|
546 | 552 |
|
547 | 553 | def test_should_after(fixtures):
|
548 | 554 | class Query(graphene.ObjectType):
|
549 | 555 |
|
550 |
| - players = MongoengineConnectionField(PlayerNode) |
| 556 | + players = MongoengineConnectionField(nodes.PlayerNode) |
551 | 557 |
|
552 | 558 | query = '''
|
553 | 559 | query EditorQuery {
|
@@ -595,7 +601,7 @@ class Query(graphene.ObjectType):
|
595 | 601 | def test_should_before(fixtures):
|
596 | 602 | class Query(graphene.ObjectType):
|
597 | 603 |
|
598 |
| - players = MongoengineConnectionField(PlayerNode) |
| 604 | + players = MongoengineConnectionField(nodes.PlayerNode) |
599 | 605 |
|
600 | 606 | query = '''
|
601 | 607 | query EditorQuery {
|
@@ -636,7 +642,7 @@ class Query(graphene.ObjectType):
|
636 | 642 |
|
637 | 643 | def test_should_last_n(fixtures):
|
638 | 644 | class Query(graphene.ObjectType):
|
639 |
| - players = MongoengineConnectionField(PlayerNode) |
| 645 | + players = MongoengineConnectionField(nodes.PlayerNode) |
640 | 646 |
|
641 | 647 | query = '''
|
642 | 648 | query PlayerQuery {
|
@@ -679,7 +685,7 @@ def test_should_self_reference(fixtures):
|
679 | 685 |
|
680 | 686 | class Query(graphene.ObjectType):
|
681 | 687 |
|
682 |
| - all_players = MongoengineConnectionField(PlayerNode) |
| 688 | + all_players = MongoengineConnectionField(nodes.PlayerNode) |
683 | 689 |
|
684 | 690 | query = '''
|
685 | 691 | query PlayersQuery {
|
@@ -790,7 +796,7 @@ def test_should_lazy_reference(fixtures):
|
790 | 796 |
|
791 | 797 | class Query(graphene.ObjectType):
|
792 | 798 | node = Node.Field()
|
793 |
| - parents = MongoengineConnectionField(ParentWithRelationshipNode) |
| 799 | + parents = MongoengineConnectionField(nodes.ParentWithRelationshipNode) |
794 | 800 |
|
795 | 801 | schema = graphene.Schema(query=Query)
|
796 | 802 |
|
@@ -855,7 +861,7 @@ def test_should_query_with_embedded_document(fixtures):
|
855 | 861 |
|
856 | 862 | class Query(graphene.ObjectType):
|
857 | 863 |
|
858 |
| - all_professors = MongoengineConnectionField(ProfessorVectorNode) |
| 864 | + all_professors = MongoengineConnectionField(nodes.ProfessorVectorNode) |
859 | 865 |
|
860 | 866 | query = '''
|
861 | 867 | query {
|
@@ -896,7 +902,7 @@ def test_should_get_queryset_returns_dict_filters(fixtures):
|
896 | 902 |
|
897 | 903 | class Query(graphene.ObjectType):
|
898 | 904 | node = Node.Field()
|
899 |
| - articles = MongoengineConnectionField(ArticleNode, get_queryset=lambda *_, **__: {"headline": "World"}) |
| 905 | + articles = MongoengineConnectionField(nodes.ArticleNode, get_queryset=lambda *_, **__: {"headline": "World"}) |
900 | 906 |
|
901 | 907 | query = '''
|
902 | 908 | query ArticlesQuery {
|
@@ -941,7 +947,7 @@ def get_queryset(model, info, **args):
|
941 | 947 |
|
942 | 948 | class Query(graphene.ObjectType):
|
943 | 949 | node = Node.Field()
|
944 |
| - articles = MongoengineConnectionField(ArticleNode, get_queryset=get_queryset) |
| 950 | + articles = MongoengineConnectionField(nodes.ArticleNode, get_queryset=get_queryset) |
945 | 951 |
|
946 | 952 | query = '''
|
947 | 953 | query ArticlesQuery {
|
|
0 commit comments