2
2
3
3
import pytz
4
4
5
- from ..datetime import DateTime , Time
5
+ from ..datetime import DateTime , Date , Time
6
6
from ..objecttype import ObjectType
7
7
from ..schema import Schema
8
8
9
9
10
10
class Query (ObjectType ):
11
11
datetime = DateTime (_in = DateTime (name = 'in' ))
12
+ date = Date (_in = Date (name = 'in' ))
12
13
time = Time (_at = Time (name = 'at' ))
13
14
14
15
def resolve_datetime (self , info , _in = None ):
15
16
return _in
16
17
18
+ def resolve_date (self , info , _in = None ):
19
+ return _in
20
+
17
21
def resolve_time (self , info , _at = None ):
18
22
return _at
19
23
@@ -30,6 +34,15 @@ def test_datetime_query():
30
34
assert result .data == {'datetime' : isoformat }
31
35
32
36
37
+ def test_datetime_query ():
38
+ now = datetime .datetime .now ().replace (tzinfo = pytz .utc ).date ()
39
+ isoformat = now .isoformat ()
40
+
41
+ result = schema .execute ('''{ date(in: "%s") }''' % isoformat )
42
+ assert not result .errors
43
+ assert result .data == {'date' : isoformat }
44
+
45
+
33
46
def test_time_query ():
34
47
now = datetime .datetime .now ().replace (tzinfo = pytz .utc )
35
48
time = datetime .time (now .hour , now .minute , now .second , now .microsecond ,
@@ -52,6 +65,17 @@ def test_datetime_query_variable():
52
65
assert result .data == {'datetime' : isoformat }
53
66
54
67
68
+ def test_date_query_variable ():
69
+ now = datetime .datetime .now ().replace (tzinfo = pytz .utc ).date ()
70
+ isoformat = now .isoformat ()
71
+
72
+ result = schema .execute (
73
+ '''query Test($date: Date){ date(in: $date) }''' ,
74
+ variable_values = {'date' : isoformat })
75
+ assert not result .errors
76
+ assert result .data == {'date' : isoformat }
77
+
78
+
55
79
def test_time_query_variable ():
56
80
now = datetime .datetime .now ().replace (tzinfo = pytz .utc )
57
81
time = datetime .time (now .hour , now .minute , now .second , now .microsecond ,
0 commit comments