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')
-rw-r--r--spec/features/projects/settings/access_tokens_spec.rb3
-rw-r--r--spec/features/projects/settings/packages_settings_spec.rb2
-rw-r--r--spec/features/projects/settings/pipelines_settings_spec.rb40
-rw-r--r--spec/features/projects/settings/project_badges_spec.rb41
-rw-r--r--spec/features/projects/settings/repository_settings_spec.rb1
-rw-r--r--spec/features/projects/settings/secure_files_spec.rb2
-rw-r--r--spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb11
-rw-r--r--spec/features/projects/settings/user_manages_project_members_spec.rb71
-rw-r--r--spec/features/projects/settings/user_renames_a_project_spec.rb2
-rw-r--r--spec/features/projects/settings/user_searches_in_settings_spec.rb2
-rw-r--r--spec/features/projects/settings/visibility_settings_spec.rb6
11 files changed, 85 insertions, 96 deletions
diff --git a/spec/features/projects/settings/access_tokens_spec.rb b/spec/features/projects/settings/access_tokens_spec.rb
index 210815f341c..9025bd9052e 100644
--- a/spec/features/projects/settings/access_tokens_spec.rb
+++ b/spec/features/projects/settings/access_tokens_spec.rb
@@ -49,6 +49,7 @@ RSpec.describe 'Project > Settings > Access Tokens', :js, feature_category: :use
it 'shows Owner option' do
visit resource_settings_access_tokens_path
+ click_button 'Add new token'
expect(role_dropdown_options).to include('Owner')
end
end
@@ -63,6 +64,7 @@ RSpec.describe 'Project > Settings > Access Tokens', :js, feature_category: :use
it 'does not show Owner option for a maintainer' do
visit resource_settings_access_tokens_path
+ click_button 'Add new token'
expect(role_dropdown_options).not_to include('Owner')
end
end
@@ -81,6 +83,7 @@ RSpec.describe 'Project > Settings > Access Tokens', :js, feature_category: :use
it 'shows access token creation form and text' do
visit project_settings_access_tokens_path(personal_project)
+ click_button 'Add new token'
expect(page).to have_selector('#js-new-access-token-form')
end
end
diff --git a/spec/features/projects/settings/packages_settings_spec.rb b/spec/features/projects/settings/packages_settings_spec.rb
index 564a71e9a23..5277ede8e52 100644
--- a/spec/features/projects/settings/packages_settings_spec.rb
+++ b/spec/features/projects/settings/packages_settings_spec.rb
@@ -35,7 +35,7 @@ RSpec.describe 'Projects > Settings > Packages', :js, feature_category: :groups_
let(:packages_enabled) { false }
it 'does not show up in UI' do
- expect(page).not_to have_selector('[data-testid="toggle-label"]', text: 'Packages')
+ expect(page).not_to have_selector('[data-testid="toggle-label"]', text: 'Package registry')
end
end
end
diff --git a/spec/features/projects/settings/pipelines_settings_spec.rb b/spec/features/projects/settings/pipelines_settings_spec.rb
index ef1c03f4f27..59d9e6d105e 100644
--- a/spec/features/projects/settings/pipelines_settings_spec.rb
+++ b/spec/features/projects/settings/pipelines_settings_spec.rb
@@ -65,6 +65,46 @@ RSpec.describe "Projects > Settings > Pipelines settings", feature_category: :gr
expect(checkbox).not_to be_checked
end
+ it 'disables forward deployment rollback allowed when forward deployment enabled is unchecked', :js do
+ visit project_settings_ci_cd_path(project)
+
+ forward_deployment_checkbox = find_field('project_ci_cd_settings_attributes_forward_deployment_enabled')
+ forward_deployment_rollback_checkbox =
+ find_field('project_ci_cd_settings_attributes_forward_deployment_rollback_allowed')
+ expect(forward_deployment_checkbox).to be_checked
+ expect(forward_deployment_rollback_checkbox).not_to be_disabled
+
+ forward_deployment_checkbox.click
+
+ expect(forward_deployment_rollback_checkbox).to be_disabled
+
+ forward_deployment_checkbox.click
+
+ expect(forward_deployment_rollback_checkbox).not_to be_disabled
+ end
+
+ it 'updates forward_deployment_rollback_allowed' do
+ visit project_settings_ci_cd_path(project)
+
+ checkbox = find_field('project_ci_cd_settings_attributes_forward_deployment_rollback_allowed')
+ expect(checkbox).to be_checked
+
+ checkbox.set(false)
+
+ page.within '#js-general-pipeline-settings' do
+ click_on 'Save changes'
+ end
+
+ expect(page.status_code).to eq(200)
+
+ page.within '#js-general-pipeline-settings' do
+ expect(page).to have_button('Save changes', disabled: false)
+ end
+
+ checkbox = find_field('project_ci_cd_settings_attributes_forward_deployment_rollback_allowed')
+ expect(checkbox).not_to be_checked
+ end
+
describe 'Auto DevOps' do
context 'when auto devops is turned on instance-wide' do
before do
diff --git a/spec/features/projects/settings/project_badges_spec.rb b/spec/features/projects/settings/project_badges_spec.rb
index 1f170300155..a66bf5cd3a9 100644
--- a/spec/features/projects/settings/project_badges_spec.rb
+++ b/spec/features/projects/settings/project_badges_spec.rb
@@ -24,7 +24,7 @@ RSpec.describe 'Project Badges', feature_category: :groups_and_projects do
page.within '.badge-settings' do
wait_for_requests
- rows = all('.card-body > div')
+ rows = all('.gl-card-body tbody tr')
expect(rows.length).to eq 2
expect(rows[0]).to have_content group_badge.link_url
expect(rows[1]).to have_content project_badge.link_url
@@ -33,6 +33,7 @@ RSpec.describe 'Project Badges', feature_category: :groups_and_projects do
context 'adding a badge', :js do
it 'user can preview a badge' do
+ click_button 'Add badge'
page.within '.badge-settings form' do
fill_in 'badge-link-url', with: badge_link_url
fill_in 'badge-image-url', with: badge_image_url
@@ -44,6 +45,7 @@ RSpec.describe 'Project Badges', feature_category: :groups_and_projects do
end
it do
+ click_button 'Add badge'
page.within '.badge-settings' do
fill_in 'badge-link-url', with: badge_link_url
fill_in 'badge-image-url', with: badge_image_url
@@ -51,7 +53,7 @@ RSpec.describe 'Project Badges', feature_category: :groups_and_projects do
click_button 'Add badge'
wait_for_requests
- within '.card-body' do
+ within '.gl-card-body' do
expect(find('a')[:href]).to eq badge_link_url
expect(find('a img')[:src]).to eq badge_image_url
end
@@ -63,32 +65,35 @@ RSpec.describe 'Project Badges', feature_category: :groups_and_projects do
it 'form is shown when clicking edit button in list' do
page.within '.badge-settings' do
wait_for_requests
- rows = all('.card-body > div')
+ rows = all('.gl-card-body tbody tr')
expect(rows.length).to eq 2
rows[1].find('[aria-label="Edit"]').click
+ end
- within 'form' do
- expect(find('#badge-link-url').value).to eq project_badge.link_url
- expect(find('#badge-image-url').value).to eq project_badge.image_url
- end
+ page.within '.gl-modal' do
+ expect(find('#badge-link-url').value).to eq project_badge.link_url
+ expect(find('#badge-image-url').value).to eq project_badge.image_url
end
end
it 'updates a badge when submitting the edit form' do
page.within '.badge-settings' do
wait_for_requests
- rows = all('.card-body > div')
+ rows = all('.gl-card-body tbody tr')
expect(rows.length).to eq 2
rows[1].find('[aria-label="Edit"]').click
- within 'form' do
- fill_in 'badge-link-url', with: badge_link_url
- fill_in 'badge-image-url', with: badge_image_url
+ end
- click_button 'Save changes'
- wait_for_requests
- end
+ page.within '.gl-modal' do
+ fill_in 'badge-link-url', with: badge_link_url
+ fill_in 'badge-image-url', with: badge_image_url
- rows = all('.card-body > div')
+ click_button 'Save changes'
+ wait_for_requests
+ end
+
+ page.within '.badge-settings' do
+ rows = all('.gl-card-body tbody tr')
expect(rows.length).to eq 2
expect(rows[1]).to have_content badge_link_url
end
@@ -102,7 +107,7 @@ RSpec.describe 'Project Badges', feature_category: :groups_and_projects do
it 'shows a modal when deleting a badge' do
wait_for_requests
- rows = all('.card-body > div')
+ rows = all('.gl-card-body tbody tr')
expect(rows.length).to eq 2
click_delete_button(rows[1])
@@ -112,14 +117,14 @@ RSpec.describe 'Project Badges', feature_category: :groups_and_projects do
it 'deletes a badge when confirming the modal' do
wait_for_requests
- rows = all('.card-body > div')
+ rows = all('.gl-card-body tbody tr')
expect(rows.length).to eq 2
click_delete_button(rows[1])
find('.modal .btn-danger').click
wait_for_requests
- rows = all('.card-body > div')
+ rows = all('.gl-card-body tbody tr')
expect(rows.length).to eq 1
expect(rows[0]).to have_content group_badge.link_url
end
diff --git a/spec/features/projects/settings/repository_settings_spec.rb b/spec/features/projects/settings/repository_settings_spec.rb
index d53aefe5a4e..838ac67ee3d 100644
--- a/spec/features/projects/settings/repository_settings_spec.rb
+++ b/spec/features/projects/settings/repository_settings_spec.rb
@@ -156,6 +156,7 @@ RSpec.describe 'Projects > Settings > Repository settings', feature_category: :g
before do
visit project_settings_repository_path(project)
+ click_button 'Add new'
end
it 'shows push mirror settings', :js do
diff --git a/spec/features/projects/settings/secure_files_spec.rb b/spec/features/projects/settings/secure_files_spec.rb
index 7ff1a5f3568..5f94e215a5f 100644
--- a/spec/features/projects/settings/secure_files_spec.rb
+++ b/spec/features/projects/settings/secure_files_spec.rb
@@ -46,7 +46,7 @@ RSpec.describe 'Secure Files', :js, feature_category: :groups_and_projects do
within '#js-secure-files' do
expect(page).to have_content(file.name)
- find('button.btn-danger-secondary').click
+ find('[data-testid="delete-button"]').click
end
expect(page).to have_content("Delete #{file.name}?")
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 0006762a971..4e8f42ae792 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
@@ -91,6 +91,7 @@ RSpec.describe "User interacts with deploy keys", :js, feature_category: :groups
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)
@@ -102,6 +103,16 @@ RSpec.describe "User interacts with deploy keys", :js, feature_category: :groups
expect(page).to have_content(deploy_key_title)
end
end
+
+ 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")
+
+ expect(page).not_to have_css('.gl-new-card-add-form')
+ end
end
context "attaching existing keys" do
diff --git a/spec/features/projects/settings/user_manages_project_members_spec.rb b/spec/features/projects/settings/user_manages_project_members_spec.rb
deleted file mode 100644
index df571e13979..00000000000
--- a/spec/features/projects/settings/user_manages_project_members_spec.rb
+++ /dev/null
@@ -1,71 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe 'Projects > Settings > User manages project members', feature_category: :groups_and_projects do
- include Features::MembersHelpers
- include Spec::Support::Helpers::ModalHelpers
- include ListboxHelpers
-
- let(:group) { create(:group, name: 'OpenSource') }
- let(:project) { create(:project, :with_namespace_settings) }
- let(:project2) { create(:project) }
- let(:user) { create(:user) }
- let(:user_dmitriy) { create(:user, name: 'Dmitriy') }
- let(:user_mike) { create(:user, name: 'Mike') }
-
- before do
- project.add_maintainer(user)
- project.add_developer(user_dmitriy)
- sign_in(user)
- end
-
- it 'cancels a team member', :js do
- visit(project_project_members_path(project))
-
- show_actions_for_username(user_dmitriy)
- click_button _('Remove member')
-
- within_modal do
- expect(page).to have_unchecked_field 'Also unassign this user from related issues and merge requests'
- click_button _('Remove member')
- end
-
- visit(project_project_members_path(project))
-
- expect(members_table).not_to have_content(user_dmitriy.name)
- expect(members_table).not_to have_content(user_dmitriy.username)
- end
-
- it 'imports a team from another project', :js do
- project2.add_maintainer(user)
- project2.add_reporter(user_mike)
-
- visit(project_project_members_path(project))
-
- click_on 'Import from a project'
- click_on 'Select a project'
- wait_for_requests
-
- select_listbox_item(project2.name_with_namespace)
- click_button 'Import project members'
- wait_for_requests
-
- expect(find_member_row(user_mike)).to have_content('Reporter')
- end
-
- it 'shows all members of project shared group', :js do
- group.add_owner(user)
- group.add_developer(user_dmitriy)
-
- share_link = project.project_group_links.new(group_access: Gitlab::Access::MAINTAINER)
- share_link.group_id = group.id
- share_link.save!
-
- visit(project_project_members_path(project))
-
- click_link 'Groups'
-
- expect(find_group_row(group)).to have_content('Maintainer')
- end
-end
diff --git a/spec/features/projects/settings/user_renames_a_project_spec.rb b/spec/features/projects/settings/user_renames_a_project_spec.rb
index 5a58c049601..b7ae595a3a9 100644
--- a/spec/features/projects/settings/user_renames_a_project_spec.rb
+++ b/spec/features/projects/settings/user_renames_a_project_spec.rb
@@ -61,7 +61,7 @@ RSpec.describe 'Projects > Settings > User renames a project', feature_category:
it 'shows error for invalid project name' do
change_name(project, '🧮 foo bar ☁️')
expect(page).to have_field 'Project name', with: '🧮 foo bar ☁️'
- expect(page).not_to have_content "Name can contain only letters, digits, emojis '_', '.', dash and space. It must start with letter, digit, emoji or '_'."
+ expect(page).not_to have_content "Name can contain only letters, digits, emoji '_', '.', dash and space. It must start with letter, digit, emoji or '_'."
end
end
end
diff --git a/spec/features/projects/settings/user_searches_in_settings_spec.rb b/spec/features/projects/settings/user_searches_in_settings_spec.rb
index 978b678c334..1ca4b761788 100644
--- a/spec/features/projects/settings/user_searches_in_settings_spec.rb
+++ b/spec/features/projects/settings/user_searches_in_settings_spec.rb
@@ -31,7 +31,7 @@ RSpec.describe 'User searches project settings', :js, feature_category: :groups_
visit project_settings_access_tokens_path(project)
end
- it_behaves_like 'can highlight results', 'Expiration date'
+ it_behaves_like 'can highlight results', 'Token name'
end
context 'in Repository page' do
diff --git a/spec/features/projects/settings/visibility_settings_spec.rb b/spec/features/projects/settings/visibility_settings_spec.rb
index 7d41b60199c..890f514d3da 100644
--- a/spec/features/projects/settings/visibility_settings_spec.rb
+++ b/spec/features/projects/settings/visibility_settings_spec.rb
@@ -30,11 +30,11 @@ RSpec.describe 'Projects > Settings > Visibility settings', :js, feature_categor
context 'disable email notifications' do
it 'is visible' do
- expect(page).to have_selector('.js-emails-disabled', visible: true)
+ expect(page).to have_selector('.js-emails-enabled', visible: true)
end
it 'accepts the changed state' do
- find('.js-emails-disabled input[type="checkbox"]').click
+ find('.js-emails-enabled input[type="checkbox"]').click
expect { save_permissions_group }.to change { updated_emails_disabled? }.to(true)
end
@@ -59,7 +59,7 @@ RSpec.describe 'Projects > Settings > Visibility settings', :js, feature_categor
context 'disable email notifications' do
it 'is not available' do
- expect(page).not_to have_selector('.js-emails-disabled', visible: true)
+ expect(page).not_to have_selector('.js-emails-enabled', visible: true)
end
end
end