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:
parent
7a8b069834
commit
e537f4eb31
6 changed files with 132 additions and 118 deletions
|
|
@ -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)}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue