From fdcf676b513f3f50163b453e11ecf4ab7c49a456 Mon Sep 17 00:00:00 2001 From: Kenji Okimoto Date: Fri, 27 Jul 2018 16:26:39 +0900 Subject: [PATCH] Add models/user_test.rb Signed-off-by: Kenji Okimoto --- test/models/user_test.rb | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 test/models/user_test.rb diff --git a/test/models/user_test.rb b/test/models/user_test.rb new file mode 100644 index 0000000..85bbae5 --- /dev/null +++ b/test/models/user_test.rb @@ -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