diff --git a/app/models/email_activation.rb b/app/models/email_activation.rb index 5175de6..4b2ab59 100644 --- a/app/models/email_activation.rb +++ b/app/models/email_activation.rb @@ -1,13 +1,14 @@ class EmailActivation < Task validates_presence_of :requestor_id, :target_id + validate :already_requested, :on => :create alias :environment :target alias :person :requestor - def validate_on_create + def already_requested if !self.requestor.nil? && self.requestor.user.email_activation_pending? - self.errors.add_to_base(_('You have already requested activation of your mailbox.')) + self.errors.add(:base, _('You have already requested activation of your mailbox.')) end end diff --git a/test/unit/email_activation_test.rb b/test/unit/email_activation_test.rb index a237db1..fc97379 100644 --- a/test/unit/email_activation_test.rb +++ b/test/unit/email_activation_test.rb @@ -45,8 +45,8 @@ class EmailActivationTest < ActiveSupport::TestCase task = EmailActivation.new(:requestor => ze.person, :target => Environment.default) assert task.save! - anothertask = EmailActivation.new(:requestor => ze.person, :target => Environment.default) - assert !anothertask.save + another_task = EmailActivation.new(:requestor => ze.person, :target => Environment.default) + assert !another_task.save, "Should not be able to save another task" end should 'deliver activation email notification' do @@ -54,7 +54,7 @@ class EmailActivationTest < ActiveSupport::TestCase task = EmailActivation.new(:requestor => user.person, :target => Environment.default) - email = User::Mailer.deliver_activation_email_notify(user) + email = User::Mailer.activation_email_notify(user).deliver assert_match(/Welcome to #{task.requestor.environment.name} mail!/, email.subject) end -- libgit2 0.21.2