@@ -2,6 +2,7 @@ package graphql.scalars.datetime
22
33import graphql.language.StringValue
44import graphql.scalars.ExtendedScalars
5+ import graphql.schema.CoercingParseLiteralException
56import graphql.schema.CoercingParseValueException
67import graphql.schema.CoercingSerializeException
78import spock.lang.Specification
@@ -28,6 +29,7 @@ class DateTimeScalarTest extends Specification {
2829 " 1985-04-12T23:20:50.52Z" | mkOffsetDT(" 1985-04-12T23:20:50.52Z" )
2930 " 1996-12-19T16:39:57-08:00" | mkOffsetDT(" 1996-12-19T16:39:57-08:00" )
3031 " 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" )
3133 mkOffsetDT(year : 1980 , hour : 3 ) | mkOffsetDT(" 1980-08-08T03:10:09+10:00" )
3234 mkZonedDT(year : 1980 , hour : 3 ) | mkOffsetDT(" 1980-08-08T03:10:09+10:00" )
3335 }
@@ -45,6 +47,7 @@ class DateTimeScalarTest extends Specification {
4547 " 1996-12-19T16:39:57-08:00" | mkStringValue(" 1996-12-19T16:39:57.000-08:00" )
4648 " 1937-01-01T12:00:27.87+00:20" | mkStringValue(" 1937-01-01T12:00:27.870+00:20" )
4749 " 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" )
4851 mkOffsetDT(year : 1980 , hour : 3 ) | mkStringValue(" 1980-08-08T03:10:09.000+10:00" )
4952 mkZonedDT(year : 1980 , hour : 3 ) | mkStringValue(" 1980-08-08T03:10:09.000+10:00" )
5053 }
@@ -59,6 +62,7 @@ class DateTimeScalarTest extends Specification {
5962 where :
6063 input | expectedValue
6164 " 1985-04-12" | CoercingParseValueException
65+ " 2022-11-24T01:00:01.02-00:00" | CoercingParseValueException
6266 mkLocalDT(year : 1980 , hour : 3 ) | CoercingParseValueException
6367 666 || CoercingParseValueException
6468 }
@@ -85,6 +89,7 @@ class DateTimeScalarTest extends Specification {
8589 " 1985-04-12T23:20:50.52Z" | " 1985-04-12T23:20:50.520Z"
8690 " 1996-12-19T16:39:57-08:00" | " 1996-12-19T16:39:57.000-08:00"
8791 " 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"
8893 mkOffsetDT(year : 1980 , hour : 3 ) | " 1980-08-08T03:10:09.000+10:00"
8994 mkZonedDT(year : 1980 , hour : 3 ) | " 1980-08-08T03:10:09.000+10:00"
9095 }
@@ -98,8 +103,21 @@ class DateTimeScalarTest extends Specification {
98103 where :
99104 input | expectedValue
100105 " 1985-04-12" | CoercingSerializeException
106+ " 2022-11-24T01:00:01.02-00:00" | CoercingSerializeException
101107 mkLocalDT(year : 1980 , hour : 3 ) | CoercingSerializeException
102108 666 || CoercingSerializeException
103109 }
104110
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+
105123}
0 commit comments