ash_postgres/test/multi_domain_calculations_test.exs
2024-07-13 16:06:52 -04:00

28 lines
857 B
Elixir

defmodule AshPostgres.Test.MultiDomainCalculationsTest do
use AshPostgres.RepoCase, async: false
require Ash.Query
test "total is returned correctly" do
item =
AshPostgres.Test.MultiDomainCalculations.DomainOne.Item
|> Ash.Changeset.for_create(:create, %{})
|> Ash.create!()
other_item =
AshPostgres.Test.MultiDomainCalculations.DomainTwo.OtherItem
|> Ash.Changeset.for_create(:create, %{item_id: item.id})
|> Ash.create!()
for i <- 0..2 do
AshPostgres.Test.MultiDomainCalculations.DomainTwo.SubItem
|> Ash.Changeset.for_create(:create, %{other_item_id: other_item.id, amount: i})
|> Ash.create!()
end
assert %{total_amount: 3} =
Ash.read!(AshPostgres.Test.MultiDomainCalculations.DomainOne.Item,
load: [:total_amount]
)
end
end