summaryrefslogtreecommitdiff
path: root/spec/features/runners_spec.rb
diff options
context:
space:
mode:
authorAlexis Reigel <alexis.reigel.ext@siemens.com>2017-12-19 18:04:33 +0100
committerAlexis Reigel <alexis.reigel.ext@siemens.com>2018-04-23 09:21:54 +0200
commitbfc694f5117aa12a2224b567a74f196c320a6d75 (patch)
treeb39deba30148eb427f46fa044376b4004d65be0f /spec/features/runners_spec.rb
parentc585004b59e5fbd5e925dacb7259916240d1cf5a (diff)
downloadgitlab-ce-bfc694f5117aa12a2224b567a74f196c320a6d75.tar.gz
show group runners setup only to group master
Diffstat (limited to 'spec/features/runners_spec.rb')
-rw-r--r--spec/features/runners_spec.rb82
1 files changed, 54 insertions, 28 deletions
diff --git a/spec/features/runners_spec.rb b/spec/features/runners_spec.rb
index dcd06a4015d..b396e103345 100644
--- a/spec/features/runners_spec.rb
+++ b/spec/features/runners_spec.rb
@@ -187,51 +187,77 @@ feature 'Runners' do
project.add_master(user)
end
- context 'project without a group' do
- given(:project) { create :project }
+ given(:group) { create :group }
- scenario 'group runners are not available' do
- visit runners_path(project)
+ context 'as project and group master' do
+ background do
+ group.add_master(user)
+ end
+
+ context 'project with a group but no group runner' do
+ given(:project) { create :project, group: group }
+
+ scenario 'group runners are not available' do
+ visit runners_path(project)
- expect(page).to have_content 'This project does not belong to a group and can therefore not make use of group Runners.'
+ expect(page).to have_content 'This group does not provide any group Runners yet.'
+
+ expect(page).to have_content 'Setup a group Runner manually'
+ expect(page).not_to have_content 'Ask your group master to setup a group Runner.'
+ end
end
end
- context 'project with a group but no group runner' do
- given(:group) { create :group }
- given(:project) { create :project, group: group }
+ context 'as project master' do
+ context 'project without a group' do
+ given(:project) { create :project }
- scenario 'group runners are not available' do
- visit runners_path(project)
+ scenario 'group runners are not available' do
+ visit runners_path(project)
- expect(page).to have_content 'This group does not provide any group Runners yet.'
+ expect(page).to have_content 'This project does not belong to a group and can therefore not make use of group Runners.'
+ end
end
- end
- context 'project with a group and a group runner' do
- given(:group) { create :group }
- given(:project) { create :project, group: group }
- given!(:ci_runner) { create :ci_runner, groups: [group], description: 'group-runner' }
+ context 'project with a group but no group runner' do
+ given(:group) { create :group }
+ given(:project) { create :project, group: group }
- scenario 'group runners are available' do
- visit runners_path(project)
+ scenario 'group runners are not available' do
+ visit runners_path(project)
+
+ expect(page).to have_content 'This group does not provide any group Runners yet.'
- expect(page).to have_content 'Available group Runners : 1'
- expect(page).to have_content 'group-runner'
+ expect(page).not_to have_content 'Setup a group Runner manually'
+ expect(page).to have_content 'Ask your group master to setup a group Runner.'
+ end
end
- scenario 'group runners may be disabled for a project' do
- visit runners_path(project)
+ context 'project with a group and a group runner' do
+ given(:group) { create :group }
+ given(:project) { create :project, group: group }
+ given!(:ci_runner) { create :ci_runner, groups: [group], description: 'group-runner' }
+
+ scenario 'group runners are available' do
+ visit runners_path(project)
+
+ expect(page).to have_content 'Available group Runners : 1'
+ expect(page).to have_content 'group-runner'
+ end
- click_on 'Disable group Runners'
+ scenario 'group runners may be disabled for a project' do
+ visit runners_path(project)
+
+ click_on 'Disable group Runners'
- expect(page).to have_content 'Enable group Runners'
- expect(project.reload.group_runners_enabled).to be false
+ expect(page).to have_content 'Enable group Runners'
+ expect(project.reload.group_runners_enabled).to be false
- click_on 'Enable group Runners'
+ click_on 'Enable group Runners'
- expect(page).to have_content 'Disable group Runners'
- expect(project.reload.group_runners_enabled).to be true
+ expect(page).to have_content 'Disable group Runners'
+ expect(project.reload.group_runners_enabled).to be true
+ end
end
end
end