Skip to content

Commit 4a3c16a

Browse files
committed
test: Add corresponding test in test_query and test_relay_query.
1 parent 8924257 commit 4a3c16a

File tree

4 files changed

+63
-5
lines changed

4 files changed

+63
-5
lines changed

graphene_mongo/tests/fixtures.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .models import Article, Editor, Player, Reporter
1+
from .models import Article, Editor, EmbeddedArticle, Player, Reporter
22

33

44
def setup_fixtures():
@@ -20,6 +20,15 @@ def setup_fixtures():
2020
reporter = Reporter(first_name='Allen', last_name='Iverson',
2121
email='[email protected]', awards=['2010-mvp'])
2222
reporter.articles = [article1, article2]
23+
embedded_article1 = EmbeddedArticle(
24+
headline='Real',
25+
editor=editor1
26+
)
27+
embedded_article2 = EmbeddedArticle(
28+
headline='World',
29+
editor=editor2
30+
)
31+
reporter.embedded_articles = [embedded_article1, embedded_article2]
2332
reporter.save()
2433

2534
Player.drop_collection()

graphene_mongo/tests/test_query.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ def resolve_reporter(self, *args, **kwargs):
7676
articles {
7777
headline
7878
},
79+
embeddedArticles {
80+
headline
81+
},
7982
awards
8083
}
8184
}
@@ -89,6 +92,14 @@ def resolve_reporter(self, *args, **kwargs):
8992
{'headline': 'Hello'},
9093
{'headline': 'World'}
9194
],
95+
'embeddedArticles': [
96+
{
97+
'headline': 'Real'
98+
},
99+
{
100+
'headline': 'World'
101+
}
102+
],
92103
'awards': ['2010-mvp']
93104
}
94105
}

graphene_mongo/tests/test_relay_query.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,22 +32,30 @@ def resolve_reporter(self, *args, **kwargs):
3232
query ReporterQuery {
3333
reporter {
3434
firstName,
35+
lastName,
36+
email,
3537
articles {
3638
edges {
3739
node {
3840
headline
3941
}
4042
}
43+
},
44+
embeddedArticles {
45+
edges {
46+
node {
47+
headline
48+
}
49+
}
4150
}
42-
lastName,
43-
email
4451
}
4552
}
4653
'''
4754
expected = {
4855
'reporter': {
4956
'firstName': 'Allen',
5057
'lastName': 'Iverson',
58+
'email': '[email protected]',
5159
'articles': {
5260
'edges': [
5361
{
@@ -62,7 +70,20 @@ def resolve_reporter(self, *args, **kwargs):
6270
}
6371
],
6472
},
65-
'email': '[email protected]'
73+
'embeddedArticles': {
74+
'edges': [
75+
{
76+
'node': {
77+
'headline': 'Real'
78+
}
79+
},
80+
{
81+
'node': {
82+
'headline': 'World'
83+
}
84+
}
85+
],
86+
},
6687
}
6788
}
6889

graphene_mongo/tests/types.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,35 @@
11
from graphene.relay import Node
22

33
from ..types import MongoengineObjectType
4-
from .models import Article, Editor, Player, Reporter
4+
from .models import Article, Editor, EmbeddedArticle, Player, Reporter
55

66

77
class EditorType(MongoengineObjectType):
8+
89
class Meta:
910
model = Editor
1011

1112

1213
class ArticleType(MongoengineObjectType):
14+
1315
class Meta:
1416
model = Article
1517

1618

19+
class EmbeddedArticleType(MongoengineObjectType):
20+
21+
class Meta:
22+
model = EmbeddedArticle
23+
24+
1725
class PlayerType(MongoengineObjectType):
26+
1827
class Meta:
1928
model = Player
2029

2130

2231
class ReporterType(MongoengineObjectType):
32+
2333
class Meta:
2434
model = Reporter
2535

@@ -38,6 +48,13 @@ class Meta:
3848
interfaces = (Node,)
3949

4050

51+
class EmbeddedArticleNode(MongoengineObjectType):
52+
53+
class Meta:
54+
model = EmbeddedArticle
55+
interfaces = (Node,)
56+
57+
4158
class PlayerNode(MongoengineObjectType):
4259

4360
class Meta:

0 commit comments

Comments
 (0)