fix (graphql): handle unbound range
All checks were successful
continuous-integration/drone/pr Build is passing

This commit is contained in:
Joao P Dubas 2022-04-26 15:17:17 +00:00
parent 076b41eadd
commit 80ac025b3d
2 changed files with 4 additions and 1 deletions

View File

@ -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]),

View File

@ -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