Authorization Domain and Role Resource closes #321 #322

Merged
moritz merged 18 commits from feature/321_authorization_domain into main 2026-01-06 19:22:57 +01:00
Showing only changes of commit 73763b1f58 - Show all commits

View file

@ -53,7 +53,7 @@ defmodule Mv.Authorization.RoleTest do
assert {:error, %Ash.Error.Invalid{errors: errors}} =
Authorization.destroy_role(system_role)
message = error_message(errors, nil)
message = error_message(errors, :is_system_role)
assert message =~ "Cannot delete system role"
end
@ -84,14 +84,15 @@ defmodule Mv.Authorization.RoleTest do
end
# Helper function for error evaluation
# When field is nil, returns first error message (for errors without specific field)
defp error_message(errors, field) when is_nil(field) do
# When field is nil, returns first error message for errors without specific field
defp error_message(errors, nil) do
errors
|> Enum.reject(fn err -> Map.has_key?(err, :field) end)
|> Enum.map(&Map.get(&1, :message, ""))
|> List.first() || ""
end
defp error_message(errors, field) do
defp error_message(errors, field) when is_atom(field) do
errors
|> Enum.filter(fn err -> Map.get(err, :field) == field end)
|> Enum.map(&Map.get(&1, :message, ""))