Fix Credo Readability (strict)
- Max line length, implicit try, alias order, zero-arity defs - String sigils, long comments split; redundant blank lines fixed
This commit is contained in:
parent
f0a8dfcc21
commit
81ce204502
48 changed files with 131 additions and 144 deletions
|
|
@ -4,9 +4,9 @@ defmodule MvWeb.AuthorizationTest do
|
|||
"""
|
||||
use ExUnit.Case, async: true
|
||||
|
||||
alias MvWeb.Authorization
|
||||
alias Mv.Membership.Member
|
||||
alias Mv.Accounts.User
|
||||
alias Mv.Membership.Member
|
||||
alias MvWeb.Authorization
|
||||
|
||||
describe "can?/3 with resource atom" do
|
||||
test "returns true when user has permission for resource+action" do
|
||||
|
|
|
|||
|
|
@ -199,7 +199,8 @@ defmodule MvWeb.AuthControllerTest do
|
|||
|
||||
assert to =~ "/auth/user/password/sign_in_with_token"
|
||||
|
||||
# After login, user is redirected to /auth/user/password/sign_in_with_token. Session handling for protected routes should be tested in integration or E2E tests.
|
||||
# After login, user is redirected to /auth/user/password/sign_in_with_token.
|
||||
# Session handling for protected routes should be tested in integration or E2E tests.
|
||||
end
|
||||
|
||||
# Edge cases
|
||||
|
|
|
|||
|
|
@ -177,8 +177,8 @@ defmodule MvWeb.MemberExportControllerTest do
|
|||
assert body =~ "Alice"
|
||||
end
|
||||
|
||||
# Regression: when membership_fee_start_date is not in member_fields, Fee Type must still be exported (append fallback)
|
||||
test "export includes Fee Type when only first_name and membership_fee_type are requested (no start_date)",
|
||||
# Regression: when membership_fee_start_date is not in member_fields, Fee Type must still be exported.
|
||||
test "export includes Fee Type when first_name and membership_fee_type only (no start_date)",
|
||||
%{
|
||||
conn: conn,
|
||||
member1: m1
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ defmodule MvWeb.Helpers.MembershipFeeHelpersTest do
|
|||
|
||||
require Ash.Query
|
||||
|
||||
alias MvWeb.Helpers.MembershipFeeHelpers
|
||||
alias Mv.MembershipFees.CalendarCycles
|
||||
alias MvWeb.Helpers.MembershipFeeHelpers
|
||||
|
||||
setup do
|
||||
system_actor = Mv.Helpers.SystemActor.get_system_actor()
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ defmodule MvWeb.GroupLive.IndexTest do
|
|||
import Phoenix.LiveViewTest
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "mount and display" do
|
||||
test "page renders successfully for admin user", %{conn: conn} do
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ defmodule MvWeb.GroupLive.IntegrationTest do
|
|||
import Ash.Expr
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "complete workflow" do
|
||||
test "create → view via slug → edit → view via slug (slug unchanged)", %{
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ defmodule MvWeb.GroupLive.ShowAccessibilityTest do
|
|||
import Phoenix.LiveViewTest
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "ARIA labels and roles" do
|
||||
test "search input has proper ARIA attributes", %{conn: conn} do
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ defmodule MvWeb.GroupLive.ShowAddMemberTest do
|
|||
import MvWeb.GroupLiveHelpers
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "successful add member" do
|
||||
test "member is added to group after selection and clicking Add", %{conn: conn} do
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ defmodule MvWeb.GroupLive.ShowAddRemoveMembersTest do
|
|||
import Phoenix.LiveViewTest
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "Add Member button visibility" do
|
||||
@tag role: :read_only
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ defmodule MvWeb.GroupLive.ShowAuthorizationTest do
|
|||
import Phoenix.LiveViewTest
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "server-side authorization" do
|
||||
test "add member event handler checks :update permission", %{conn: conn} do
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
import Phoenix.LiveViewTest
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "data consistency" do
|
||||
test "member appears in group after add (verified in database)", %{conn: conn} do
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ defmodule MvWeb.GroupLive.ShowMemberSearchTest do
|
|||
import Phoenix.LiveViewTest
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
# Helper to setup authenticated connection for admin
|
||||
defp setup_admin_conn(conn) do
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ defmodule MvWeb.GroupLive.ShowRemoveMemberTest do
|
|||
import Phoenix.LiveViewTest
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "successful remove member" do
|
||||
test "member is removed from group after clicking Remove", %{conn: conn} do
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ defmodule MvWeb.GroupLive.ShowTest do
|
|||
require Ash.Query
|
||||
use Gettext, backend: MvWeb.Gettext
|
||||
|
||||
alias Mv.Membership
|
||||
alias Mv.Fixtures
|
||||
alias Mv.Membership
|
||||
|
||||
describe "mount and display" do
|
||||
test "page renders successfully", %{conn: conn} do
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ defmodule MvWeb.MemberLive.Index.MembershipFeeStatusTest do
|
|||
"""
|
||||
use Mv.DataCase, async: false
|
||||
|
||||
alias MvWeb.MemberLive.Index.MembershipFeeStatus
|
||||
alias Mv.Membership.Member
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
alias Mv.MembershipFees.MembershipFeeCycle
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
alias MvWeb.MemberLive.Index.MembershipFeeStatus
|
||||
|
||||
require Ash.Query
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ defmodule MvWeb.MemberLive.IndexMembershipFeeStatusTest do
|
|||
|
||||
import Phoenix.LiveViewTest
|
||||
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
alias Mv.MembershipFees.MembershipFeeCycle
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
|
||||
require Ash.Query
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ defmodule MvWeb.MemberLive.IndexTest do
|
|||
import Phoenix.LiveViewTest
|
||||
require Ash.Query
|
||||
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
alias Mv.MembershipFees.MembershipFeeCycle
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
|
||||
# Helper to create a membership fee type (shared across all tests)
|
||||
defp create_fee_type(attrs, actor) do
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ defmodule MvWeb.MemberLive.MembershipFeeIntegrationTest do
|
|||
|
||||
import Phoenix.LiveViewTest
|
||||
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
alias Mv.MembershipFees.MembershipFeeCycle
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
|
||||
require Ash.Query
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ defmodule MvWeb.MemberLive.ShowMembershipFeesTest do
|
|||
|
||||
import Phoenix.LiveViewTest
|
||||
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
alias Mv.MembershipFees.MembershipFeeCycle
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
|
||||
require Ash.Query
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ defmodule MvWeb.Plugs.CheckPagePermissionTest do
|
|||
"""
|
||||
use MvWeb.ConnCase, async: true
|
||||
|
||||
alias MvWeb.Plugs.CheckPagePermission
|
||||
alias Mv.Fixtures
|
||||
alias MvWeb.Plugs.CheckPagePermission
|
||||
|
||||
defp conn_with_user(path, user) do
|
||||
build_conn(:get, path)
|
||||
|
|
@ -46,21 +46,21 @@ defmodule MvWeb.Plugs.CheckPagePermissionTest do
|
|||
end
|
||||
|
||||
describe "dynamic routes" do
|
||||
test "user with \"/members/:id\" permission can access \"/members/123\"" do
|
||||
test ~s(user with "/members/:id" permission can access "/members/123") do
|
||||
user = Fixtures.user_with_role_fixture("read_only")
|
||||
conn = conn_with_user("/members/123", user) |> CheckPagePermission.call([])
|
||||
|
||||
refute conn.halted
|
||||
end
|
||||
|
||||
test "user with \"/members/:id/edit\" permission can access \"/members/456/edit\"" do
|
||||
test ~s(user with "/members/:id/edit" permission can access "/members/456/edit") do
|
||||
user = Fixtures.user_with_role_fixture("normal_user")
|
||||
conn = conn_with_user("/members/456/edit", user) |> CheckPagePermission.call([])
|
||||
|
||||
refute conn.halted
|
||||
end
|
||||
|
||||
test "user with only \"/members/:id\" cannot access \"/members/123/edit\"" do
|
||||
test ~s(user with only "/members/:id" cannot access "/members/123/edit") do
|
||||
user = Fixtures.user_with_role_fixture("read_only")
|
||||
conn = conn_with_user("/members/123/edit", user) |> CheckPagePermission.call([])
|
||||
|
||||
|
|
@ -456,7 +456,8 @@ defmodule MvWeb.Plugs.CheckPagePermissionTest do
|
|||
assert conn.status == 200
|
||||
end
|
||||
|
||||
# Full-router test: session may not preserve member_id; plug logic covered by unit test "own_data user with linked member can access /members/:id/edit (plug direct call)"
|
||||
# Full-router test: session may not preserve member_id; plug logic covered by unit test
|
||||
# "own_data user with linked member can access /members/:id/edit (plug direct call)".
|
||||
@tag role: :member
|
||||
@tag :skip
|
||||
test "GET /members/:id/edit (linked member edit) returns 200 when user has linked member", %{
|
||||
|
|
@ -512,7 +513,8 @@ defmodule MvWeb.Plugs.CheckPagePermissionTest do
|
|||
assert conn.status == 200
|
||||
end
|
||||
|
||||
# Skipped: MemberLive.Show requires membership fee cycle data; plug allows access (page loads then LiveView may error).
|
||||
# Skipped: MemberLive.Show requires membership fee cycle data; plug allows access
|
||||
# (page loads then LiveView may error).
|
||||
@tag role: :member
|
||||
@tag :skip
|
||||
test "GET /members/:id for linked member returns 200", %{conn: conn, current_user: user} do
|
||||
|
|
|
|||
|
|
@ -116,7 +116,8 @@ defmodule MvWeb.UserLive.IndexTest do
|
|||
end
|
||||
|
||||
describe "delete functionality" do
|
||||
# Delete is only on user show page (Danger zone), not on index (per CODE_GUIDELINES: at most one UI smoke test for delete)
|
||||
# Delete is only on user show page (Danger zone), not on index
|
||||
# (per CODE_GUIDELINES: at most one UI smoke test for delete).
|
||||
test "can delete a user from show page", %{conn: conn} do
|
||||
user = create_test_user(%{email: "delete-me@example.com"})
|
||||
conn = conn_with_oidc_user(conn)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue