Skip to content
Snippets Groups Projects
Verified Commit 3b196e0b authored by Bogdan Denkovych's avatar Bogdan Denkovych :one: Committed by GitLab
Browse files

Merge branch 'redefined_scope_to_not_use_in_condition' into 'master'

Updated users scope definition to not to use where

See merge request !146595



Merged-by: Bogdan Denkovych's avatarBogdan Denkovych <bdenkovych@gitlab.com>
Approved-by: default avatarManoj M J <mmj@gitlab.com>
Approved-by: Bogdan Denkovych's avatarBogdan Denkovych <bdenkovych@gitlab.com>
Co-authored-by: default avatarsmriti <sgarg@gitlab.com>
parents c2e3cd0b c5aa8b91
No related branches found
No related tags found
1 merge request!146595Updated users scope definition to not to use where
Pipeline #1249291391 passed
......@@ -622,9 +622,8 @@ def blocked?
.expiring_soon_and_not_notified)
end
scope :with_personal_access_tokens_expiring_soon_and_ids, ->(ids) do
where(id: ids)
.includes(:expiring_soon_and_unnotified_personal_access_tokens)
scope :with_personal_access_tokens_expiring_soon, -> do
includes(:expiring_soon_and_unnotified_personal_access_tokens)
end
scope :order_recent_sign_in, -> { reorder(arel_table[:current_sign_in_at].desc.nulls_last) }
......
......@@ -36,7 +36,7 @@ def process_user_tokens
break if tokens.empty?
users = User.with_personal_access_tokens_expiring_soon_and_ids(tokens.pluck(:user_id).uniq)
users = User.id_in(tokens.pluck(:user_id).uniq).with_personal_access_tokens_expiring_soon
users.each do |user|
with_context(user: user) do
......
......@@ -1430,18 +1430,13 @@
end
end
describe '.with_personal_access_tokens_expiring_soon_and_ids' do
describe '.with_personal_access_tokens_expiring_soon' do
let_it_be(:user1) { create(:user) }
let_it_be(:user2) { create(:user) }
let_it_be(:pat1) { create(:personal_access_token, user: user1, expires_at: 2.days.from_now) }
let_it_be(:pat2) { create(:personal_access_token, user: user2, expires_at: 7.days.from_now) }
let_it_be(:ids) { [user1.id] }
subject(:users) { described_class.with_personal_access_tokens_expiring_soon_and_ids(ids) }
it 'filters users only by id' do
expect(users).to contain_exactly(user1)
end
subject(:users) { described_class.with_personal_access_tokens_expiring_soon }
it 'includes expiring personal access tokens' do
expect(users.first.expiring_soon_and_unnotified_personal_access_tokens).to be_loaded
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment