show group runners setup only to group master
This commit is contained in:
		
							parent
							
								
									c585004b59
								
							
						
					
					
						commit
						bfc694f511
					
				|  | @ -20,8 +20,11 @@ | |||
| - elsif @group_runners.empty? | ||||
|   This group does not provide any group Runners yet. | ||||
| 
 | ||||
|   = render partial: 'ci/runner/how_to_setup_runner', | ||||
|            locals: { registration_token: @project.group.runners_token, type: 'group' } | ||||
|   - if can?(current_user, :admin_pipeline, @project.group) | ||||
|     = render partial: 'ci/runner/how_to_setup_runner', | ||||
|              locals: { registration_token: @project.group.runners_token, type: 'group' } | ||||
|   - else | ||||
|     Ask your group master to setup a group Runner. | ||||
| 
 | ||||
| - else | ||||
|   %h4.underlined-title Available group Runners : #{@group_runners.count} | ||||
|  |  | |||
|  | @ -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 | ||||
| 
 | ||||
|         expect(page).to have_content 'This project does not belong to a group and can therefore not make use of group Runners.' | ||||
|       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 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.' | ||||
|       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' } | ||||
| 
 | ||||
|       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' | ||||
|           expect(page).to have_content 'This project does not belong to a group and can therefore not make use of group Runners.' | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       scenario 'group runners may be disabled for a project' do | ||||
|         visit runners_path(project) | ||||
|       context 'project with a group but no group runner' do | ||||
|         given(:group) { create :group } | ||||
|         given(:project) { create :project, group: group } | ||||
| 
 | ||||
|         click_on 'Disable group Runners' | ||||
|         scenario 'group runners are not available' do | ||||
|           visit runners_path(project) | ||||
| 
 | ||||
|         expect(page).to have_content 'Enable group Runners' | ||||
|         expect(project.reload.group_runners_enabled).to be false | ||||
|           expect(page).to have_content 'This group does not provide any group Runners yet.' | ||||
| 
 | ||||
|         click_on 'Enable group Runners' | ||||
|           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 | ||||
| 
 | ||||
|         expect(page).to have_content 'Disable group Runners' | ||||
|         expect(project.reload.group_runners_enabled).to be true | ||||
|       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 | ||||
| 
 | ||||
|         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 | ||||
| 
 | ||||
|           click_on 'Enable group Runners' | ||||
| 
 | ||||
|           expect(page).to have_content 'Disable group Runners' | ||||
|           expect(project.reload.group_runners_enabled).to be true | ||||
|         end | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue