@@ -2,6 +2,7 @@ package graphql.scalars.datetime
2
2
3
3
import graphql.language.StringValue
4
4
import graphql.scalars.ExtendedScalars
5
+ import graphql.schema.CoercingParseLiteralException
5
6
import graphql.schema.CoercingParseValueException
6
7
import graphql.schema.CoercingSerializeException
7
8
import spock.lang.Specification
@@ -28,6 +29,7 @@ class DateTimeScalarTest extends Specification {
28
29
" 1985-04-12T23:20:50.52Z" | mkOffsetDT(" 1985-04-12T23:20:50.52Z" )
29
30
" 1996-12-19T16:39:57-08:00" | mkOffsetDT(" 1996-12-19T16:39:57-08:00" )
30
31
" 1937-01-01T12:00:27.87+00:20" | mkOffsetDT(" 1937-01-01T12:00:27.87+00:20" )
32
+ " 2022-11-24T01:00:01.02+00:00" | mkOffsetDT(" 2022-11-24T01:00:01.02+00:00" )
31
33
mkOffsetDT(year : 1980 , hour : 3 ) | mkOffsetDT(" 1980-08-08T03:10:09+10:00" )
32
34
mkZonedDT(year : 1980 , hour : 3 ) | mkOffsetDT(" 1980-08-08T03:10:09+10:00" )
33
35
}
@@ -45,6 +47,7 @@ class DateTimeScalarTest extends Specification {
45
47
" 1996-12-19T16:39:57-08:00" | mkStringValue(" 1996-12-19T16:39:57.000-08:00" )
46
48
" 1937-01-01T12:00:27.87+00:20" | mkStringValue(" 1937-01-01T12:00:27.870+00:20" )
47
49
" 1937-01-01T12:00+00:20" | mkStringValue(" 1937-01-01T12:00:00.000+00:20" )
50
+ " 2022-11-24T01:00:01.02+00:00" | mkStringValue(" 2022-11-24T01:00:01.020Z" )
48
51
mkOffsetDT(year : 1980 , hour : 3 ) | mkStringValue(" 1980-08-08T03:10:09.000+10:00" )
49
52
mkZonedDT(year : 1980 , hour : 3 ) | mkStringValue(" 1980-08-08T03:10:09.000+10:00" )
50
53
}
@@ -59,6 +62,7 @@ class DateTimeScalarTest extends Specification {
59
62
where :
60
63
input | expectedValue
61
64
" 1985-04-12" | CoercingParseValueException
65
+ " 2022-11-24T01:00:01.02-00:00" | CoercingParseValueException
62
66
mkLocalDT(year : 1980 , hour : 3 ) | CoercingParseValueException
63
67
666 || CoercingParseValueException
64
68
}
@@ -85,6 +89,7 @@ class DateTimeScalarTest extends Specification {
85
89
" 1985-04-12T23:20:50.52Z" | " 1985-04-12T23:20:50.520Z"
86
90
" 1996-12-19T16:39:57-08:00" | " 1996-12-19T16:39:57.000-08:00"
87
91
" 1937-01-01T12:00:27.87+00:20" | " 1937-01-01T12:00:27.870+00:20"
92
+ " 2022-11-24T01:00:01.02+00:00" | " 2022-11-24T01:00:01.020Z"
88
93
mkOffsetDT(year : 1980 , hour : 3 ) | " 1980-08-08T03:10:09.000+10:00"
89
94
mkZonedDT(year : 1980 , hour : 3 ) | " 1980-08-08T03:10:09.000+10:00"
90
95
}
@@ -98,8 +103,21 @@ class DateTimeScalarTest extends Specification {
98
103
where :
99
104
input | expectedValue
100
105
" 1985-04-12" | CoercingSerializeException
106
+ " 2022-11-24T01:00:01.02-00:00" | CoercingSerializeException
101
107
mkLocalDT(year : 1980 , hour : 3 ) | CoercingSerializeException
102
108
666 || CoercingSerializeException
103
109
}
104
110
111
+ @Unroll
112
+ def " datetime parseLiteral bad inputs" () {
113
+
114
+ when :
115
+ coercing. parseLiteral(input)
116
+ then :
117
+ thrown(expectedValue)
118
+ where :
119
+ input | expectedValue
120
+ " 2022-11-24T01:00:01.02-00:00" | CoercingParseLiteralException
121
+ }
122
+
105
123
}
0 commit comments