New GroupMember.of_ldap_type scope

This commit is contained in:
Ash McKenzie 2019-07-18 12:09:30 +10:00 committed by Ash McKenzie
parent d00d60a66d
commit f53112de59
No known key found for this signature in database
GPG Key ID: D6097705361D6DC9
3 changed files with 26 additions and 12 deletions

View File

@ -13,8 +13,8 @@ class GroupMember < Member
default_scope { where(source_type: SOURCE_TYPE) }
scope :of_groups, ->(groups) { where(source_id: groups.select(:id)) }
scope :count_users_by_group_id, -> { joins(:user).group(:source_id).count }
scope :of_ldap_type, -> { where(ldap: true) }
after_create :update_two_factor_requirement, unless: :invite?
after_destroy :update_two_factor_requirement, unless: :invite?

View File

@ -16,5 +16,9 @@ FactoryBot.define do
invite_token 'xxx'
invite_email 'email@email.com'
end
trait(:ldap) do
ldap true
end
end
end

View File

@ -3,6 +3,7 @@
require 'spec_helper'
describe GroupMember do
context 'scopes' do
describe '.count_users_by_group_id' do
it 'counts users by group ID' do
user_1 = create(:user)
@ -19,6 +20,15 @@ describe GroupMember do
end
end
describe '.of_ldap_type' do
it 'returns ldap type users' do
group_member = create(:group_member, :ldap)
expect(described_class.of_ldap_type).to eq([group_member])
end
end
end
describe '.access_level_roles' do
it 'returns Gitlab::Access.options_with_owner' do
expect(described_class.access_level_roles).to eq(Gitlab::Access.options_with_owner)