Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/members')
-rw-r--r--spec/models/members/group_member_spec.rb32
-rw-r--r--spec/models/members/project_member_spec.rb6
2 files changed, 34 insertions, 4 deletions
diff --git a/spec/models/members/group_member_spec.rb b/spec/models/members/group_member_spec.rb
index 9b5cce1aebf..fdb71b7ec7d 100644
--- a/spec/models/members/group_member_spec.rb
+++ b/spec/models/members/group_member_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
describe GroupMember do
context 'scopes' do
- describe '.count_users_by_group_id' do
+ shared_examples '.count_users_by_group_id' do
it 'counts users by group ID' do
user_1 = create(:user)
user_2 = create(:user)
@@ -20,6 +20,36 @@ describe GroupMember do
end
end
+ describe '.count_users_by_group_id with optimized_count_users_by_group_id feature flag on' do
+ before do
+ stub_feature_flags(optimized_count_users_by_group_id: true)
+ end
+
+ it_behaves_like '.count_users_by_group_id'
+
+ it 'does not JOIN users' do
+ scope = described_class.all
+ expect(scope).not_to receive(:joins).with(:user)
+
+ scope.count_users_by_group_id
+ end
+ end
+
+ describe '.count_users_by_group_id with optimized_count_users_by_group_id feature flag off' do
+ before do
+ stub_feature_flags(optimized_count_users_by_group_id: false)
+ end
+
+ it_behaves_like '.count_users_by_group_id'
+
+ it 'does JOIN users' do
+ scope = described_class.all
+ expect(scope).to receive(:joins).with(:user).and_call_original
+
+ scope.count_users_by_group_id
+ end
+ end
+
describe '.of_ldap_type' do
it 'returns ldap type users' do
group_member = create(:group_member, :ldap)
diff --git a/spec/models/members/project_member_spec.rb b/spec/models/members/project_member_spec.rb
index 79c39b81196..fdb9457b211 100644
--- a/spec/models/members/project_member_spec.rb
+++ b/spec/models/members/project_member_spec.rb
@@ -44,14 +44,14 @@ describe ProjectMember do
let(:maintainer) { create(:project_member, project: project) }
it "creates an expired event when left due to expiry" do
- expired = create(:project_member, project: project, expires_at: Time.now - 6.days)
+ expired = create(:project_member, project: project, expires_at: Time.current - 6.days)
expired.destroy
- expect(Event.recent.first.action).to eq(Event::EXPIRED)
+ expect(Event.recent.first).to be_expired_action
end
it "creates a left event when left due to leave" do
maintainer.destroy
- expect(Event.recent.first.action).to eq(Event::LEFT)
+ expect(Event.recent.first).to be_left_action
end
end