Skip to content
Snippets Groups Projects
Commit 57900720 authored by Winnie Hellmann's avatar Winnie Hellmann Committed by Rémy Coutable
Browse files

Enable Capybara/FeatureMethods cop (EE-port)

parent 0cc2caaf
No related branches found
No related tags found
No related merge requests found
Showing
with 56 additions and 60 deletions
Loading
Loading
@@ -10,10 +10,6 @@
Capybara/CurrentPathExpectation:
Enabled: false
 
# Offense count: 956
Capybara/FeatureMethods:
Enabled: false
# Offense count: 23
FactoryBot/DynamicAttributeDefinedStatically:
Exclude:
Loading
Loading
require 'spec_helper'
 
feature 'Admin updates EE-only settings' do
describe 'Admin updates EE-only settings' do
include StubENV
 
before do
Loading
Loading
@@ -10,7 +10,7 @@
visit admin_application_settings_path
end
 
scenario 'Modify GitLab Geo settings' do
it 'Modify GitLab Geo settings' do
page.within('.as-geo') do
fill_in 'Connection timeout', with: 15
click_button 'Save changes'
Loading
Loading
@@ -20,7 +20,7 @@
expect(page).to have_content "Application settings saved successfully"
end
 
scenario 'Enable external authentication' do
it 'Enable external authentication' do
page.within('.as-external-auth') do
check 'Enable classification control using an external service'
fill_in 'Default classification label', with: 'default'
Loading
Loading
@@ -30,7 +30,7 @@
expect(page).to have_content "Application settings saved successfully"
end
 
scenario 'Enable elastic search indexing' do
it 'Enable elastic search indexing' do
page.within('.as-elasticsearch') do
check 'Elasticsearch indexing'
click_button 'Save changes'
Loading
Loading
@@ -40,7 +40,7 @@
expect(page).to have_content "Application settings saved successfully"
end
 
scenario 'Enable Slack application' do
it 'Enable Slack application' do
allow(Gitlab).to receive(:com?).and_return(true)
visit admin_application_settings_path
 
Loading
Loading
require 'spec_helper'
 
