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
|
end
|
||||||
|
|
||||||
@spec serialize_range(PgRanges.DateRange.t()) :: String.t()
|
@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}),
|
defp serialize_range(%PgRanges.DateRange{lower: start_range, upper: end_range}),
|
||||||
do: serialize_range([start_range, 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, nil]), do: "#{Date.to_iso8601(start_range)},"
|
||||||
|
|
||||||
defp serialize_range([start_range, end_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
|
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,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], nil])
|
||||||
|
assert "1978-12-15," == serialize(:date_range, [~D[1978-12-15], :unbound])
|
||||||
end
|
end
|
||||||
|
|
||||||
test "serialize a postgres range as a list of ISO8601 date strings" do
|
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]))
|
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], nil))
|
||||||
|
assert "1978-12-15," == serialize(:date_range, DateRange.new(~D[1978-12-15], :unbound))
|
||||||
end
|
end
|
||||||
|
|
||||||
test "can be parsed from a string of ISO8601" do
|
test "can be parsed from a string of ISO8601" do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user