39 lines
1.2 KiB
Ruby
39 lines
1.2 KiB
Ruby
require "test_helper"
|
|
|
|
class User::NamedTest < ActiveSupport::TestCase
|
|
test "initials" do
|
|
assert_initials "M", name: "Michael"
|
|
assert_initials "SD", name: "Salvador Dali"
|
|
assert_initials "LMM", name: "Lin-Manuel Miranda"
|
|
assert_initials "OCD", name: "O'Conor Díez"
|
|
assert_initials "ACG", name: "Anne Christine García"
|
|
assert_initials "ÁL", name: "Ángela López"
|
|
end
|
|
|
|
test "first name" do
|
|
assert_first_name "Michael", "Michael"
|
|
assert_first_name "Salvador", "Salvador Dali"
|
|
assert_first_name "Lin-Manuel", "Lin-Manuel Miranda"
|
|
assert_first_name "Anne", "Anne Christine García"
|
|
end
|
|
|
|
test "last name" do
|
|
assert_last_name "Dali", "Salvador Dali"
|
|
assert_last_name "Miranda", "Lin_Manuel Miranda"
|
|
assert_last_name "Christine García", "Anne Christine García"
|
|
end
|
|
|
|
private
|
|
def assert_initials(expected, **attributes)
|
|
assert_equal expected, User.new(attributes).initials
|
|
end
|
|
|
|
def assert_first_name(expected, name)
|
|
assert_equal expected, User.new(name: name).first_name
|
|
end
|
|
|
|
def assert_last_name(expected, name)
|
|
assert_equal expected, User.new(name: name).last_name
|
|
end
|
|
end
|