diff --git a/app/models/profile.rb b/app/models/profile.rb index 5257aac..11e9654 100644 --- a/app/models/profile.rb +++ b/app/models/profile.rb @@ -937,7 +937,6 @@ private :generate_url, :url_options image.public_filename(:icon) if image.present? end - #FIXME make this test def profile_custom_image(size = :icon) image_path = profile_custom_icon if size == :icon image_path ||= image.public_filename(size) if image.present? diff --git a/app/models/user.rb b/app/models/user.rb index f702da8..ced28ad 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -120,16 +120,15 @@ class User < ActiveRecord::Base self.update_attribute :last_login_at, Time.now end - #FIXME make this test def generate_private_token! self.private_token = SecureRandom.hex self.private_token_generated_at = DateTime.now save(:validate => false) end - #FIXME make this test + TOKEN_VALIDITY = 2.weeks def private_token_expired? - self.generate_private_token! if self.private_token.nil? || (self.private_token_generated_at + 2.weeks < DateTime.now) + self.private_token.nil? || (self.private_token_generated_at + TOKEN_VALIDITY < DateTime.now) end # Activates the user in the database. diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 4551feb..f0d24d0 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -715,6 +715,25 @@ class UserTest < ActiveSupport::TestCase assert_equal 'quire', user.person.name end + should 'generate private token' do + user = User.new + SecureRandom.stubs(:hex).returns('token') + user.generate_private_token! + + assert user.private_token, 'token' + end + + should 'check for private token validity' do + user = User.new + assert user.private_token_expired? + + user.generate_private_token! + assert !user.private_token_expired? + + user.private_token_generated_at = DateTime.now - (User::TOKEN_VALIDITY + 1.minute) + assert user.private_token_expired? + end + protected def new_user(options = {}) user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options)) -- libgit2 0.21.2