Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RSpec.describe User, type: :model do
- context 'validation' do
- let (:user) { FactoryBot.build(:user) }
- subject { user.save }
- it "is valid with a name, email, password, and password_confirmation" do
- is_expected.to eq true
- end
- # 名がなければ無効な状態であること
- it "is invalid without a name" do
- user.name = ''
- is_expected.to eq false
- end
- # メールアドレスがなければ無効な状態であること
- it "is invalid without an email" do
- user.email = ''
- is_expected.to eq false
- end
- # パスワードがなければ無効な状態であること
- it "is invalid without a password" do
- user.password = nil
- is_expected.to eq false
- end
- # ユーザー名が重複する場合は無効な状態であること
- it "is invalid with a duplicate name" do
- original_user = FactoryBot.create(:user)
- user.name = original_user.name
- is_expected.to eq false
- end
- # メールアドレスが不正な形式であれば無効な状態であること
- it "is invalid with an invalid email format" do
- user.email = 'invalid_email@comcomcom'
- is_expected.to eq false
- end
- # パスワードが確認用と一致しなければ無効な状態であること
- it "is invalid when password doesn't match confirmation" do
- user.password = 'example_password'
- user.password_confirmation = 'nonidentical_password'
- is_expected.to eq false
- end
- end
- end
Add Comment
Please, Sign In to add comment