Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/admin/admin_runners_spec.rb')
-rw-r--r--spec/features/admin/admin_runners_spec.rb75
1 files changed, 43 insertions, 32 deletions
diff --git a/spec/features/admin/admin_runners_spec.rb b/spec/features/admin/admin_runners_spec.rb
index 44fd21e510a..fe9fd01d3d5 100644
--- a/spec/features/admin/admin_runners_spec.rb
+++ b/spec/features/admin/admin_runners_spec.rb
@@ -34,7 +34,7 @@ RSpec.describe "Admin Runners" do
context "when there are runners" do
context "with an instance runner" do
- let!(:instance_runner) { create(:ci_runner, :instance) }
+ let_it_be(:instance_runner) { create(:ci_runner, :instance) }
before do
visit admin_runners_path
@@ -50,7 +50,7 @@ RSpec.describe "Admin Runners" do
it 'shows an instance badge' do
within_runner_row(instance_runner.id) do
- expect(page).to have_selector '.badge', text: 'shared'
+ expect(page).to have_selector '.badge', text: s_('Runners|Instance')
end
end
end
@@ -66,9 +66,9 @@ RSpec.describe "Admin Runners" do
it 'has all necessary texts' do
expect(page).to have_text "Register an instance runner"
- expect(page).to have_text "Online runners 1"
- expect(page).to have_text "Offline runners 2"
- expect(page).to have_text "Stale runners 1"
+ expect(page).to have_text "#{s_('Runners|Online')} 1"
+ expect(page).to have_text "#{s_('Runners|Offline')} 2"
+ expect(page).to have_text "#{s_('Runners|Stale')} 1"
end
end
@@ -81,15 +81,17 @@ RSpec.describe "Admin Runners" do
visit admin_runners_path
within_runner_row(runner.id) do
- expect(find("[data-label='Jobs']")).to have_content '2'
+ expect(find("[data-testid='job-count']")).to have_content '2'
end
end
describe 'search' do
- before do
+ before_all do
create(:ci_runner, :instance, description: 'runner-foo')
create(:ci_runner, :instance, description: 'runner-bar')
+ end
+ before do
visit admin_runners_path
end
@@ -130,10 +132,12 @@ RSpec.describe "Admin Runners" do
end
describe 'filter by paused' do
- before do
+ before_all do
create(:ci_runner, :instance, description: 'runner-active')
create(:ci_runner, :instance, description: 'runner-paused', active: false)
+ end
+ before do
visit admin_runners_path
end
@@ -145,7 +149,7 @@ RSpec.describe "Admin Runners" do
end
it 'shows paused runners' do
- input_filtered_search_filter_is_only('Paused', 'Yes')
+ input_filtered_search_filter_is_only(s_('Runners|Paused'), 'Yes')
expect(page).to have_link('All 1')
@@ -154,7 +158,7 @@ RSpec.describe "Admin Runners" do
end
it 'shows active runners' do
- input_filtered_search_filter_is_only('Paused', 'No')
+ input_filtered_search_filter_is_only(s_('Runners|Paused'), 'No')
expect(page).to have_link('All 1')
@@ -164,15 +168,17 @@ RSpec.describe "Admin Runners" do
end
describe 'filter by status' do
- let!(:never_contacted) do
+ let_it_be(:never_contacted) do
create(:ci_runner, :instance, description: 'runner-never-contacted', contacted_at: nil)
end
- before do
+ before_all do
create(:ci_runner, :instance, description: 'runner-1', contacted_at: Time.zone.now)
create(:ci_runner, :instance, description: 'runner-2', contacted_at: Time.zone.now)
create(:ci_runner, :instance, description: 'runner-offline', contacted_at: 1.week.ago)
+ end
+ before do
visit admin_runners_path
end
@@ -186,7 +192,7 @@ RSpec.describe "Admin Runners" do
end
it 'shows correct runner when status matches' do
- input_filtered_search_filter_is_only('Status', 'Online')
+ input_filtered_search_filter_is_only('Status', s_('Runners|Online'))
expect(page).to have_link('All 2')
@@ -197,7 +203,7 @@ RSpec.describe "Admin Runners" do
end
it 'shows correct runner when status is selected and search term is entered' do
- input_filtered_search_filter_is_only('Status', 'Online')
+ input_filtered_search_filter_is_only('Status', s_('Runners|Online'))
input_filtered_search_keys('runner-1')
expect(page).to have_link('All 1')
@@ -220,7 +226,7 @@ RSpec.describe "Admin Runners" do
expect(page).to have_content 'runner-never-contacted'
within_runner_row(never_contacted.id) do
- expect(page).to have_selector '.badge', text: 'never contacted'
+ expect(page).to have_selector '.badge', text: s_('Runners|Never contacted')
end
end
@@ -238,7 +244,7 @@ RSpec.describe "Admin Runners" do
end
describe 'filter by type' do
- before do
+ before_all do
create(:ci_runner, :project, description: 'runner-project', projects: [project])
create(:ci_runner, :group, description: 'runner-group', groups: [group])
end
@@ -308,7 +314,7 @@ RSpec.describe "Admin Runners" do
visit admin_runners_path
- input_filtered_search_filter_is_only('Paused', 'No')
+ input_filtered_search_filter_is_only(s_('Runners|Paused'), 'No')
expect(page).to have_content 'runner-project'
expect(page).to have_content 'runner-group'
@@ -345,7 +351,7 @@ RSpec.describe "Admin Runners" do
end
describe 'filter by tag' do
- before do
+ before_all do
create(:ci_runner, :instance, description: 'runner-blue', tag_list: ['blue'])
create(:ci_runner, :instance, description: 'runner-red', tag_list: ['red'])
end
@@ -464,7 +470,7 @@ RSpec.describe "Admin Runners" do
end
describe "Runner show page", :js do
- let(:runner) do
+ let_it_be(:runner) do
create(
:ci_runner,
description: 'runner-foo',
@@ -520,20 +526,25 @@ RSpec.describe "Admin Runners" do
end
describe "Runner edit page" do
- let(:runner) { create(:ci_runner, :project) }
- let!(:project1) { create(:project) }
- let!(:project2) { create(:project) }
+ let_it_be(:project1) { create(:project) }
+ let_it_be(:project2) { create(:project) }
+ let_it_be(:project_runner) { create(:ci_runner, :project) }
before do
- visit edit_admin_runner_path(runner)
+ visit edit_admin_runner_path(project_runner)
wait_for_requests
end
+ it_behaves_like 'submits edit runner form' do
+ let(:runner) { project_runner }
+ let(:runner_page_path) { admin_runner_path(project_runner) }
+ end
+
describe 'breadcrumbs' do
it 'contains the current runner id and token' do
page.within '[data-testid="breadcrumb-links"]' do
- expect(page).to have_link("##{runner.id} (#{runner.short_sha})")
+ expect(page).to have_link("##{project_runner.id} (#{project_runner.short_sha})")
expect(page.find('[data-testid="breadcrumb-current-link"]')).to have_content("Edit")
end
end
@@ -541,7 +552,7 @@ RSpec.describe "Admin Runners" do
describe 'runner header', :js do
it 'contains the runner status, type and id' do
- expect(page).to have_content("never contacted specific Runner ##{runner.id} created")
+ expect(page).to have_content("#{s_('Runners|Never contacted')} Project Runner ##{project_runner.id} created")
end
end
@@ -556,7 +567,7 @@ RSpec.describe "Admin Runners" do
end
it 'redirects to runner page' do
- expect(current_url).to match(admin_runner_path(runner))
+ expect(current_url).to match(admin_runner_path(project_runner))
end
end
@@ -583,7 +594,7 @@ RSpec.describe "Admin Runners" do
describe 'enable/create' do
shared_examples 'assignable runner' do
it 'enables a runner for a project' do
- within '[data-testid="unassigned-projects"]' do
+ within find('[data-testid="unassigned-projects"] tr', text: project2.full_name) do
click_on 'Enable'
end
@@ -594,21 +605,21 @@ RSpec.describe "Admin Runners" do
end
end
- context 'with specific runner' do
- let(:runner) { create(:ci_runner, :project, projects: [project1]) }
+ context 'with project runner' do
+ let(:project_runner) { create(:ci_runner, :project, projects: [project1]) }
before do
- visit edit_admin_runner_path(runner)
+ visit edit_admin_runner_path(project_runner)
end
it_behaves_like 'assignable runner'
end
context 'with locked runner' do
- let(:runner) { create(:ci_runner, :project, projects: [project1], locked: true) }
+ let(:locked_runner) { create(:ci_runner, :project, projects: [project1], locked: true) }
before do
- visit edit_admin_runner_path(runner)
+ visit edit_admin_runner_path(locked_runner)
end
it_behaves_like 'assignable runner'