feature 'Burndown charts' do
describe 'Burndown charts' do
let(:current_user) { create(:user) }
let(:milestone) do
create(:milestone, project: project,
Loading
Loading
require 'spec_helper'
 
feature 'CI shared runner settings' do
describe 'CI shared runner settings' do
include StubENV
 
let(:admin) { create(:admin) }
Loading
Loading
@@ -13,7 +13,7 @@
end
 
context 'without global shared runners quota' do
scenario 'should display ratio with global quota' do
it 'should display ratio with global quota' do
visit_admin_group_path
expect(page).to have_content("Pipeline minutes quota: 400 / Unlimited")
expect(page).to have_selector('.shared_runners_limit_disabled')
Loading
Loading
@@ -25,20 +25,20 @@
set_admin_shared_runners_minutes 500
end
 
scenario 'should display ratio with global quota' do
it 'should display ratio with global quota' do
visit_admin_group_path
expect(page).to have_content("Pipeline minutes quota: 400 / 500")
expect(page).to have_selector('.shared_runners_limit_under_quota')
end
 
scenario 'should display new ratio with overridden group quota' do
it 'should display new ratio with overridden group quota' do
set_group_shared_runners_minutes 300
visit_admin_group_path
expect(page).to have_content("Pipeline minutes quota: 400 / 300")
expect(page).to have_selector('.shared_runners_limit_over_quota')
end
 
scenario 'should display unlimited ratio with overridden group quota' do
it 'should display unlimited ratio with overridden group quota' do
set_group_shared_runners_minutes 0
visit_admin_group_path
expect(page).to have_content("Pipeline minutes quota: 400 / Unlimited")
Loading
Loading
require 'spec_helper'
 
feature 'CI shared runner limits' do
describe 'CI shared runner limits' do
let(:user) { create(:user) }
let!(:project) { create(:project, :repository, namespace: group, shared_runners_enabled: true) }
let(:group) { create(:group) }
Loading
Loading
@@ -15,12 +15,12 @@
end
 
context 'without limit' do
scenario 'it does not display a warning message on project homepage' do
it 'it does not display a warning message on project homepage' do
visit_project_home
expect_no_quota_exceeded_alert
end
 
scenario 'it does not display a warning message on pipelines page' do
it 'it does not display a warning message on pipelines page' do
visit_project_pipelines
expect_no_quota_exceeded_alert
end
Loading
Loading
@@ -30,12 +30,12 @@
context 'when limit is exceeded' do
let(:group) { create(:group, :with_used_build_minutes_limit) }
 
scenario 'it displays a warning message on project homepage' do
it 'it displays a warning message on project homepage' do
visit_project_home
expect_quota_exceeded_alert("#{group.name} has exceeded their pipeline minutes quota.")
end
 
scenario 'it displays a warning message on pipelines page' do
it 'it displays a warning message on pipelines page' do
visit_project_pipelines
expect_quota_exceeded_alert("#{group.name} has exceeded their pipeline minutes quota.")
end
Loading
Loading
@@ -44,12 +44,12 @@
context 'when limit not yet exceeded' do
let(:group) { create(:group, :with_not_used_build_minutes_limit) }
 
scenario 'it does not display a warning message on project homepage' do
it 'it does not display a warning message on project homepage' do
visit_project_home
expect_no_quota_exceeded_alert
end
 
scenario 'it does not display a warning message on pipelines page' do
it 'it does not display a warning message on pipelines page' do
visit_project_pipelines
expect_no_quota_exceeded_alert
end
Loading
Loading
@@ -58,12 +58,12 @@
context 'when minutes are not yet set' do
let(:group) { create(:group, :with_build_minutes_limit) }
 
scenario 'it does not display a warning message on project homepage' do
it 'it does not display a warning message on project homepage' do
visit_project_home
expect_no_quota_exceeded_alert
end
 
scenario 'it does not display a warning message on pipelines page' do
it 'it does not display a warning message on pipelines page' do
visit_project_pipelines
expect_no_quota_exceeded_alert
end
Loading
Loading
@@ -75,12 +75,12 @@
let(:group) { create(:group, :with_used_build_minutes_limit) }
 
context 'when limit is defined and limit is exceeded' do
scenario 'it does not display a warning message on project homepage' do
it 'it does not display a warning message on project homepage' do
visit_project_home
expect_no_quota_exceeded_alert
end
 
scenario 'it does not display a warning message on pipelines page' do
it 'it does not display a warning message on pipelines page' do
visit_project_pipelines
expect_no_quota_exceeded_alert
end
Loading
Loading
require 'spec_helper'
 
feature 'The group dashboard' do
describe 'The group dashboard' do
include ExternalAuthorizationServiceHelpers
 
let(:user) { create(:user) }
Loading
Loading
require 'spec_helper'
 
feature 'Delete Epic', :js do
describe 'Delete Epic', :js do
let(:user) { create(:user) }
let(:group) { create(:group, :public) }
let(:epic) { create(:epic, group: group) }
Loading
Loading
require 'spec_helper'
 
feature 'New Epic', :js do
describe 'New Epic', :js do
let(:user) { create(:user) }
let(:group) { create(:group, :public) }
 
Loading
Loading
require 'rails_helper'
 
feature 'Manually create a todo item from epic', :js do
describe 'Manually create a todo item from epic', :js do
let(:group) { create(:group) }
let(:epic) { create(:epic, group: group) }
let(:user) { create(:user)}
Loading
Loading
require 'spec_helper'
 
feature 'Update Epic', :js do
describe 'Update Epic', :js do
include DropzoneHelper
 
let(:user) { create(:user) }
Loading
Loading
require 'spec_helper'
 
feature 'GEO Nodes' do
describe 'GEO Nodes' do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:geo_url) { 'http://geo.example.com' }
Loading
Loading
require 'spec_helper'
 
feature 'Groups > Contribution Analytics', :js do
describe 'Groups > Contribution Analytics', :js do
let(:user) { create(:user) }
let(:group) { create(:group) }
let(:empty_project) { create(:project, namespace: group) }
Loading
Loading
require 'spec_helper'
 
feature 'Groups > Audit Events', :js do
describe 'Groups > Audit Events', :js do
let(:user) { create(:user) }
let(:pete) { create(:user, name: 'Pete') }
let(:group) { create(:group) }
Loading
Loading
require 'spec_helper'
 
feature 'The group page' do
describe 'The group page' do
include ExternalAuthorizationServiceHelpers
 
let(:user) { create(:user) }
Loading
Loading
require 'spec_helper'
 
feature 'Edit group settings' do
given(:user) { create(:user) }
given(:developer) { create(:user) }
given(:group) { create(:group, path: 'foo') }
describe 'Edit group settings' do
let(:user) { create(:user) }
let(:developer) { create(:user) }
let(:group) { create(:group, path: 'foo') }
 
background do
before do
group.add_owner(user)
group.add_developer(developer)
sign_in(user)
Loading
Loading
@@ -18,14 +18,14 @@
allow(Gitlab::Auth::LDAP::Config).to receive(:enabled?).and_return(true)
end
 
