diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-01-26 11:24:23 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2018-01-26 11:24:23 +0000 |
commit | d77ced23a596870b7deb223956968d2273720631 (patch) | |
tree | 06e75b24602bdbf0c75602555b9203d094cc562e /qa | |
parent | 4a85dfd0b23dae6dd38aa6fe850e3e69361cf8f9 (diff) | |
parent | 348cccf882e38737411d0ee07a7a19af0977a420 (diff) | |
download | gitlab-ce-d77ced23a596870b7deb223956968d2273720631.tar.gz |
Merge branch 'qa/ee-4698-backport' into 'master'
Backport QA changes from EE
Closes gitlab-ee#4698
See merge request gitlab-org/gitlab-ce!16728
Diffstat (limited to 'qa')
-rw-r--r-- | qa/qa.rb | 12 | ||||
-rw-r--r-- | qa/qa/page/dashboard/projects.rb | 11 | ||||
-rw-r--r-- | qa/qa/page/menu/side.rb | 7 | ||||
-rw-r--r-- | qa/qa/page/project/settings/advanced.rb | 33 | ||||
-rw-r--r-- | qa/qa/page/project/settings/common.rb | 15 | ||||
-rw-r--r-- | qa/qa/page/project/settings/main.rb | 21 | ||||
-rw-r--r-- | qa/qa/page/project/settings/repository.rb | 4 | ||||
-rw-r--r-- | qa/qa/runtime/browser.rb | 4 |
8 files changed, 92 insertions, 15 deletions
@@ -109,19 +109,21 @@ module QA autoload :Show, 'qa/page/project/show' autoload :Activity, 'qa/page/project/activity' + module Pipeline + autoload :Index, 'qa/page/project/pipeline/index' + autoload :Show, 'qa/page/project/pipeline/show' + end + module Settings autoload :Common, 'qa/page/project/settings/common' + autoload :Advanced, 'qa/page/project/settings/advanced' + autoload :Main, 'qa/page/project/settings/main' autoload :Repository, 'qa/page/project/settings/repository' autoload :CICD, 'qa/page/project/settings/ci_cd' autoload :DeployKeys, 'qa/page/project/settings/deploy_keys' autoload :SecretVariables, 'qa/page/project/settings/secret_variables' autoload :Runners, 'qa/page/project/settings/runners' end - - module Pipeline - autoload :Index, 'qa/page/project/pipeline/index' - autoload :Show, 'qa/page/project/pipeline/show' - end end module Profile diff --git a/qa/qa/page/dashboard/projects.rb b/qa/qa/page/dashboard/projects.rb index 71255b18362..73942cb856a 100644 --- a/qa/qa/page/dashboard/projects.rb +++ b/qa/qa/page/dashboard/projects.rb @@ -3,10 +3,21 @@ module QA module Dashboard class Projects < Page::Base view 'app/views/dashboard/projects/index.html.haml' + view 'app/views/shared/projects/_search_form.html.haml' do + element :form_filter_by_name, /form_tag.+id: 'project-filter-form'/ + end def go_to_project(name) + filter_by_name(name) + find_link(text: name).click end + + def filter_by_name(name) + page.within('form#project-filter-form') do + fill_in :name, with: name + end + end end end end diff --git a/qa/qa/page/menu/side.rb b/qa/qa/page/menu/side.rb index 8978f2fa0fd..b2738152907 100644 --- a/qa/qa/page/menu/side.rb +++ b/qa/qa/page/menu/side.rb @@ -4,6 +4,7 @@ module QA class Side < Page::Base view 'app/views/layouts/nav/sidebar/_project.html.haml' do element :settings_item + element :settings_link, 'link_to edit_project_path' element :repository_link, "title: 'Repository'" element :pipelines_settings_link, "title: 'CI / CD'" element :top_level_items, '.sidebar-top-level-items' @@ -36,6 +37,12 @@ module QA end end + def go_to_settings + within_sidebar do + click_on 'Settings' + end + end + private def hover_settings diff --git a/qa/qa/page/project/settings/advanced.rb b/qa/qa/page/project/settings/advanced.rb new file mode 100644 index 00000000000..5ef00504fdf --- /dev/null +++ b/qa/qa/page/project/settings/advanced.rb @@ -0,0 +1,33 @@ +module QA + module Page + module Project + module Settings + class Advanced < Page::Base + view 'app/views/projects/edit.html.haml' do + element :project_path_field, 'f.text_field :path' + element :project_name_field, 'f.text_field :name' + element :rename_project_button, "f.submit 'Rename project'" + end + + def rename_to(path) + fill_project_name(path) + fill_project_path(path) + rename_project! + end + + def fill_project_path(path) + fill_in :project_path, with: path + end + + def fill_project_name(name) + fill_in :project_name, with: name + end + + def rename_project! + click_on 'Rename project' + 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 0a2a3488b9a..c7955124ef3 100644 --- a/qa/qa/page/project/settings/common.rb +++ b/qa/qa/page/project/settings/common.rb @@ -3,20 +3,23 @@ module QA module Project module Settings module Common - def expand(element_name) - page.within('#content-body') do - click_element(element_name) - - yield + def self.included(base) + base.class_eval do + view 'app/views/projects/edit.html.haml' do + element :advanced_settings_expand, "= expanded ? 'Collapse' : 'Expand'" + 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 click_button 'Expand' unless first('button', text: 'Collapse') - yield + yield if block_given? end end end diff --git a/qa/qa/page/project/settings/main.rb b/qa/qa/page/project/settings/main.rb new file mode 100644 index 00000000000..5d743f4c9c8 --- /dev/null +++ b/qa/qa/page/project/settings/main.rb @@ -0,0 +1,21 @@ +module QA + module Page + module Project + module Settings + class Main < Page::Base + include Common + + view 'app/views/projects/edit.html.haml' do + element :advanced_settings_section, 'Advanced settings' + end + + def expand_advanced_settings(&block) + expand_section('Advanced settings') do + Advanced.perform(&block) + end + end + end + end + end + end +end diff --git a/qa/qa/page/project/settings/repository.rb b/qa/qa/page/project/settings/repository.rb index 6cc68358c8c..22362164a1a 100644 --- a/qa/qa/page/project/settings/repository.rb +++ b/qa/qa/page/project/settings/repository.rb @@ -6,11 +6,11 @@ module QA include Common view 'app/views/projects/deploy_keys/_index.html.haml' do - element :expand_deploy_keys + element :deploy_keys_section, 'Deploy Keys' end def expand_deploy_keys(&block) - expand(:expand_deploy_keys) do + expand_section('Deploy Keys') do DeployKeys.perform(&block) end end diff --git a/qa/qa/runtime/browser.rb b/qa/qa/runtime/browser.rb index 7b1be3d5ef3..ce888b51ea5 100644 --- a/qa/qa/runtime/browser.rb +++ b/qa/qa/runtime/browser.rb @@ -23,11 +23,11 @@ module QA # In case of an address that is a symbol we will try to guess address # based on `Runtime::Scenario#something_address`. # - def visit(address, page, &block) + def visit(address, page = nil, &block) Browser::Session.new(address, page).perform(&block) end - def self.visit(address, page, &block) + def self.visit(address, page = nil, &block) new.visit(address, page, &block) end |