summaryrefslogtreecommitdiff
path: root/spec/models/members/member_role_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/members/member_role_spec.rb')
-rw-r--r--spec/models/members/member_role_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/models/members/member_role_spec.rb b/spec/models/members/member_role_spec.rb
index 1ee86376e02..69d164e1942 100644
--- a/spec/models/members/member_role_spec.rb
+++ b/spec/models/members/member_role_spec.rb
@@ -35,6 +35,30 @@ RSpec.describe MemberRole, feature_category: :system_access do
end
end
+ context 'for max_count_per_group_hierarchy' do
+ let_it_be(:group) { create(:group) }
+
+ subject(:member_role) { build(:member_role, namespace: group) }
+
+ context 'when number of member roles is below limit' do
+ it 'is valid' do
+ is_expected.to be_valid
+ end
+ end
+
+ context 'when number of member roles is above limit' do
+ before do
+ stub_const('MemberRole::MAX_COUNT_PER_GROUP_HIERARCHY', 1)
+ create(:member_role, namespace: group)
+ group.reload
+ end
+
+ it 'is invalid' do
+ is_expected.to be_invalid
+ end
+ end
+ end
+
context 'when for namespace' do
let_it_be(:root_group) { create(:group) }