#はじめに
完全に自分用です。モデルの単体テスト(ユーザー登録)の一癖あるコードを残しておきます。
###メールアドレス
user_spec.rb
it 'メールアドレスは、@を含む必要があること' do
@user.email.delete!('@')
@user.valid?
expect(@user.errors.full_messages).to include("メールアドレスは不正な値です")
end
###パスワード
user_spec.rb
it 'パスワードは、6文字以上での入力が必須であること' do
@user.password = '12345'
@user.password_confirmation = @user.password
@user.valid?
expect(@user.errors.full_messages).to include("パスワードは6文字以上で入力してください")
end
user_spec.rb
it 'パスワードは、半角英字がないとでの入力が必須であること' do
@user.password = '123456'
@user.password_confirmation = @user.password
@user.valid?
expect(@user.errors.full_messages).to include("パスワードは不正な値です")
end
user_spec.rb
it 'パスワードは、半角数字がないとでの入力が必須であること' do
@user.password = 'abcdef'
@user.password_confirmation = @user.password
@user.valid?
expect(@user.errors.full_messages).to include("パスワードは不正な値です")
end
user_spec.rb
it 'パスワードは全角数字では登録できないこと' do
@user.password = '12345a'
@user.password_confirmation = @user.password
@user.valid?
expect(@user.errors.full_messages).to include("パスワードは不正な値です")
end
user_spec.rb
it 'パスワードとパスワード(かくにん)、値の一致が必須であること' do
@user.password = '12345a'
@user.password_confirmation = '12345b'
@user.valid?
expect(@user.errors.full_messages).to include("パスワード(かくにん)とパスワードの入力が一致しません")
end