summaryrefslogtreecommitdiff
path: root/spec/features/groups_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/groups_spec.rb')
-rw-r--r--spec/features/groups_spec.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/features/groups_spec.rb b/spec/features/groups_spec.rb
index d2e65c02e37..c1cb0b4951e 100644
--- a/spec/features/groups_spec.rb
+++ b/spec/features/groups_spec.rb
@@ -262,6 +262,42 @@ describe 'Group' do
end
end
+ describe 'new subgroup / project button' do
+ let(:group) { create(:group, project_creation_level: Gitlab::Access::NO_ONE_PROJECT_ACCESS, subgroup_creation_level: Gitlab::Access::OWNER_SUBGROUP_ACCESS) }
+
+ it 'new subgroup button is displayed without project creation permission' do
+ visit group_path(group)
+
+ page.within '.group-buttons' do
+ expect(page).to have_link('New subgroup')
+ end
+ end
+
+ it 'new subgroup button is displayed together with new project button when having project creation permission' do
+ group.update!(project_creation_level: Gitlab::Access::MAINTAINER_PROJECT_ACCESS)
+ visit group_path(group)
+
+ page.within '.group-buttons' do
+ expect(page).to have_css("li[data-text='New subgroup']", visible: false)
+ expect(page).to have_css("li[data-text='New project']", visible: false)
+ end
+ end
+
+ it 'new project button is displayed without subgroup creation permission' do
+ group.update!(project_creation_level: Gitlab::Access::MAINTAINER_PROJECT_ACCESS)
+ user = create(:user)
+
+ group.add_maintainer(user)
+ sign_out(:user)
+ sign_in(user)
+
+ visit group_path(group)
+ page.within '.group-buttons' do
+ expect(page).to have_link('New project')
+ end
+ end
+ end
+
def remove_with_confirm(button_text, confirm_with)
click_button button_text
fill_in 'confirm_name_input', with: confirm_with