Fix tests

This commit is contained in:
Shinya Maeda 2017-08-23 21:58:45 +09:00
parent 438e18d809
commit fab3df77cf

View file

@ -10,11 +10,14 @@ feature 'Runners' do
context 'when a project has enabled shared_runners' do context 'when a project has enabled shared_runners' do
given(:project) { create(:project) } given(:project) { create(:project) }
background do
project.add_master(user)
end
context 'when a specific runner is activated on the project' do context 'when a specific runner is activated on the project' do
given(:specific_runner) { create(:ci_runner, :specific) } given(:specific_runner) { create(:ci_runner, :specific) }
background do background do
project.add_master(user)
project.runners << specific_runner project.runners << specific_runner
end end
@ -30,19 +33,19 @@ feature 'Runners' do
expect(page).to have_content(specific_runner.platform) expect(page).to have_content(specific_runner.platform)
end end
scenario 'user removes an activated specific runner' do scenario 'user removes an activated specific runner if this is last project for that runners' do
visit runners_path(project) visit runners_path(project)
within '.activated-specific-runners' do within '.activated-specific-runners' do
click_on 'Remove Runner' click_on 'Remove Runner'
end end
expect(page).to have_no_css('.activated-specific-runners') expect(page).not_to have_content(specific_runner.display_name)
end end
context 'when a runner has a tag' do context 'when a runner has a tag' do
background do background do
specific_runner.update_attribute(:tag_list, ['tag']) specific_runner.update(tag_list: ['tag'])
end end
scenario 'user edits runner not to run untagged jobs' do scenario 'user edits runner not to run untagged jobs' do
@ -61,32 +64,6 @@ feature 'Runners' do
end end
end end
context 'when a specific runner exists in another project' do
given(:another_project) { create(:project) }
given(:specific_runner2) { create(:ci_runner, :specific) }
background do
another_project.add_master(user)
another_project.runners << specific_runner2
end
scenario 'user enables and disables a specific runner' do
visit runners_path(project)
within '.available-specific-runners' do
click_on 'Enable for this project'
end
expect(page.find('.activated-specific-runners')).to have_content(specific_runner2.display_name)
within '.activated-specific-runners' do
click_on 'Disable for this project'
end
expect(page.find('.activated-specific-runners')).not_to have_content(specific_runner2.display_name)
end
end
context 'when a shared runner is activated on the project' do context 'when a shared runner is activated on the project' do
given!(:shared_runner) { create(:ci_runner, :shared) } given!(:shared_runner) { create(:ci_runner, :shared) }
@ -98,12 +75,37 @@ feature 'Runners' do
end end
end end
context 'when a specific runner exists in another project' do
given(:another_project) { create(:project) }
given(:specific_runner) { create(:ci_runner, :specific) }
background do
another_project.add_master(user)
another_project.runners << specific_runner
end
scenario 'user enables and disables a specific runner' do
visit runners_path(project)
within '.available-specific-runners' do
click_on 'Enable for this project'
end
expect(page.find('.activated-specific-runners')).to have_content(specific_runner.display_name)
within '.activated-specific-runners' do
click_on 'Disable for this project'
end
expect(page.find('.available-specific-runners')).to have_content(specific_runner.display_name)
end
end
context 'when application settings have shared_runners_text' do context 'when application settings have shared_runners_text' do
given(:shared_runners_text) { 'custom **shared** runners description' } given(:shared_runners_text) { 'custom **shared** runners description' }
given(:shared_runners_html) { 'custom shared runners description' } given(:shared_runners_html) { 'custom shared runners description' }
background do background do
project.add_master(user)
stub_application_setting(shared_runners_text: shared_runners_text) stub_application_setting(shared_runners_text: shared_runners_text)
end end
@ -126,6 +128,7 @@ feature 'Runners' do
visit runners_path(project) visit runners_path(project)
click_on 'Enable shared Runners' click_on 'Enable shared Runners'
expect(page.find('.shared-runners-description')).to have_content('Disable shared Runners') expect(page.find('.shared-runners-description')).to have_content('Disable shared Runners')
end end
end end