From b1570c5298d4605f8f05b304723554c2d160ffdc Mon Sep 17 00:00:00 2001 From: William Montgomery <10781353+wimo7083@users.noreply.github.com> Date: Tue, 4 Sep 2018 07:56:56 -0600 Subject: [PATCH] Revert "Bug: more error fixing attempts. " --- app/jobs/send_email_to_leaders_job.rb | 8 ++++++-- app/jobs/slack_jobs/inviter_job.rb | 4 ++-- app/jobs/slack_jobs/notifier_job.rb | 5 +++-- config/initializers/sidekiq.rb | 10 ---------- test/jobs/send_email_to_leaders_job_test.rb | 13 +++++++++++++ test/models/user_test.rb | 15 +++++++++++++++ 6 files changed, 39 insertions(+), 16 deletions(-) create mode 100644 test/jobs/send_email_to_leaders_job_test.rb diff --git a/app/jobs/send_email_to_leaders_job.rb b/app/jobs/send_email_to_leaders_job.rb index b7c352e2..df581fa5 100644 --- a/app/jobs/send_email_to_leaders_job.rb +++ b/app/jobs/send_email_to_leaders_job.rb @@ -1,7 +1,11 @@ class SendEmailToLeadersJob < ActiveJob::Base queue_as :default - def perform(_user_id) - logger.debug 'Deprecated pathway, trying to determine what is placing this on queue.' + def perform(user_id) + user = User.find(user_id) + + User.community_leaders_nearby(user.latitude, user.longitude, 50).each do |leader| + UserMailer.new_user_in_leader_area(leader, user) + end end end diff --git a/app/jobs/slack_jobs/inviter_job.rb b/app/jobs/slack_jobs/inviter_job.rb index ba8388b0..95a0ab0f 100644 --- a/app/jobs/slack_jobs/inviter_job.rb +++ b/app/jobs/slack_jobs/inviter_job.rb @@ -1,8 +1,8 @@ class SlackJobs class InviterJob < SlackJobs - def perform(_email) + def perform(email) # Invites user to general channel - logger.debug 'Deprecated pathway, trying to determine what is placing this on queue.' + slack_client.invite(email: email, channels: ['C03GSNF77']) end end end diff --git a/app/jobs/slack_jobs/notifier_job.rb b/app/jobs/slack_jobs/notifier_job.rb index f36e047f..24e0e2c4 100644 --- a/app/jobs/slack_jobs/notifier_job.rb +++ b/app/jobs/slack_jobs/notifier_job.rb @@ -2,8 +2,9 @@ class SlackJobs class SlackNotifierJob < SlackJobs queue_as :default - def perform(_message, *) - logger.debug 'Deprecated pathway, trying to determine what is placing this on queue.' + def perform(message, channel: '#general') + res = slack_client.post_message_to channel: channel, with_text: message + Rails.logger.debug("Notified channel: #{res.inspect}") end end end diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 6b952b8a..443b0f99 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -7,17 +7,7 @@ # Sidekiq.configure_server do |config| ENV['DATABASE_URL'] = ENV['POSTGRES_HOST'].present? ? ENV['POSTGRES_HOST'] : 'operationcode-psql' - # https://stackoverflow.com/questions/28412913/disable-automatic-retry-with-activejob-used-with-sidekiq - # prevent excessive retries from some default status. - config.death_handlers << lambda { |job, e| - # thanks rob for the nice message - evt = Raven::Event.new(message: "#{job['class']} #{job['jid']} done run outta tries.") - Raven.send_event(evt) - } - config.server_middleware do |chain| - chain.add Sidekiq::Middleware::Server::RetryJobs, maxretries: 5 - end Rails.logger = Sidekiq::Logging.logger ActiveRecord::Base.logger = Sidekiq::Logging.logger end diff --git a/test/jobs/send_email_to_leaders_job_test.rb b/test/jobs/send_email_to_leaders_job_test.rb new file mode 100644 index 00000000..17e6892f --- /dev/null +++ b/test/jobs/send_email_to_leaders_job_test.rb @@ -0,0 +1,13 @@ +require 'test_helper' + +class SendEmailToLeadersJobTest < ActiveJob::TestCase + test 'send email to leaders if someone signs up within X miles' do + User.any_instance.stubs(:geocode) + user = create(:user, email: 'static@email.com', latitude: 40.7, longitude: -73.8) + leader_user = create(:user, latitude: 40.7001, longitude: -73.8001) + leader_user.tag_list.add(User::LEADER) + leader_user.save + UserMailer.expects(:new_user_in_leader_area).with(leader_user, user) + SendEmailToLeadersJob.perform_now(user.id) + end +end diff --git a/test/models/user_test.rb b/test/models/user_test.rb index b97a22e9..e044d631 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -185,6 +185,21 @@ def user_opts refute '@example.com' =~ User::VALID_EMAIL end + test '.community_leaders_nearby returns leaders within a radius from a lat/long' do + User.any_instance.stubs(:geocode) + tom = create :user, latitude: 1, longitude: 1 + tom.tag_list.add(User::LEADER) + tom.save! + far_away_leader = create :user, latitude: 20, longitude: 20 + far_away_leader.tag_list.add(User::LEADER) + far_away_leader.save! + not_a_leader = create :user, latitude: 1, longitude: 1 + results = User.community_leaders_nearby(1, 1, 10) + assert_includes results, tom + assert_not_includes results, far_away_leader + assert_not_includes results, not_a_leader + end + test '.fetch_social_user_and_redirect_path returns the user and redirect path in an array' do data = { first_name: 'Sterling', last_name: 'Archer', email: 'cyril@kickme.org', zip: '12345', password: 'VoiceMail' } results = User.fetch_social_user_and_redirect_path(data)