fix (graphql): handle unbound range
All checks were successful
continuous-integration/drone/pr Build is passing
All checks were successful
continuous-integration/drone/pr Build is passing
This commit is contained in:
parent
076b41eadd
commit
80ac025b3d
@ -17,10 +17,11 @@ defmodule WabanexWeb.Schema.Types.Custom.DateRange do
|
||||
end
|
||||
|
||||
@spec serialize_range(PgRanges.DateRange.t()) :: String.t()
|
||||
@spec serialize_range(list(DateTime.t() | nil)) :: String.t()
|
||||
@spec serialize_range(list(DateTime.t() | nil | atom)) :: String.t()
|
||||
defp serialize_range(%PgRanges.DateRange{lower: start_range, upper: end_range}),
|
||||
do: serialize_range([start_range, end_range])
|
||||
|
||||
defp serialize_range([start_range, :unbound]), do: serialize_range([start_range, nil])
|
||||
defp serialize_range([start_range, nil]), do: "#{Date.to_iso8601(start_range)},"
|
||||
|
||||
defp serialize_range([start_range, end_range]),
|
||||
|
@ -28,6 +28,7 @@ defmodule WabanexWeb.Schema.Types.Custom.DateRangeTest do
|
||||
test "serialize a list of dates as a list of ISO8601 date strings" do
|
||||
assert "1978-12-15,1980-02-13" == serialize(:date_range, [~D[1978-12-15], ~D[1980-02-13]])
|
||||
assert "1978-12-15," == serialize(:date_range, [~D[1978-12-15], nil])
|
||||
assert "1978-12-15," == serialize(:date_range, [~D[1978-12-15], :unbound])
|
||||
end
|
||||
|
||||
test "serialize a postgres range as a list of ISO8601 date strings" do
|
||||
@ -35,6 +36,7 @@ defmodule WabanexWeb.Schema.Types.Custom.DateRangeTest do
|
||||
serialize(:date_range, DateRange.new(~D[1978-12-15], ~D[1980-02-13]))
|
||||
|
||||
assert "1978-12-15," == serialize(:date_range, DateRange.new(~D[1978-12-15], nil))
|
||||
assert "1978-12-15," == serialize(:date_range, DateRange.new(~D[1978-12-15], :unbound))
|
||||
end
|
||||
|
||||
test "can be parsed from a string of ISO8601" do
|
||||
|
Loading…
x
Reference in New Issue
Block a user