Fix Credo Design in test support and member index test

Add aliases in fixtures, conn_case, data_case. Use aliases
in index_test.exs. Remove empty placeholder test files.
This commit is contained in:
Moritz 2026-03-03 19:04:07 +01:00
parent 7a8b069834
commit e537f4eb31
Signed by: moritz
GPG key ID: 1020A035E5DD0824
6 changed files with 132 additions and 118 deletions

View file

@ -1,11 +1,13 @@
defmodule Mv.Fixtures do
@moduledoc """
Shared test fixtures for consistent test data creation.
This module provides factory functions for creating test data across
different test suites, ensuring consistency and reducing duplication.
"""
alias Mv.Accounts
alias Mv.Authorization
alias Mv.Helpers.SystemActor
alias Mv.Membership
@doc """
Creates a member with default or custom attributes.
@ -27,7 +29,7 @@ defmodule Mv.Fixtures do
"""
def member_fixture(attrs \\ %{}) do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
system_actor = SystemActor.get_system_actor()
attrs
|> Enum.into(%{
@ -35,7 +37,7 @@ defmodule Mv.Fixtures do
last_name: "Member",
email: "test#{System.unique_integer([:positive])}@example.com"
})
|> Mv.Membership.create_member(actor: system_actor)
|> Membership.create_member(actor: system_actor)
|> case do
{:ok, member} -> member
{:error, error} -> raise "Failed to create member: #{inspect(error)}"
@ -66,13 +68,13 @@ defmodule Mv.Fixtures do
"""
def user_fixture(attrs \\ %{}) do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
system_actor = SystemActor.get_system_actor()
attrs
|> Enum.into(%{
email: "user#{System.unique_integer([:positive])}@example.com"
})
|> Mv.Accounts.create_user(actor: system_actor)
|> Accounts.create_user(actor: system_actor)
|> case do
{:ok, user} -> user
{:error, error} -> raise "Failed to create user: #{inspect(error)}"
@ -123,10 +125,10 @@ defmodule Mv.Fixtures do
"""
def role_fixture(permission_set_name) do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
system_actor = SystemActor.get_system_actor()
role_name = "Test Role #{permission_set_name} #{System.unique_integer([:positive])}"
case Mv.Authorization.create_role(
case Authorization.create_role(
%{
name: role_name,
description: "Test role for #{permission_set_name}",
@ -157,7 +159,7 @@ defmodule Mv.Fixtures do
"""
def user_with_role_fixture(permission_set_name \\ "admin", user_attrs \\ %{}) do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
system_actor = SystemActor.get_system_actor()
# Create role with permission set
role = role_fixture(permission_set_name)
@ -168,7 +170,7 @@ defmodule Mv.Fixtures do
|> Enum.into(%{
email: "user#{System.unique_integer([:positive])}@example.com"
})
|> Mv.Accounts.create_user(actor: system_actor)
|> Accounts.create_user(actor: system_actor)
# Assign role to user
{:ok, user} =
@ -178,7 +180,7 @@ defmodule Mv.Fixtures do
|> Ash.update(actor: system_actor)
# Reload user with role preloaded (critical for authorization!)
{:ok, user_with_role} = Ash.load(user, :role, domain: Mv.Accounts, actor: system_actor)
{:ok, user_with_role} = Ash.load(user, :role, domain: Accounts, actor: system_actor)
user_with_role
end
@ -284,14 +286,14 @@ defmodule Mv.Fixtures do
"""
def group_fixture(attrs \\ %{}) do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
system_actor = SystemActor.get_system_actor()
attrs
|> Enum.into(%{
name: "Test Group #{System.unique_integer([:positive])}",
description: "Test description"
})
|> Mv.Membership.create_group(actor: system_actor)
|> Membership.create_group(actor: system_actor)
|> case do
{:ok, group} -> group
{:error, error} -> raise "Failed to create group: #{inspect(error)}"