Add models/user_test.rb

Signed-off-by: Kenji Okimoto <okimoto@clear-code.com>
This commit is contained in:
Kenji Okimoto 2018-07-27 16:26:39 +09:00
parent 9ff7a7ef88
commit fdcf676b51

48
test/models/user_test.rb Normal file
View File

@ -0,0 +1,48 @@
require "test_helper"
class UserTest < ActiveSupport::TestCase
setup do
@user = FactoryBot.build(:user)
end
sub_test_case "password" do
def set_password(current_password, password, password_confirmation)
@user.current_password = current_password
@user.password = password
@user.password_confirmation = password_confirmation
end
sub_test_case "when current password is correct" do
test "password/confirmation is 8 characters" do
set_password(@user.password, "a" * 8, "a" * 8)
assert do
@user.valid?
end
end
test "password is 7 characters" do
set_password(@user.password, "a" * 7, "a" * 7)
assert do
!@user.valid?
end
assert_equal([:password], @user.errors.keys)
end
test "password != password_confirmation" do
set_password(@user.password, "a" * 8, "b" * 8)
assert do
!@user.valid?
end
assert_equal([:password], @user.errors.keys)
end
end
test "current_password is wrong" do
set_password("invalid_password", "a" * 8, "a" * 8)
assert do
!@user.valid?
end
assert_equal([:current_password], @user.errors.keys)
end
end
end