Guest User

Untitled

a guest
Mar 2nd, 2018
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. require File.dirname(__FILE__) + '/../test_helper'
  2.  
  3. class UserTest < Test::Unit::TestCase
  4. # Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead.
  5. # Then, you can remove it from this and the functional test.
  6. include AuthenticatedTestHelper
  7. fixtures :users, :groups
  8.  
  9. def test_should_find_user_for_forgotten_password
  10. assert_not_nil(User.forgot_password(users(:myrtle).login, users(:myrtle).email))
  11. end
  12.  
  13. def test_should_create_user
  14. assert_difference User, :count do
  15. user = create_user
  16. assert !user.new_record?, "#{user.errors.full_messages.to_sentence}"
  17. end
  18. end
  19.  
  20. def test_should_require_login
  21. assert_no_difference User, :count do
  22. u = create_user(:login => nil)
  23. assert u.errors.on(:login)
  24. end
  25. end
  26.  
  27. def test_should_require_password
  28. assert_no_difference User, :count do
  29. u = create_user(:password => nil)
  30. assert u.errors.on(:password)
  31. end
  32. end
  33.  
  34. def test_should_require_password_confirmation
  35. assert_no_difference User, :count do
  36. u = create_user(:password_confirmation => nil)
  37. assert u.errors.on(:password_confirmation)
  38. end
  39. end
  40.  
  41. def test_should_require_email
  42. assert_no_difference User, :count do
  43. u = create_user(:email => nil)
  44. assert u.errors.on(:email)
  45. end
  46. end
  47.  
  48. def test_should_reset_password
  49. users(:myrtle).update_attributes(:password => 'new password', :password_confirmation => 'new password')
  50. assert_equal users(:myrtle), User.authenticate('myrtle', 'new password')
  51. end
  52.  
  53. def test_should_not_rehash_password
  54. users(:myrtle).update_attributes(:login => 'myrtle2')
  55. assert_equal users(:myrtle), User.authenticate('myrtle2', 'test')
  56. end
  57.  
  58. def test_should_authenticate_user
  59. assert_equal users(:myrtle), User.authenticate('myrtle', 'test')
  60. end
  61.  
  62. def test_should_set_remember_token
  63. users(:myrtle).remember_me
  64. assert_not_nil users(:myrtle).remember_token
  65. assert_not_nil users(:myrtle).remember_token_expires_at
  66. end
  67.  
  68. def test_should_unset_remember_token
  69. users(:myrtle).remember_me
  70. assert_not_nil users(:myrtle).remember_token
  71. users(:myrtle).forget_me
  72. assert_nil users(:myrtle).remember_token
  73. end
  74.  
  75. def test_should_remember_me_for_one_week
  76. before = 1.week.from_now.utc
  77. users(:myrtle).remember_me_for 1.week
  78. after = 1.week.from_now.utc
  79. assert_not_nil users(:myrtle).remember_token
  80. assert_not_nil users(:myrtle).remember_token_expires_at
  81. assert users(:myrtle).remember_token_expires_at.between?(before, after)
  82. end
  83.  
  84. def test_should_remember_me_until_one_week
  85. time = 1.week.from_now.utc
  86. users(:myrtle).remember_me_until time
  87. assert_not_nil users(:myrtle).remember_token
  88. assert_not_nil users(:myrtle).remember_token_expires_at
  89. assert_equal users(:myrtle).remember_token_expires_at, time
  90. end
  91.  
  92. def test_should_remember_me_default_two_weeks
  93. before = 2.weeks.from_now.utc
  94. users(:myrtle).remember_me
  95. after = 2.weeks.from_now.utc
  96. assert_not_nil users(:myrtle).remember_token
  97. assert_not_nil users(:myrtle).remember_token_expires_at
  98. assert users(:myrtle).remember_token_expires_at.between?(before, after)
  99. end
  100.  
  101. protected
  102. def create_user(options = {})
  103. User.create({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire',
  104. :first_name => 'Quire', :last_name => "Jones" }.merge(options))
  105. end
  106. end
Add Comment
Please, Sign In to add comment