Guest User

Untitled

a guest
Mar 9th, 2017
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. require 'test_helper'
  2.  
  3. class UserTest < ActiveSupport::TestCase
  4.  
  5. def setup
  6. @user = User.new(fullname: "Example User", email: "user@example.com",
  7. password: "foobar123", password_confirmation: "foobar123")
  8.  
  9. end
  10.  
  11. test "should be valid" do
  12. assert @user.valid?
  13. end
  14. test "name should be present" do
  15. @user.fullname = " "
  16. assert_not @user.valid?
  17. end
  18. test "email should be present" do
  19. @user.email = " "
  20. assert_not @user.valid?
  21. end
  22.  
  23. test "name should not be too long" do
  24. @user.fullname = "a" * 51
  25. assert_not @user.valid?
  26. end
  27. test "email should not be too long" do
  28. @user.email = "a" * 244 + "@example.com"
  29. assert_not @user.valid?
  30. end
  31.  
  32.  
  33. test "email validation should accept valid addresses" do
  34. valid_addresses = %w[user@example.com USER@foo.COM A_US-ER@foo.bar.org
  35. first.last@foo.jp alice+bob@baz.cn]
  36. valid_addresses.each do |valid_address|
  37. @user.email = valid_address
  38. assert @user.valid?, "#{valid_address.inspect} should be valid"
  39. end
  40. end
  41.  
  42. test "email validation should reject invalid addresses" do
  43. invalid_addresses = %w[user@example,com user_at_foo.org user.name@example.
  44. foo@bar_baz.com foo@bar+baz.com]
  45. invalid_addresses.each do |invalid_address|
  46. @user.email = invalid_address
  47. assert_not @user.valid?, "#{invalid_address.inspect} should be invalid"
  48. end
  49. end
  50.  
  51.  
  52. test "email addresses should be unique" do
  53. duplicate_user = @user.dup
  54. duplicate_user.email = @user.email.upcase
  55. @user.save
  56. assert_not duplicate_user.valid?
  57. end
  58.  
  59.  
  60. test "password should be present (nonblank)" do
  61. @user.password = @user.password_confirmation = " " * 8
  62. assert_not @user.valid?
  63. end
  64.  
  65. test "password should have a minimum length" do
  66. @user.password = @user.password_confirmation = "a" * 5
  67. assert_not @user.valid?
  68. end
  69. end
Add Comment
Please, Sign In to add comment