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/projects/settings/user_interacts_with_deploy_keys_spec.rb')
-rw-r--r--spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb89
1 files changed, 53 insertions, 36 deletions
diff --git a/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb b/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb
index 9305467cbe4..3d9addfe456 100644
--- a/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb
+++ b/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-require "spec_helper"
+require 'spec_helper'
RSpec.describe "User interacts with deploy keys", :js, feature_category: :continuous_delivery do
let(:project) { create(:project, :repository) }
@@ -10,43 +10,59 @@ RSpec.describe "User interacts with deploy keys", :js, feature_category: :contin
sign_in(user)
end
- shared_examples "attaches a key" do
- it "attaches key" do
+ shared_examples 'attaches a key' do
+ it 'attaches key' do
visit(project_deploy_keys_path(project))
- page.within(".deploy-keys") do
- find(".badge", text: "1").click
+ page.within('.deploy-keys') do
+ click_link(scope)
- click_button("Enable")
+ click_button('Enable')
- expect(page).not_to have_selector(".gl-spinner")
+ expect(page).not_to have_selector('.gl-spinner')
expect(page).to have_current_path(project_settings_repository_path(project), ignore_query: true)
- find(".js-deployKeys-tab-enabled_keys").click
+ click_link('Enabled deploy keys')
expect(page).to have_content(deploy_key.title)
end
end
end
- context "viewing deploy keys" do
+ context 'viewing deploy keys' do
let(:deploy_key) { create(:deploy_key) }
- context "when project has keys" do
+ context 'when project has keys' do
before do
create(:deploy_keys_project, project: project, deploy_key: deploy_key)
end
- it "shows deploy keys" do
+ it 'shows deploy keys' do
visit(project_deploy_keys_path(project))
- page.within(".deploy-keys") do
+ page.within('.deploy-keys') do
expect(page).to have_content(deploy_key.title)
end
end
end
- context "when another project has keys" do
+ context 'when the project has many deploy keys' do
+ before do
+ create(:deploy_keys_project, project: project, deploy_key: deploy_key)
+ create_list(:deploy_keys_project, 5, project: project)
+ end
+
+ it 'shows pagination' do
+ visit(project_deploy_keys_path(project))
+
+ page.within('.deploy-keys') do
+ expect(page).to have_link('Next')
+ expect(page).to have_link('2')
+ end
+ end
+ end
+
+ context 'when another project has keys' do
let(:another_project) { create(:project) }
before do
@@ -55,26 +71,25 @@ RSpec.describe "User interacts with deploy keys", :js, feature_category: :contin
another_project.add_maintainer(user)
end
- it "shows deploy keys" do
+ it 'shows deploy keys' do
visit(project_deploy_keys_path(project))
- page.within(".deploy-keys") do
- find('.js-deployKeys-tab-available_project_keys').click
+ page.within('.deploy-keys') do
+ click_link('Privately accessible deploy keys')
expect(page).to have_content(deploy_key.title)
- expect(find(".js-deployKeys-tab-available_project_keys .badge")).to have_content("1")
end
end
end
- context "when there are public deploy keys" do
+ context 'when there are public deploy keys' do
let!(:deploy_key) { create(:deploy_key, public: true) }
- it "shows public deploy keys" do
+ it 'shows public deploy keys' do
visit(project_deploy_keys_path(project))
- page.within(".deploy-keys") do
- find(".js-deployKeys-tab-public_keys").click
+ page.within('.deploy-keys') do
+ click_link('Publicly accessible deploy keys')
expect(page).to have_content(deploy_key.title)
end
@@ -82,43 +97,44 @@ RSpec.describe "User interacts with deploy keys", :js, feature_category: :contin
end
end
- context "adding deploy keys" do
+ context 'adding deploy keys' do
before do
visit(project_deploy_keys_path(project))
end
- it "adds new key" do
+ it 'adds new key' do
deploy_key_title = attributes_for(:key)[:title]
deploy_key_body = attributes_for(:key)[:key]
- click_button("Add new key")
- fill_in("deploy_key_title", with: deploy_key_title)
- fill_in("deploy_key_key", with: deploy_key_body)
+ click_button('Add new key')
+ fill_in('deploy_key_title', with: deploy_key_title)
+ fill_in('deploy_key_key', with: deploy_key_body)
- click_button("Add key")
+ click_button('Add key')
expect(page).to have_current_path(project_settings_repository_path(project), ignore_query: true)
- page.within(".deploy-keys") do
+ page.within('.deploy-keys') do
expect(page).to have_content(deploy_key_title)
end
end
- it "click on cancel hides the form" do
- click_button("Add new key")
+ it 'click on cancel hides the form' do
+ click_button('Add new key')
expect(page).to have_css('.gl-new-card-add-form')
- click_button("Cancel")
+ click_button('Cancel')
expect(page).not_to have_css('.gl-new-card-add-form')
end
end
- context "attaching existing keys" do
- context "from another project" do
+ context 'attaching existing keys' do
+ context 'from another project' do
let(:another_project) { create(:project) }
let(:deploy_key) { create(:deploy_key) }
+ let(:scope) { 'Privately accessible deploy keys' }
before do
create(:deploy_keys_project, project: another_project, deploy_key: deploy_key)
@@ -126,13 +142,14 @@ RSpec.describe "User interacts with deploy keys", :js, feature_category: :contin
another_project.add_maintainer(user)
end
- it_behaves_like "attaches a key"
+ it_behaves_like 'attaches a key'
end
- context "when keys are public" do
+ context 'when keys are public' do
let!(:deploy_key) { create(:deploy_key, public: true) }
+ let(:scope) { 'Publicly accessible deploy keys' }
- it_behaves_like "attaches a key"
+ it_behaves_like 'attaches a key'
end
end
end