From 86cad0adc35006145dc231a9bee4d86c5f883849 Mon Sep 17 00:00:00 2001 From: Louis Ramos <75388869+wJoenn@users.noreply.github.com> Date: Sun, 1 Dec 2024 09:22:31 +0100 Subject: [PATCH] fix(slack): hide slack link button in setup when linked (#714) * fix(slack): hide slack link button in setup when linked * fix: specs --- app/jobs/buddies/generate_daily_pairs_job.rb | 2 +- app/models/user.rb | 4 ++-- spec/models/user_spec.rb | 8 ++------ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/app/jobs/buddies/generate_daily_pairs_job.rb b/app/jobs/buddies/generate_daily_pairs_job.rb index f7411c09..d7a3d4c0 100644 --- a/app/jobs/buddies/generate_daily_pairs_job.rb +++ b/app/jobs/buddies/generate_daily_pairs_job.rb @@ -27,7 +27,7 @@ def perform(day) private def retrieve_users_with_slack_linked - @user_ids = User.slack_linked.order(:id).pluck(:id) + @user_ids = User.slack_linked.where(synced: true).order(:id).pluck(:id) end def handle_odd_number_of_users diff --git a/app/models/user.rb b/app/models/user.rb index c670111c..7a4bc2b0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -44,7 +44,7 @@ class User < ApplicationRecord scope :admins, -> { where_roles(:admin) } scope :confirmed, -> { where(accepted_coc: true, synced: true).where.not(aoc_id: nil) } scope :insanity, -> { where(entered_hardcore: true) } # All users are 'hardcore' since 2024 edition - scope :slack_linked, -> { where(synced: true).where.not(slack_id: nil) } + scope :slack_linked, -> { where.not(slack_id: nil) } def self.from_kitt(auth) original_batch = auth.info.schoolings&.min_by { |batch| batch.camp.starts_at } @@ -68,7 +68,7 @@ def confirmed? end def slack_linked? - synced && slack_id.present? + slack_id.present? end def slack_link diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index fd0c9bc0..34cc7fb1 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -57,18 +57,14 @@ describe "Slack linking scope" do it "ensures slack_linked scope and slack_linked? method are in sync" do - user_with_slack = create(:user, slack_id: "ABC123", synced: true) - user_without_slack = create(:user, slack_id: nil, synced: true) - user_with_unsynced_slack = create(:user, slack_id: "DEF456", synced: false) + user_with_slack = create(:user, slack_id: "ABC123") + user_without_slack = create(:user, slack_id: nil) expect(User.slack_linked).to include(user_with_slack) expect(user_with_slack.slack_linked?).to be true expect(User.slack_linked).not_to include(user_without_slack) expect(user_without_slack.slack_linked?).to be false - - expect(User.slack_linked).not_to include(user_with_unsynced_slack) - expect(user_with_unsynced_slack.slack_linked?).to be false end end