diff --git a/test/manual_update_test.exs b/test/manual_update_test.exs index 753224b..c41445e 100644 --- a/test/manual_update_test.exs +++ b/test/manual_update_test.exs @@ -7,11 +7,21 @@ defmodule AshPostgres.ManualUpdateTest do |> Ash.Changeset.new(%{title: "match"}) |> AshPostgres.Test.Api.create!() + AshPostgres.Test.Comment + |> Ash.Changeset.new(%{title: "_"}) + |> Ash.Changeset.manage_relationship(:post, post, type: :append_and_remove) + |> AshPostgres.Test.Api.create!() + post = post |> Ash.Changeset.for_update(:manual_update) |> AshPostgres.Test.Api.update!() assert post.title == "manual" + + # The manual update has a call to Ash.Changeset.load that should + # cause the comments to be loaded + assert Ash.Resource.loaded?(post, :comments) + assert Enum.count(post.comments) == 1 end end diff --git a/test/support/resources/post.ex b/test/support/resources/post.ex index f97d1d2..bffae75 100644 --- a/test/support/resources/post.ex +++ b/test/support/resources/post.ex @@ -453,6 +453,7 @@ defmodule AshPostgres.Test.Post.ManualUpdate do changeset.data |> Ash.Changeset.for_update(:update, changeset.attributes) |> Ash.Changeset.force_change_attribute(:title, "manual") + |> Ash.Changeset.load(:comments) |> AshPostgres.Test.Api.update!() } end