summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2018-03-30 11:26:04 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2018-04-02 15:03:54 +0300
commit896ae6fc15ab5e0da364681c3beef8d9f7e18d38 (patch)
treee80d38a7f2c2fc0fe9470f8d8555fc92e47f050e /qa
parent80ef79f2bb056c5fa01b1749f942963e30dddcce (diff)
downloadgitlab-ce-896ae6fc15ab5e0da364681c3beef8d9f7e18d38.tar.gz
Move repository, storage, abuse settings and logging settings to expandable sections
Also reorganize application settings related to repository in more maninful sections Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'qa')
-rw-r--r--qa/qa.rb9
-rw-r--r--qa/qa/factory/settings/hashed_storage.rb8
-rw-r--r--qa/qa/page/admin/settings.rb26
-rw-r--r--qa/qa/page/admin/settings/main.rb21
-rw-r--r--qa/qa/page/admin/settings/repository_storage.rb33
-rw-r--r--qa/qa/page/project/settings/common.rb20
-rw-r--r--qa/qa/page/settings/common.rb25
-rw-r--r--qa/spec/page/validator_spec.rb2
8 files changed, 95 insertions, 49 deletions
diff --git a/qa/qa.rb b/qa/qa.rb
index 7220af5088e..56a99c32b26 100644
--- a/qa/qa.rb
+++ b/qa/qa.rb
@@ -90,6 +90,10 @@ module QA
autoload :OAuth, 'qa/page/main/oauth'
end
+ module Settings
+ autoload :Common, 'qa/page/settings/common'
+ end
+
module Menu
autoload :Main, 'qa/page/menu/main'
autoload :Side, 'qa/page/menu/side'
@@ -150,7 +154,10 @@ module QA
end
module Admin
- autoload :Settings, 'qa/page/admin/settings'
+ module Settings
+ autoload :RepositoryStorage, 'qa/page/admin/settings/repository_storage'
+ autoload :Main, 'qa/page/admin/settings/main'
+ end
end
module Mattermost
diff --git a/qa/qa/factory/settings/hashed_storage.rb b/qa/qa/factory/settings/hashed_storage.rb
index 13ce2435fe4..cd9738715a6 100644
--- a/qa/qa/factory/settings/hashed_storage.rb
+++ b/qa/qa/factory/settings/hashed_storage.rb
@@ -9,9 +9,11 @@ module QA
Page::Menu::Main.act { go_to_admin_area }
Page::Menu::Admin.act { go_to_settings }
- Page::Admin::Settings.act do
- enable_hashed_storage
- save_settings
+ Page::Admin::Settings::Main.perform do |setting|
+ setting.expand_repository_storage do |page|
+ enable_hashed_storage
+ save_settings
+ end
end
QA::Page::Menu::Main.act { sign_out }
diff --git a/qa/qa/page/admin/settings.rb b/qa/qa/page/admin/settings.rb
deleted file mode 100644
index 1f646103e7f..00000000000
--- a/qa/qa/page/admin/settings.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-module QA
- module Page
- module Admin
- class Settings < Page::Base
- view 'app/views/admin/application_settings/_form.html.haml' do
- element :form_actions, '.form-actions'
- element :submit, "submit 'Save'"
- element :repository_storage, '%legend Repository Storage'
- element :hashed_storage,
- 'Create new projects using hashed storage paths'
- end
-
- def enable_hashed_storage
- scroll_to 'legend', text: 'Repository Storage'
- check 'Create new projects using hashed storage paths'
- end
-
- def save_settings
- scroll_to '.form-actions' do
- click_button 'Save'
- end
- end
- end
- end
- end
-end
diff --git a/qa/qa/page/admin/settings/main.rb b/qa/qa/page/admin/settings/main.rb
new file mode 100644
index 00000000000..e7c1220c967
--- /dev/null
+++ b/qa/qa/page/admin/settings/main.rb
@@ -0,0 +1,21 @@
+module QA
+ module Page
+ module Admin
+ module Settings
+ class Main < Page::Base
+ include QA::Page::Settings::Common
+
+ view 'app/views/admin/application_settings/show.html.haml' do
+ element :advanced_settings_section, 'Repository storage'
+ end
+
+ def expand_repository_storage(&block)
+ expand_section('Repository storage') do
+ RepositoryStorage.perform(&block)
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/admin/settings/repository_storage.rb b/qa/qa/page/admin/settings/repository_storage.rb
new file mode 100644
index 00000000000..34b4374fbe6
--- /dev/null
+++ b/qa/qa/page/admin/settings/repository_storage.rb
@@ -0,0 +1,33 @@
+module QA
+ module Page
+ module Admin
+ module Settings
+ class RepositoryStorage < Page::Base
+ view 'app/views/admin/application_settings/_repository_storage.html.haml' do
+ element :submit, "submit 'Save changes'"
+ element :hashed_storage,
+ 'Create new projects using hashed storage paths'
+ end
+
+ def enable_hashed_storage
+ within_repository_storage do
+ check 'Create new projects using hashed storage paths'
+ end
+ end
+
+ def save_settings
+ within_repository_storage do
+ click_button 'Save changes'
+ end
+ end
+
+ def within_repository_storage
+ page.within('.as-repository-storage') do
+ yield
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/project/settings/common.rb b/qa/qa/page/project/settings/common.rb
index 319cb1045b6..874fb381554 100644
--- a/qa/qa/page/project/settings/common.rb
+++ b/qa/qa/page/project/settings/common.rb
@@ -3,6 +3,8 @@ module QA
module Project
module Settings
module Common
+ include QA::Page::Settings::Common
+
def self.included(base)
base.class_eval do
view 'app/views/projects/edit.html.haml' do
@@ -10,24 +12,6 @@ module QA
end
end
end
-
- # Click the Expand button present in the specified section
- #
- # @param [String] name present in the container in the DOM
- def expand_section(name)
- page.within('#content-body') do
- page.within('section', text: name) do
- # Because it is possible to click the button before the JS toggle code is bound
- wait(reload: false) do
- click_button 'Expand' unless first('button', text: 'Collapse')
-
- page.has_content?('Collapse')
- end
-
- yield if block_given?
- end
- end
- end
end
end
end
diff --git a/qa/qa/page/settings/common.rb b/qa/qa/page/settings/common.rb
new file mode 100644
index 00000000000..a683a6829d5
--- /dev/null
+++ b/qa/qa/page/settings/common.rb
@@ -0,0 +1,25 @@
+module QA
+ module Page
+ module Settings
+ module Common
+ # Click the Expand button present in the specified section
+ #
+ # @param [String] name present in the container in the DOM
+ def expand_section(name)
+ page.within('#content-body') do
+ page.within('section', text: name) do
+ # Because it is possible to click the button before the JS toggle code is bound
+ wait(reload: false) do
+ click_button 'Expand' unless first('button', text: 'Collapse')
+
+ page.has_content?('Collapse')
+ end
+
+ yield if block_given?
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/spec/page/validator_spec.rb b/qa/spec/page/validator_spec.rb
index 02822d7d18f..55957649904 100644
--- a/qa/spec/page/validator_spec.rb
+++ b/qa/spec/page/validator_spec.rb
@@ -30,7 +30,7 @@ describe QA::Page::Validator do
let(:view) { spy('view') }
before do
- allow(QA::Page::Admin::Settings)
+ allow(QA::Page::Admin::Settings::Main)
.to receive(:views).and_return([view])
end