Guest User

Untitled

a guest
May 16th, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. RSpec.describe User, type: :model do
  2. context 'validation' do
  3. let (:user) { FactoryBot.build(:user) }
  4. subject { user.save }
  5.  
  6. it "is valid with a name, email, password, and password_confirmation" do
  7. is_expected.to eq true
  8. end
  9.  
  10. # 名がなければ無効な状態であること
  11. it "is invalid without a name" do
  12. user.name = ''
  13. is_expected.to eq false
  14. end
  15.  
  16. # メールアドレスがなければ無効な状態であること
  17. it "is invalid without an email" do
  18. user.email = ''
  19. is_expected.to eq false
  20. end
  21.  
  22. # パスワードがなければ無効な状態であること
  23. it "is invalid without a password" do
  24. user.password = nil
  25. is_expected.to eq false
  26. end
  27.  
  28. # ユーザー名が重複する場合は無効な状態であること
  29. it "is invalid with a duplicate name" do
  30. original_user = FactoryBot.create(:user)
  31. user.name = original_user.name
  32. is_expected.to eq false
  33. end
  34.  
  35. # メールアドレスが不正な形式であれば無効な状態であること
  36. it "is invalid with an invalid email format" do
  37. user.email = 'invalid_email@comcomcom'
  38. is_expected.to eq false
  39. end
  40.  
  41. # パスワードが確認用と一致しなければ無効な状態であること
  42. it "is invalid when password doesn't match confirmation" do
  43. user.password = 'example_password'
  44. user.password_confirmation = 'nonidentical_password'
  45. is_expected.to eq false
  46. end
  47. end
  48. end
Add Comment
Please, Sign In to add comment