Skip to content

Commit 0909cdf

Browse files
authored
Merge pull request #31 from graphql-python/test-increase-coverage
Test: Increase coverage
2 parents 98d6eda + 7988a1a commit 0909cdf

File tree

12 files changed

+70
-45
lines changed

12 files changed

+70
-45
lines changed

graphene_mongo/fields.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,6 @@ def get_reference_field(r, kv):
9292
return r
9393
return reduce(get_reference_field, self.fields.items(), {})
9494

95-
@property
96-
def filter_fields(self):
97-
return self._type._meta.filter_fields
98-
9995
@property
10096
def fields(self):
10197
return self._type._meta.fields
@@ -139,7 +135,7 @@ def get_query(cls, model, info, **args):
139135
if before is not None:
140136
_before = int(from_global_id(before)[-1])
141137
objs = objs[:_before]
142-
# Not sure if this is in the correct place yet
138+
143139
list_length = objs.count()
144140

145141
if first is not None:

graphene_mongo/tests/fixtures.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from .models import (
22
Article, Editor, EmbeddedArticle, Player,
3-
Reporter, Parent, Child
3+
Reporter, Child
44
)
55

66

graphene_mongo/tests/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class Editor(Document):
1919
last_name = StringField(required=True)
2020
metadata = MapField(field=StringField())
2121

22+
2223
class Pet(Document):
2324

2425
meta = {'collection': 'test_pet'}
@@ -79,4 +80,3 @@ class Child(Parent):
7980

8081
meta = {'collection': 'Child'}
8182
baz = StringField()
82-

graphene_mongo/tests/test_converter.py

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import graphene
22
import mongoengine
3-
import pytest
43

54
from graphene import Dynamic
65
from graphene import Node
@@ -9,6 +8,7 @@
98

109
from .models import Article, Editor, EmbeddedArticle, Player, Reporter
1110

11+
from .. import registry
1212
from ..converter import convert_mongoengine_field
1313
from ..fields import MongoengineConnectionField
1414
from ..types import MongoengineObjectType
@@ -21,6 +21,7 @@ def assert_conversion(mongoengine_field, graphene_field, *args, **kwargs):
2121
field = graphene_type.Field()
2222
return field
2323

24+
2425
def test_should_unknown_mongoengine_field_raise_exception():
2526
with raises(Exception) as excinfo:
2627
convert_mongoengine_field(None)
@@ -43,6 +44,10 @@ def test_should_uuid_convert_id():
4344
assert_conversion(mongoengine.UUIDField, graphene.ID)
4445

4546

47+
def test_sould_int_convert_int():
48+
assert_conversion(mongoengine.IntField, graphene.Int)
49+
50+
4651
def test_should_object_id_convert_id():
4752
assert_conversion(mongoengine.ObjectIdField, graphene.ID)
4853

@@ -83,21 +88,32 @@ class Meta:
8388
model = Editor
8489
interfaces = (Node,)
8590

86-
dynamic_field = convert_mongoengine_field(EmbeddedArticle._fields['editor'], E._meta.registry)
91+
dynamic_field = convert_mongoengine_field(
92+
EmbeddedArticle._fields['editor'], E._meta.registry)
8793
assert isinstance(dynamic_field, Dynamic)
8894
graphene_type = dynamic_field.get_type()
8995
assert isinstance(graphene_type, graphene.Field)
9096
assert graphene_type.type == E
9197

9298

99+
def test_should_convert_none():
100+
registry.reset_global_registry()
101+
dynamic_field = convert_mongoengine_field(
102+
EmbeddedArticle._fields['editor'], registry.get_global_registry())
103+
assert isinstance(dynamic_field, Dynamic)
104+
graphene_type = dynamic_field.get_type()
105+
assert graphene_type is None
106+
107+
93108
def test_should_list_of_reference_convert_list():
94109

95110
class A(MongoengineObjectType):
96111

