diff --git a/app/models/user.rb b/app/models/user.rb index 251b627..c6dc59f 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -425,7 +425,7 @@ class User < ActiveRecord::Base def resend_activation_code return if self.activated? - self.make_activation_code + update_attribute(:activation_code, make_activation_code) self.deliver_activation_code end diff --git a/lib/noosfero/api/session.rb b/lib/noosfero/api/session.rb index 70229be..f5d52c0 100644 --- a/lib/noosfero/api/session.rb +++ b/lib/noosfero/api/session.rb @@ -144,6 +144,7 @@ module Noosfero requestors.each do |requestor| requestor.user.resend_activation_code end + present requestors.map(&:user), :with => Entities::UserLogin end params do diff --git a/test/unit/api/session_test.rb b/test/unit/api/session_test.rb index 949c278..7232640 100644 --- a/test/unit/api/session_test.rb +++ b/test/unit/api/session_test.rb @@ -218,7 +218,22 @@ class SessionTest < ActiveSupport::TestCase post "/api/v1/resend_activation_code?#{params.to_query}" process_delayed_job_queue end + json = JSON.parse(last_response.body) + assert !json['users'].first['activated'] assert_equal user.email, ActionMailer::Base.deliveries.last['to'].to_s end + should 'not resend activation code for an active user' do + user = create_user + params = {:value => user.login} + user.activate + Delayed::Job.destroy_all + assert_no_difference 'ActionMailer::Base.deliveries.size' do + post "/api/v1/resend_activation_code?#{params.to_query}" + process_delayed_job_queue + end + json = JSON.parse(last_response.body) + assert json['users'].first['activated'] + end + end diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 7aadb76..dda5543 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -764,7 +764,7 @@ class UserTest < ActiveSupport::TestCase user.resend_activation_code process_delayed_job_queue end - assert_not_equal activation_code, user.activation_code + assert_not_equal activation_code, user.reload.activation_code assert_equal 'pending@activation.com', ActionMailer::Base.deliveries.last['to'].to_s end -- libgit2 0.21.2