Skip to content

Commit 65df42c

Browse files
committed
refactor: Extract shared declaration from test_query.
1 parent c171687 commit 65df42c

File tree

2 files changed

+59
-48
lines changed

2 files changed

+59
-48
lines changed

graphene_mongo/tests/test_query.py

Lines changed: 20 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,19 @@
55
from graphene.relay import Node
66

77
from .models import Article, Editor, EmbeddedArticle, Reporter
8-
from .utils import with_local_registry
8+
from .types import (ArticleNode, ArticleType,
9+
EditorNode, EditorType,
10+
ReporterNode, ReporterType)
911
from ..fields import MongoengineConnectionField
10-
from ..types import MongoengineObjectType
1112

1213

1314
def setup_fixtures():
1415
editor1 = Editor(first_name='Penny', last_name='Hardaway')
1516
editor1.save()
1617
editor2 = Editor(first_name='Grant', last_name='Hill')
1718
editor2.save()
19+
editor3 = Editor(first_name='Dennis', last_name='Rodman')
20+
editor3.save()
1821

1922
reporter = Reporter(first_name='Allen', last_name='Iverson',
2023
email='[email protected]', awards=['2010-mvp'])
@@ -28,11 +31,7 @@ def setup_fixtures():
2831
setup_fixtures()
2932

3033

31-
@with_local_registry
3234
def test_should_query_editor_well():
33-
class EditorType(MongoengineObjectType):
34-
class Meta:
35-
model = Editor
3635

3736
class Query(graphene.ObjectType):
3837
editor = graphene.Field(EditorType)
@@ -65,8 +64,11 @@ def resolve_editors(self, *args, **kwargs):
6564
}, {
6665
'firstName': 'Grant',
6766
'lastName': 'Hill'
67+
}, {
68+
'firstName': 'Dennis',
69+
'lastName': 'Rodman'
6870
}]
69-
}
71+
}
7072

7173
schema = graphene.Schema(query=Query)
7274
result = schema.execute(query)
@@ -75,15 +77,7 @@ def resolve_editors(self, *args, **kwargs):
7577
assert all(item in result.data['editors'] for item in expected['editors'])
7678

7779

78-
@with_local_registry
7980
def test_should_query_reporter_well():
80-
class ArticleType(MongoengineObjectType):
81-
class Meta:
82-
model = Article
83-
84-
class ReporterType(MongoengineObjectType):
85-
class Meta:
86-
model = Reporter
8781

8882
class Query(graphene.ObjectType):
8983
reporter = graphene.Field(ReporterType)
@@ -123,19 +117,7 @@ def resolve_reporter(self, *args, **kwargs):
123117
assert dict(result.data['reporter']) == expected['reporter']
124118

125119

126-
@with_local_registry
127120
def test_should_node():
128-
class ArticleNode(MongoengineObjectType):
129-
130-
class Meta:
131-
model = Article
132-
interfaces = (Node,)
133-
134-
class ReporterNode(MongoengineObjectType):
135-
136-
class Meta:
137-
model = Reporter
138-
interfaces = (Node,)
139121

140122
class Query(graphene.ObjectType):
141123
node = Node.Field()
@@ -188,13 +170,7 @@ def resolve_reporter(self, *args, **kwargs):
188170
assert dict(result.data['reporter']) == expected['reporter']
189171

190172

191-
@with_local_registry
192173
def test_should_connection_field():
193-
class EditorNode(MongoengineObjectType):
194-
195-
class Meta:
196-
model = Editor
197-
interfaces = (Node,)
198174

199175
class Query(graphene.ObjectType):
200176
node = Node.Field()
@@ -219,13 +195,20 @@ class Query(graphene.ObjectType):
219195
'node': {
220196
'firstName': 'Penny',
221197
'lastName': 'Hardaway'
222-
},
198+
}
223199
},
224200
{
225201
'node': {
226202
'firstName': 'Grant',
227203
'lastName': 'Hill'
228204
}
205+
206+
},
207+
{
208+
'node': {
209+
'firstName': 'Dennis',
210+
'lastName': 'Rodman'
211+
}
229212
}
230213
]
231214
}
@@ -236,14 +219,7 @@ class Query(graphene.ObjectType):
236219
assert dict(result.data['allEditors']) == expected['allEditors']
237220

238221

239-
@with_local_registry
240222
def test_should_mutate_well():
241-
class ArticleNode(MongoengineObjectType):
242-
243-
class Meta:
244-
model = Article
245-
interfaces = (Node,)
246-
247223

248224
class CreateArticle(graphene.Mutation):
249225

@@ -292,14 +268,7 @@ class Mutation(graphene.ObjectType):
292268
assert not result.errors
293269
assert result.data == expected
294270

295-
@with_local_registry
296271
def test_should_filter():
297-
class ArticleNode(MongoengineObjectType):
298-
299-
class Meta:
300-
model = Article
301-
interfaces = (Node,)
302-
filter_fields = ('headline',)
303272

304273
class Query(graphene.ObjectType):
305274
node = Node.Field()
@@ -333,6 +302,9 @@ class Query(graphene.ObjectType):
333302
assert result.data == expected
334303

335304

305+
def test_should_first_n():
306+
pass
307+
336308
# TODO:
337309
def test_should_paging():
338310
pass

graphene_mongo/tests/types.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
from graphene.relay import Node
2+
3+
from .models import Article, Editor, Reporter
4+
from ..types import MongoengineObjectType
5+
6+
7+
class EditorType(MongoengineObjectType):
8+
class Meta:
9+
model = Editor
10+
11+
12+
class ArticleType(MongoengineObjectType):
13+
class Meta:
14+
model = Article
15+
16+
class ReporterType(MongoengineObjectType):
17+
class Meta:
18+
model = Reporter
19+
20+
21+
class ArticleNode(MongoengineObjectType):
22+
23+
class Meta:
24+
model = Article
25+
interfaces = (Node,)
26+
27+
class EditorNode(MongoengineObjectType):
28+
29+
class Meta:
30+
model = Editor
31+
interfaces = (Node,)
32+
33+
34+
class ReporterNode(MongoengineObjectType):
35+
36+
class Meta:
37+
model = Reporter
38+
interfaces = (Node,)
39+

0 commit comments

Comments
 (0)