chore: movs display name helper to won helper module
This commit is contained in:
parent
29a953c038
commit
9f97515d74
10 changed files with 234 additions and 84 deletions
141
test/mv_web/helpers/member_helpers_test.exs
Normal file
141
test/mv_web/helpers/member_helpers_test.exs
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
defmodule MvWeb.Helpers.MemberHelpersTest do
|
||||
@moduledoc """
|
||||
Tests for the display_name/1 helper function in MemberHelpers.
|
||||
"""
|
||||
use Mv.DataCase, async: true
|
||||
|
||||
alias Mv.Membership.Member
|
||||
alias MvWeb.Helpers.MemberHelpers
|
||||
|
||||
describe "display_name/1" do
|
||||
test "returns full name when both first_name and last_name are present" do
|
||||
member = %Member{
|
||||
first_name: "John",
|
||||
last_name: "Doe",
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "John Doe"
|
||||
end
|
||||
|
||||
test "returns email when both first_name and last_name are nil" do
|
||||
member = %Member{
|
||||
first_name: nil,
|
||||
last_name: nil,
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "returns first_name only when last_name is nil" do
|
||||
member = %Member{
|
||||
first_name: "John",
|
||||
last_name: nil,
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "John"
|
||||
end
|
||||
|
||||
test "returns last_name only when first_name is nil" do
|
||||
member = %Member{
|
||||
first_name: nil,
|
||||
last_name: "Doe",
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "Doe"
|
||||
end
|
||||
|
||||
test "returns email when first_name and last_name are empty strings" do
|
||||
member = %Member{
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "returns email when first_name and last_name are whitespace only" do
|
||||
member = %Member{
|
||||
first_name: " ",
|
||||
last_name: " \t ",
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "trims whitespace from name parts" do
|
||||
member = %Member{
|
||||
first_name: " John ",
|
||||
last_name: " Doe ",
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "John Doe"
|
||||
end
|
||||
|
||||
test "handles one empty string and one nil" do
|
||||
member = %Member{
|
||||
first_name: "",
|
||||
last_name: nil,
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "handles one nil and one empty string" do
|
||||
member = %Member{
|
||||
first_name: nil,
|
||||
last_name: "",
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "handles one whitespace and one nil" do
|
||||
member = %Member{
|
||||
first_name: " ",
|
||||
last_name: nil,
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "handles one valid name and one whitespace" do
|
||||
member = %Member{
|
||||
first_name: "John",
|
||||
last_name: " ",
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "John"
|
||||
end
|
||||
|
||||
test "handles member with only first_name containing whitespace" do
|
||||
member = %Member{
|
||||
first_name: " John ",
|
||||
last_name: nil,
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "John"
|
||||
end
|
||||
|
||||
test "handles member with only last_name containing whitespace" do
|
||||
member = %Member{
|
||||
first_name: nil,
|
||||
last_name: " Doe ",
|
||||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert MemberHelpers.display_name(member) == "Doe"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
||||
defmodule MvWeb.Helpers.MemberHelpersTest do
|
||||
@moduledoc """
|
||||
Tests for the display_name/1 helper function in MemberLive.Index.
|
||||
Tests for the display_name/1 helper function in MemberHelpers.
|
||||
"""
|
||||
use Mv.DataCase, async: true
|
||||
|
||||
alias Mv.Membership.Member
|
||||
alias MvWeb.MemberLive.Index
|
||||
alias MvWeb.Helpers.MemberHelpers
|
||||
|
||||
describe "display_name/1" do
|
||||
test "returns full name when both first_name and last_name are present" do
|
||||
|
|
@ -15,7 +15,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "John Doe"
|
||||
assert MemberHelpers.display_name(member) == "John Doe"
|
||||
end
|
||||
|
||||
test "returns email when both first_name and last_name are nil" do
|
||||
|
|
@ -25,7 +25,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "john@example.com"
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "returns first_name only when last_name is nil" do
|
||||
|
|
@ -35,7 +35,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "John"
|
||||
assert MemberHelpers.display_name(member) == "John"
|
||||
end
|
||||
|
||||
test "returns last_name only when first_name is nil" do
|
||||
|
|
@ -45,7 +45,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "Doe"
|
||||
assert MemberHelpers.display_name(member) == "Doe"
|
||||
end
|
||||
|
||||
test "returns email when first_name and last_name are empty strings" do
|
||||
|
|
@ -55,7 +55,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "john@example.com"
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "returns email when first_name and last_name are whitespace only" do
|
||||
|
|
@ -65,7 +65,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "john@example.com"
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "trims whitespace from name parts" do
|
||||
|
|
@ -75,7 +75,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "John Doe"
|
||||
assert MemberHelpers.display_name(member) == "John Doe"
|
||||
end
|
||||
|
||||
test "handles one empty string and one nil" do
|
||||
|
|
@ -85,7 +85,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "john@example.com"
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "handles one nil and one empty string" do
|
||||
|
|
@ -95,7 +95,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "john@example.com"
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "handles one whitespace and one nil" do
|
||||
|
|
@ -105,7 +105,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "john@example.com"
|
||||
assert MemberHelpers.display_name(member) == "john@example.com"
|
||||
end
|
||||
|
||||
test "handles one valid name and one whitespace" do
|
||||
|
|
@ -115,7 +115,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "John"
|
||||
assert MemberHelpers.display_name(member) == "John"
|
||||
end
|
||||
|
||||
test "handles member with only first_name containing whitespace" do
|
||||
|
|
@ -125,7 +125,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "John"
|
||||
assert MemberHelpers.display_name(member) == "John"
|
||||
end
|
||||
|
||||
test "handles member with only last_name containing whitespace" do
|
||||
|
|
@ -135,7 +135,7 @@ defmodule MvWeb.MemberLive.Index.DisplayNameTest do
|
|||
email: "john@example.com"
|
||||
}
|
||||
|
||||
assert Index.display_name(member) == "Doe"
|
||||
assert MemberHelpers.display_name(member) == "Doe"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue