Guest User

Untitled

a guest
Nov 27th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. require 'spec_helper'
  2.  
  3. describe User do
  4.  
  5. before do
  6. @user = User.new(name: "Example User", email: "user@example.com",
  7. password: "foobar", password_confirmation: "foobar")
  8. end
  9.  
  10. subject { @user }
  11.  
  12. it { should respond_to(:name) }
  13. it { should respond_to(:email) }
  14. it { should respond_to(:password_digest) }
  15. it { should respond_to(:password) }
  16. it { should respond_to(:password_confirmation) }
  17.  
  18. it { should be_valid }
  19.  
  20. describe "when name is too long" do
  21. before { @user.name = "a" * 51 }
  22. it { should_not be_valid }
  23. end
  24.  
  25. describe "when name is not present" do
  26. before { @user.name = " " }
  27. it { should_not be_valid }
  28. end
  29.  
  30. describe "when email format is invalid" do
  31. it "should be invalid" do
  32. addresses = %w[user@foo,com user_at_foo.org example.user@foo
  33. foo@bar_baz.com foo@bar+baz.com]
  34. addresses.each do |invalid_address|
  35. @user.email = invalid_address
  36. @user.should_not be_valid
  37. end
  38. end
  39. end
  40.  
  41. describe "when email format is valid" do
  42. it "should be valid" do
  43. addresses = %w[user@foo.COM A_US-ER@f.b.org frst.lst@foo.jp a+b@baz.cn]
  44. addresses.each do |valid_address|
  45. @user.email = valid_address
  46. @user.should be_valid
  47. end
  48. end
  49. end
  50.  
  51. describe "email address with mixed case" do
  52. let(:mixed_case_email) { "Foo@ExAMPle.CoM" }
  53.  
  54. it "should be saved as all lower-case" do
  55. @user.email = mixed_case_email
  56. @user.save
  57. @user.reload.email.should == mixed_case_email.downcase
  58. end
  59. end
Add Comment
Please, Sign In to add comment