summaryrefslogtreecommitdiff
path: root/spec/models/members/group_member_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/members/group_member_spec.rb')
-rw-r--r--spec/models/members/group_member_spec.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/spec/models/members/group_member_spec.rb b/spec/models/members/group_member_spec.rb
index 3a2db5d8516..8c942228059 100644
--- a/spec/models/members/group_member_spec.rb
+++ b/spec/models/members/group_member_spec.rb
@@ -37,6 +37,10 @@ RSpec.describe GroupMember do
end
end
+ describe 'delegations' do
+ it { is_expected.to delegate_method(:update_two_factor_requirement).to(:user).allow_nil }
+ 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)
@@ -93,6 +97,18 @@ RSpec.describe GroupMember do
end
end
+ describe '#destroy' do
+ context 'for an orphaned member' do
+ let!(:orphaned_group_member) do
+ create(:group_member).tap { |member| member.update_column(:user_id, nil) }
+ end
+
+ it 'does not raise an error' do
+ expect { orphaned_group_member.destroy! }.not_to raise_error
+ end
+ end
+ end
+
describe '#after_accept_invite' do
it 'calls #update_two_factor_requirement' do
email = 'foo@email.com'