scenario 'is able to navigate to LDAP group section' do
it 'is able to navigate to LDAP group section' do
visit edit_group_path(group)
 
expect(find('.nav-sidebar')).to have_content('LDAP Synchronization')
end
 
context 'with owners not being able to manage LDAP' do
scenario 'is not able to navigate to LDAP group section' do
it 'is not able to navigate to LDAP group section' do
stub_application_setting(allow_group_owners_to_manage_ldap: false)
 
visit edit_group_path(group)
Loading
Loading
require 'spec_helper'
 
feature 'Edit group settings', :js do
describe 'Edit group settings', :js do
include Select2Helper
 
given(:user) { create(:user) }
given(:group) { create(:group, path: 'foo') }
let(:user) { create(:user) }
let(:group) { create(:group, path: 'foo') }
 
background do
before do
group.add_owner(user)
sign_in(user)
end
Loading
Loading
@@ -23,7 +23,7 @@
visit group_ldap_group_links_path(group)
end
 
scenario 'adds new LDAP synchronization', :js do
it 'adds new LDAP synchronization', :js do
page.within('form#new_ldap_group_link') do
select2 'my-group-cn', from: '#ldap_group_link_cn'
select 'Developer', from: 'ldap_group_link_group_access'
Loading
Loading
@@ -35,14 +35,14 @@
expect(page).to have_content('As Developer on ldap server')
end
 
scenario 'shows the LDAP filter section' do
it 'shows the LDAP filter section' do
choose('sync_method_filter')
 
expect(page).to have_content('This query must use valid LDAP Search Filter Syntax')
expect(page).not_to have_content("Synchronize #{group.name}'s members with this LDAP group")
end
 
scenario 'shows the LDAP group section' do
it 'shows the LDAP group section' do
choose('sync_method_filter') # choose filter first, as group's the default
choose('sync_method_group')
 
Loading
Loading
@@ -58,15 +58,15 @@
visit group_ldap_group_links_path(group)
end
 
scenario 'does not show the LDAP search method switcher' do
it 'does not show the LDAP search method switcher' do
expect(page).not_to have_field('sync_method_filter')
end
 
scenario 'shows the LDAP group section' do
it 'shows the LDAP group section' do
expect(page).to have_content("Synchronize #{group.name}'s members with this LDAP group")
end
 
scenario 'does not shows the LDAP filter section' do
it 'does not shows the LDAP filter section' do
expect(page).not_to have_content('This query must use valid LDAP Search Filter Syntax')
end
end
Loading
Loading
require 'spec_helper'
 
feature 'Groups > Members > Master/Owner can override LDAP access levels' do
describe 'Groups > Members > Master/Owner can override LDAP access levels' do
include WaitForRequests
 
let(:johndoe) { create(:user, name: 'John Doe') }
Loading
Loading
@@ -13,20 +13,20 @@
let!(:ldap_member) { create(:group_member, :guest, group: group, user: johndoe, ldap: true) }
let!(:regular_member) { create(:group_member, :guest, group: group, user: maryjane, ldap: false) }
 
background do
before do
# We need to actually activate the LDAP config otherwise `Group#ldap_synced?` will always be false!
allow(Gitlab.config.ldap).to receive_messages(enabled: true)
 
sign_in(owner)
end
 
scenario 'override not available on project members page', :js do
it 'override not available on project members page', :js do
visit namespace_project_project_members_path(group, project)
 
expect(page).not_to have_button 'Edit permissions'
end
 
scenario 'owner cannot override LDAP access level', :js do
it 'owner cannot override LDAP access level', :js do
stub_application_setting(allow_group_owners_to_manage_ldap: false)
 
visit group_group_members_path(group)
Loading
Loading
@@ -38,7 +38,7 @@
end
end
 
scenario 'owner can override LDAP access level', :js do
it 'owner can override LDAP access level', :js do
ldap_override_message = 'John Doe is currently an LDAP user. Editing their permissions will override the settings from the LDAP group sync.'
 
visit group_group_members_path(group)
Loading
Loading
require 'spec_helper'
 
feature 'Groups > Pipeline Quota' do
describe 'Groups > Pipeline Quota' do
let(:user) { create(:user) }
let(:group) { create(:group) }
let!(:project) { create(:project, namespace: group, shared_runners_enabled: true) }
Loading
Loading
require 'spec_helper'
 
feature 'SAML provider settings' do
describe 'SAML provider settings' do
include CookieHelper
 
let(:user) { create(:user) }
Loading
Loading
require 'rails_helper'
 
feature 'Issue Sidebar' do
describe 'Issue Sidebar' do
include MobileHelpers
 
let(:group) { create(:group, :nested) }
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment