From 31d0610a431b231888a0e01389a10beb84a4baa4 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Thu, 10 Oct 2013 21:39:19 +0000 Subject: [PATCH] rails3: fix user tests --- app/mailers/user_mailer.rb | 3 +-- app/models/user.rb | 12 ++++++------ test/unit/user_test.rb | 22 +++++++--------------- 3 files changed, 14 insertions(+), 23 deletions(-) diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 7eb6711..737f071 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -29,11 +29,10 @@ class User::Mailer < ActionMailer::Base def signup_welcome_email(user) @body = user.environment.signup_welcome_text_body.gsub('{user_name}', user.name) - email_subject = user.environment.signup_welcome_text_subject mail( content_type: 'text/html', - recipients: user.email, + to: user.email, from: "#{user.environment.name} <#{user.environment.contact_email}>", subject: email_subject.blank? ? _("Welcome to environment %s") % [user.environment.name] : email_subject ) diff --git a/app/models/user.rb b/app/models/user.rb index d3adf66..7ee4929 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -16,7 +16,7 @@ class User < ActiveRecord::Base end # FIXME ugly workaround - def self.human_attribute_name(attrib) + def self.human_attribute_name(attrib, options={}) case attrib.to_sym when :login return [_('Username'), _('Email')].join(' / ') @@ -41,7 +41,7 @@ class User < ActiveRecord::Base p.identifier = user.login p.user = user p.environment = user.environment - p.name ||= user.login + p.name ||= user.name || user.login p.visible = false unless user.activated? user.person = p @@ -112,7 +112,7 @@ class User < ActiveRecord::Base false else if environment.enabled?('send_welcome_email_to_new_users') && environment.has_signup_welcome_text? - User::Mailer.delay.signup_welcome_email(self).deliver + User::Mailer.delay.signup_welcome_email(self) end true end @@ -193,13 +193,13 @@ class User < ActiveRecord::Base def remember_me self.remember_token_expires_at = 2.weeks.from_now.utc self.remember_token = encrypt("#{email}--#{remember_token_expires_at}") - save(false) + save(:validate => false) end def forget_me self.remember_token_expires_at = nil self.remember_token = nil - save(false) + save(:validate => false) end # Exception thrown when #change_password! is called with a wrong current @@ -231,7 +231,7 @@ class User < ActiveRecord::Base end def name= name - self[:name] = name + self[:name] = name end def enable_email! diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index b353b71..3c03c49 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -17,28 +17,28 @@ class UserTest < ActiveSupport::TestCase def test_should_require_login assert_no_difference User, :count do u = new_user(:login => nil) - assert u.errors.on(:login) + assert u.errors[:login].present? end end def test_should_require_password assert_no_difference User, :count do u = new_user(:password => nil) - assert u.errors.on(:password) + assert u.errors[:password].present? end end def test_should_require_password_confirmation assert_no_difference User, :count do u = new_user(:password_confirmation => nil) - assert u.errors.on(:password_confirmation) + assert u.errors[:password_confirmation].present? end end def test_should_require_email assert_no_difference User, :count do u = new_user(:email => nil) - assert u.errors.on(:email) + assert u.errors[:email].present? end end @@ -470,15 +470,6 @@ class UserTest < ActiveSupport::TestCase end end - should 'not mass assign activated at' do - user = User.new :activated_at => 5.days.ago - assert_nil user.activated_at - user.attributes = { :activated_at => 5.days.ago } - assert_nil user.activated_at - user.activated_at = 5.days.ago - assert_not_nil user.activated_at - end - should 'authenticate an activated user' do user = new_user :login => 'testuser', :password => 'test123', :password_confirmation => 'test123' user.activate @@ -565,12 +556,13 @@ class UserTest < ActiveSupport::TestCase user = new_user :email => 'pending@activation.com' assert_difference(ActionMailer::Base.deliveries, :size, 1) do user.activate + process_delayed_job_queue end sent = ActionMailer::Base.deliveries.last assert_equal ['pending@activation.com'], sent.to assert_equal 'Welcome to this environment', sent.subject - assert_equal 'Thanks for signing up!', sent.body + assert_match /Thanks for signing up!/, sent.body.to_s end should 'deliver welcome e-mail after user activation if enabled on environment with default subject if not defined' do @@ -605,7 +597,7 @@ class UserTest < ActiveSupport::TestCase end sent = ActionMailer::Base.deliveries.last - assert_equal "Thanks for signing up, #{user.name}!", sent.body + assert_match /Thanks for signing up, #{user.name}!/, sent.body.to_s end should 'not deliver welcome e-mail after user activation if enabled on environment but body not filled in' do -- libgit2 0.21.2