Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions test/ash_paper_trail_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end

test "a new version is created on a bulk update with enumerable" do
Expand Down Expand Up @@ -169,7 +169,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_action_type)
|> TestHelper.sort_versions()
end

test "a new version is created on a bulk update with enumerable and after_transaction" do
Expand Down Expand Up @@ -198,7 +198,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_action_type)
|> TestHelper.sort_versions()
end

test "a new version is created on a bulk update with query" do
Expand Down Expand Up @@ -247,7 +247,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_action_type)
|> TestHelper.sort_versions()
end

test "the action name is stored" do
Expand Down Expand Up @@ -357,7 +357,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end

test "a new version is created on destroy with enumerable" do
Expand Down Expand Up @@ -388,7 +388,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end

test "a new version is created on destroy with query" do
Expand Down Expand Up @@ -421,7 +421,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end
end

Expand Down Expand Up @@ -453,7 +453,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.UpsertPost.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end

test "can be set to `false` to generate versions even when nothing has changed" do
Expand All @@ -478,7 +478,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.BlogPost.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end

test "if set to `false` and the context `:skip_version_when_unchanged?` is set to `true`, a version is not created" do
Expand All @@ -500,7 +500,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.BlogPost.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end
end

Expand Down Expand Up @@ -603,7 +603,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
)
end
end
Expand Down Expand Up @@ -633,7 +633,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end

describe ":primary_key_type options" do
Expand Down Expand Up @@ -675,7 +675,7 @@ defmodule AshPaperTrailTest do

assert :ok = Articles.Article.destroy!(article)

versions = Ash.read!(Articles.Article.Version) |> Enum.sort_by(& &1.version_inserted_at)
versions = Ash.read!(Articles.Article.Version) |> TestHelper.sort_versions()

assert [
%{
Expand Down Expand Up @@ -819,7 +819,7 @@ defmodule AshPaperTrailTest do

versions =
Ash.read!(Posts.Post.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()

assert [
%{
Expand Down Expand Up @@ -908,7 +908,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.UpsertPost.Version)
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end

test "upsert with only_when_changed? false creates version even when unchanged" do
Expand All @@ -933,7 +933,7 @@ defmodule AshPaperTrailTest do
}
] =
Ash.read!(Posts.BlogPost.Version, tenant: "acme")
|> Enum.sort_by(& &1.version_inserted_at)
|> TestHelper.sort_versions()
end

test "upsert with skip_version_when_unchanged? context doesn't create version when unchanged" do
Expand Down
16 changes: 14 additions & 2 deletions test/test_helper.exs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,21 @@ ExUnit.start()

defmodule TestHelper do
def last_version_changes(domain, version_resource) do
Ash.read!(version_resource, domain: domain)
|> Enum.sort_by(& &1.version_inserted_at)
version_resource
|> Ash.read!(domain: domain)
|> sort_versions()
|> List.last()
|> Map.get(:changes)
end

def sort_versions(versions) do
Enum.sort_by(versions, fn v ->
{
Map.get(v, :version_source_id),
Map.get(v, :version_action_type),
Map.get(v, :version_action_name),
Map.get(v, :version_inserted_at)
}
end)
end
end