97112
class Meta:
98113
model = Article
99114

100-
graphene_field = convert_mongoengine_field(Reporter._fields['articles'], A._meta.registry)
115+
graphene_field = convert_mongoengine_field(
116+
Reporter._fields['articles'], A._meta.registry)
101117
assert isinstance(graphene_field, graphene.List)
102118
dynamic_field = graphene_field.get_type()
103119
assert dynamic_field._of_type == A
@@ -110,7 +126,8 @@ class E(MongoengineObjectType):
110126
class Meta:
111127
model = EmbeddedArticle
112128

113-
graphene_field = convert_mongoengine_field(Reporter._fields['embedded_articles'], E._meta.registry)
129+
graphene_field = convert_mongoengine_field(
130+
Reporter._fields['embedded_articles'], E._meta.registry)
114131
assert isinstance(graphene_field, graphene.List)
115132
dynamic_field = graphene_field.get_type()
116133
assert dynamic_field._of_type == E
@@ -123,26 +140,30 @@ class E(MongoengineObjectType):
123140
class Meta:
124141
model = EmbeddedArticle
125142

126-
graphene_field = convert_mongoengine_field(Reporter._fields['embedded_list_articles'], E._meta.registry)
143+
graphene_field = convert_mongoengine_field(
144+
Reporter._fields['embedded_list_articles'], E._meta.registry)
127145
assert isinstance(graphene_field, graphene.List)
128146
dynamic_field = graphene_field.get_type()
129147
assert dynamic_field._of_type == E
130148

131149

132150
def test_should_self_reference_convert_dynamic():
151+
133152
class P(MongoengineObjectType):
134153

135154
class Meta:
136155
model = Player
137156
interfaces = (Node,)
138157

139-
dynamic_field = convert_mongoengine_field(Player._fields['opponent'], P._meta.registry)
158+
dynamic_field = convert_mongoengine_field(
159+
Player._fields['opponent'], P._meta.registry)
140160
assert isinstance(dynamic_field, Dynamic)
141161
graphene_type = dynamic_field.get_type()
142162
assert isinstance(graphene_type, graphene.Field)
143163
assert graphene_type.type == P
144164

145-
graphene_field = convert_mongoengine_field(Player._fields['players'], P._meta.registry)
165+
graphene_field = convert_mongoengine_field(
166+
Player._fields['players'], P._meta.registry)
146167
assert isinstance(graphene_field, MongoengineConnectionField)
147168

148169

@@ -158,7 +179,8 @@ class P(MongoengineObjectType):
158179
class Meta:
159180
model = Player
160181

161-
graphene_field = convert_mongoengine_field(Player._fields['players'], P._meta.registry)
182+
graphene_field = convert_mongoengine_field(
183+
Player._fields['players'], P._meta.registry)
162184
assert isinstance(graphene_field, graphene.List)
163185
dynamic_field = graphene_field.get_type()
164186
assert dynamic_field._of_type == P

graphene_mongo/tests/test_fields.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import pytest
2-
31
from ..fields import MongoengineConnectionField
42
from .types import ArticleNode
53

graphene_mongo/tests/test_query.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,26 @@
33
import graphene
44

55
from .fixtures import setup_fixtures
6-
from .models import Article, Editor, Player, Reporter
7-
from .types import (ArticleNode, ArticleType,
8-
EditorNode, EditorType,
9-
PlayerNode, PlayerType,
10-
ReporterNode, ReporterType)
11-
from ..fields import MongoengineConnectionField
6+
from .models import Editor, Player, Reporter
7+
from .types import (EditorType,
8+
PlayerType,
9+
ReporterType)
1210

1311
setup_fixtures()
1412

1513

1614
def test_should_query_editor():
1715

1816
class Query(graphene.ObjectType):
19-
editor = graphene.Field(EditorType)
20-
editors = graphene.List(EditorType)
2117

