Guest User

Untitled

a guest
Jan 22nd, 2018
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. describe User do
  2.  
  3. before(:each) do
  4. @attr = { :name => "Example User", :email => "user@example.com" }
  5. end
  6.  
  7. it "should create a new instance given valid attributes" do
  8. User.create!(@attr)
  9. end
  10.  
  11. it "should require a name" do
  12. no_name_user = User.new(@attr.merge(:name => ""))
  13. no_name_user.should_not be_valid
  14. end
  15. end
  16.  
  17. it "should require an email address" do
  18. no_email_user = User.new(@attr.merge(:email => ""))
  19. no_email_user.should_not be_valid
  20. end
  21. end
  22.  
  23. it "should reject names that are too long" do
  24. long_name = "a" * 51
  25. long_name_user = User.new(@attr.merge(:name => long_name))
  26. long_name_user.should_not be_valid
  27. end
  28. end
  29.  
  30. it "should accept valid email addresses" do
  31. addresses = %w[user@foo.com THE_USER@foo.bar.org first.last@foo.jp]
  32. addresses.each do |address|
  33. valid_email_user = User.new(@attr.merge(:email => address))
  34. valid_email_user.should be_valid
  35. end
  36. end
  37.  
  38. it "should reject invalid email addresses" do
  39. addresses = %w[user@foo,com user_at_foo.org example.user@foo.]
  40. addresses.each do |address|
  41. invalid_email_user = User.new(@attr.merge(:email => address))
  42. invalid_email_user.should_not be_valid
  43. end
  44. end
  45. end
  46.  
  47. it "should reject duplicate email addresses" do
  48. # Put a user with given email address into the database.
  49. User.create!(@attr)
  50. user_with_duplicate_email = User.new(@attr)
  51. user_with_duplicate_email.should_not be_valid
  52. end
  53. end
  54.  
  55. it "should reject email addresses identical up to case" do
  56. upcased_email = @attr[:email].upcase
  57. User.create!(@attr.merge(:email => upcased_email))
  58. user_with_duplicate_email = User.new(@attr)
  59. user_with_duplicate_email.should_not be_valid
  60. end
  61. end
Add Comment
Please, Sign In to add comment