Commit 58785a4e0aff14e6a8b179eb1a3e71b8874b020b

Authored by Rodrigo Souto
1 parent 44fe2549

rails3: fix email_activation

app/models/email_activation.rb
1 class EmailActivation < Task 1 class EmailActivation < Task
2 2
3 validates_presence_of :requestor_id, :target_id 3 validates_presence_of :requestor_id, :target_id
  4 + validate :already_requested, :on => :create
4 5
5 alias :environment :target 6 alias :environment :target
6 alias :person :requestor 7 alias :person :requestor
7 8
8 - def validate_on_create 9 + def already_requested
9 if !self.requestor.nil? && self.requestor.user.email_activation_pending? 10 if !self.requestor.nil? && self.requestor.user.email_activation_pending?
10 - self.errors.add_to_base(_('You have already requested activation of your mailbox.')) 11 + self.errors.add(:base, _('You have already requested activation of your mailbox.'))
11 end 12 end
12 end 13 end
13 14
test/unit/email_activation_test.rb
@@ -45,8 +45,8 @@ class EmailActivationTest &lt; ActiveSupport::TestCase @@ -45,8 +45,8 @@ class EmailActivationTest &lt; ActiveSupport::TestCase
45 task = EmailActivation.new(:requestor => ze.person, :target => Environment.default) 45 task = EmailActivation.new(:requestor => ze.person, :target => Environment.default)
46 assert task.save! 46 assert task.save!
47 47
48 - anothertask = EmailActivation.new(:requestor => ze.person, :target => Environment.default)  
49 - assert !anothertask.save 48 + another_task = EmailActivation.new(:requestor => ze.person, :target => Environment.default)
  49 + assert !another_task.save, "Should not be able to save another task"
50 end 50 end
51 51
52 should 'deliver activation email notification' do 52 should 'deliver activation email notification' do
@@ -54,7 +54,7 @@ class EmailActivationTest &lt; ActiveSupport::TestCase @@ -54,7 +54,7 @@ class EmailActivationTest &lt; ActiveSupport::TestCase
54 54
55 task = EmailActivation.new(:requestor => user.person, :target => Environment.default) 55 task = EmailActivation.new(:requestor => user.person, :target => Environment.default)
56 56
57 - email = User::Mailer.deliver_activation_email_notify(user) 57 + email = User::Mailer.activation_email_notify(user).deliver
58 assert_match(/Welcome to #{task.requestor.environment.name} mail!/, email.subject) 58 assert_match(/Welcome to #{task.requestor.environment.name} mail!/, email.subject)
59 end 59 end
60 60