commit 1facaa5ef30ca15d94292a409eeb9314c4923870
parent 909eab4307773dc5c3a09065cd7fb66481f90d4f
Author: srfsh <dev@srf.sh>
Date: Tue, 13 Sep 2022 20:31:51 +0300
Zenflows{,Test}.VF.Proposal: fix created
Let it use the extracted timestamp from its ID.
Diffstat:
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/zenflows/vf/proposal/resolv.ex b/src/zenflows/vf/proposal/resolv.ex
@@ -66,6 +66,10 @@ def delete_proposal(%{id: id}, _) do
end
end
+def created(%{id: id}, _, _) do
+ Zenflows.DB.ID.ts(id)
+end
+
def eligible_location(prop, _, _) do
prop = Domain.preload(prop, :eligible_location)
{:ok, prop.eligible_location}
diff --git a/src/zenflows/vf/proposal/type.ex b/src/zenflows/vf/proposal/type.ex
@@ -59,7 +59,7 @@ object :proposal do
field :unit_based, :boolean
@desc @created
- field :inserted_at, :datetime, name: "created"
+ field :created, non_null(:datetime), resolve: &Resolv.created/3
@desc @eligible_location
field :eligible_location, :spatial_thing, resolve: &Resolv.eligible_location/3
diff --git a/test/vf/proposal/type.test.exs b/test/vf/proposal/type.test.exs
@@ -40,6 +40,7 @@ fragment proposal on Proposal {
hasBeginning
hasEnd
unitBased
+ created
eligibleLocation {id}
}
"""
@@ -59,6 +60,8 @@ describe "Query" do
assert data["note"] == new.note
assert data["unitBased"] == new.unit_based
assert data["eligibleLocation"]["id"] == new.eligible_location_id
+ assert {:ok, created, 0} = DateTime.from_iso8601(data["created"])
+ assert DateTime.compare(DateTime.utc_now(), created) != :lt
assert {:ok, has_beginning, 0} = DateTime.from_iso8601(data["hasBeginning"])
assert DateTime.compare(DateTime.utc_now(), has_beginning) != :lt
assert {:ok, has_end, 0} = DateTime.from_iso8601(data["hasEnd"])
@@ -150,6 +153,8 @@ describe "Mutation" do
keys = ~w[name note unitBased hasBeginning hasEnd]
assert Map.take(data, keys) == Map.take(params, keys)
assert data["eligibleLocation"]["id"] == params["eligibleLocation"]
+ assert {:ok, created, 0} = DateTime.from_iso8601(data["created"])
+ assert DateTime.compare(DateTime.utc_now(), created) != :lt
end
test "updateProposal", %{params: params, inserted: old} do