Skip to content

Commit cfd4add

Browse files
committed
feat: Convert Mongoengine.DateTimeField to graphene.DateTime
1 parent 53fe9e2 commit cfd4add

File tree

4 files changed

+25
-9
lines changed

4 files changed

+25
-9
lines changed

graphene_mongo/converter.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1-
from graphene import (ID, Boolean, Dynamic, Field, Float, Int, List,
2-
NonNull, String, is_node)
1+
from graphene import (
2+
ID,
3+
Boolean,
4+
DateTime,
5+
Dynamic,
6+
Field,
7+
Float,
8+
Int,
9+
List,
10+
NonNull,
11+
String,
12+
is_node
13+
)
314
from graphene.types.json import JSONString
415

516
import mongoengine
@@ -54,8 +65,8 @@ def convert_dict_to_jsonstring(field, registry=None):
5465

5566

5667
@convert_mongoengine_field.register(mongoengine.DateTimeField)
57-
def convert_date_to_string(field, registry=None):
58-
return String(description=field.db_field, required=field.required)
68+
def convert_field_to_datetime(field, registry=None):
69+
return DateTime(description=field.db_field, required=field.required)
5970

6071

6172
@convert_mongoengine_field.register(mongoengine.ListField)

graphene_mongo/tests/setup.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import pytest
2+
3+
from datetime import datetime
24
from .models import (
35
Article, Editor, EmbeddedArticle, Player,
46
Reporter, Child, ProfessorMetadata, ProfessorVector,
@@ -31,9 +33,10 @@ def fixtures():
3133
editor3.save()
3234

3335
Article.drop_collection()
34-
article1 = Article(headline='Hello', editor=editor1)
36+
pub_date = datetime.strptime('2020-01-01', '%Y-%m-%d')
37+
article1 = Article(headline='Hello', editor=editor1, pub_date=pub_date)
3538
article1.save()
36-
article2 = Article(headline='World', editor=editor2)
39+
article2 = Article(headline='World', editor=editor2, pub_date=pub_date)
3740
article2.save()
3841

3942
Reporter.drop_collection()

graphene_mongo/tests/test_converter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ def test_should_float_convert_float():
7070
assert_conversion(mongoengine.FloatField, graphene.Float)
7171

7272

73-
def test_should_date_convert_string():
74-
assert_conversion(mongoengine.DateTimeField, graphene.String)
73+
def test_should_datetime_convert_datetime():
74+
assert_conversion(mongoengine.DateTimeField, graphene.DateTime)
7575

7676

7777
def test_should_dict_convert_json():

graphene_mongo/tests/test_relay_query.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ class Query(graphene.ObjectType):
218218
edges {
219219
node {
220220
headline,
221+
pubDate,
221222
editor {
222223
firstName
223224
}
@@ -234,7 +235,8 @@ class Query(graphene.ObjectType):
234235
'headline': 'World',
235236
'editor': {
236237
'firstName': 'Grant'
237-
}
238+
},
239+
'pubDate': '2020-01-01T00:00:00'
238240
}
239241
}
240242
]

0 commit comments

Comments
 (0)