22-
def resolve_editor(self, *args, **kwargs):
23-
return Editor.objects.first()
18+
editor = graphene.Field(EditorType)
19+
editors = graphene.List(EditorType)
2420

25-
def resolve_editors(self, *args, **kwargs):
26-
return list(Editor.objects.all())
21+
def resolve_editor(self, *args, **kwargs):
22+
return Editor.objects.first()
23+
24+
def resolve_editors(self, *args, **kwargs):
25+
return list(Editor.objects.all())
2726

2827
query = '''
2928
query EditorQuery {
@@ -147,7 +146,7 @@ def resolve_editors(self, *args, **kwargs):
147146
}
148147
'''
149148
expected = {
150-
'editors':[
149+
'editors': [
151150
{
152151
'firstName': 'Penny',
153152
'lastName': 'Hardaway'

graphene_mongo/tests/test_relay_query.py

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

77
from .fixtures import setup_fixtures
8-
from .models import Article, Editor, Player, Reporter
9-
from .types import (ArticleNode, ArticleType,
10-
EditorNode, EditorType,
11-
PlayerNode, PlayerType,
12-
ReporterNode, ReporterType,
13-
ChildNode, ChildType)
8+
from .models import Article, Reporter
9+
from .types import (ArticleNode,
10+
EditorNode,
11+
PlayerNode,
12+
ReporterNode,
13+
ChildNode,)
1414
from ..fields import MongoengineConnectionField
1515

1616
setup_fixtures()

graphene_mongo/tests/test_types.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class Meta:
2828
model = EmbeddedArticle
2929
interfaces = (Node,)
3030

31+
3132
class Character(MongoengineObjectType):
3233

3334
class Meta:
@@ -72,6 +73,7 @@ def test_objecttype_registered():
7273
def test_mongoengine_inheritance():
7374
assert issubclass(Son._meta.model, Dad._meta.model)
7475

76+
7577
def test_node_replacedfield():
7678
idfield = Human._meta.fields['pub_date']
7779
assert isinstance(idfield, Field)
@@ -112,7 +114,6 @@ class Meta:
112114
model = Article
113115
only_fields = ('headline')
114116

115-
116117
fields = set(A._meta.fields.keys())
117118
assert fields == set(['headline'])
118119

@@ -125,4 +126,3 @@ class Meta:
125126
exclude_fields = ('headline')
126127

127128
assert 'headline' not in list(A._meta.fields.keys())
128-

graphene_mongo/tests/test_utils.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
import pytest
2-
from mongoengine import Document
3-
4-
51
from ..utils import (
62
get_model_fields, is_valid_mongoengine_model
73
)
@@ -14,6 +10,20 @@ def test_get_model_fields_no_duplication():
1410
assert len(reporter_fields) == len(reporter_name_set)
1511

1612

13+
def test_get_model_fields_excluding():
14+
reporter_fields = get_model_fields(Reporter, excluding=[
15+
'first_name', 'last_name'])
16+
reporter_name_set = set(reporter_fields)
17+
assert all(field in reporter_name_set for field in [
18+
'id',
19+
'email',
20+
'articles',
21+
'embedded_articles',
22+
'embedded_list_articles',
23+
'awards'
24+
])
25+
26+
1727
def test_get_model_relation_fields():
1828
article_fields = get_model_fields(Article)
1929
assert all(field in set(article_fields) for field in ['editor', 'reporter'])
@@ -23,6 +33,6 @@ def test_get_base_model_fields():
2333
child_fields = get_model_fields(Child)
2434
assert all(field in set(child_fields) for field in ['bar', 'baz'])
2535

36+
2637
def test_is_valid_mongoengine_mode():
2738
assert is_valid_mongoengine_model(Reporter)
28-

graphene_mongo/tests/utils.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,3 @@ def inner(*args, **kwargs):
1414
registry.registry = old
1515
return retval
1616
return inner
17-

0 commit comments

Comments
 (0)