Commit d77ced23 authored by Grzegorz Bizon's avatar Grzegorz Bizon

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
parents 4a85dfd0 348cccf8
...@@ -109,19 +109,21 @@ module QA ...@@ -109,19 +109,21 @@ module QA
autoload :Show, 'qa/page/project/show' autoload :Show, 'qa/page/project/show'
autoload :Activity, 'qa/page/project/activity' 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 module Settings
autoload :Common, 'qa/page/project/settings/common' 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 :Repository, 'qa/page/project/settings/repository'
autoload :CICD, 'qa/page/project/settings/ci_cd' autoload :CICD, 'qa/page/project/settings/ci_cd'
autoload :DeployKeys, 'qa/page/project/settings/deploy_keys' autoload :DeployKeys, 'qa/page/project/settings/deploy_keys'
autoload :SecretVariables, 'qa/page/project/settings/secret_variables' autoload :SecretVariables, 'qa/page/project/settings/secret_variables'
autoload :Runners, 'qa/page/project/settings/runners' autoload :Runners, 'qa/page/project/settings/runners'
end end
module Pipeline
autoload :Index, 'qa/page/project/pipeline/index'
autoload :Show, 'qa/page/project/pipeline/show'
end
end end
module Profile module Profile
......
...@@ -3,10 +3,21 @@ module QA ...@@ -3,10 +3,21 @@ module QA
module Dashboard module Dashboard
class Projects < Page::Base class Projects < Page::Base
view 'app/views/dashboard/projects/index.html.haml' 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) def go_to_project(name)
filter_by_name(name)
find_link(text: name).click find_link(text: name).click
end end
def filter_by_name(name)
page.within('form#project-filter-form') do
fill_in :name, with: name
end
end
end end
end end
end end
......
...@@ -4,6 +4,7 @@ module QA ...@@ -4,6 +4,7 @@ module QA
class Side < Page::Base class Side < Page::Base
view 'app/views/layouts/nav/sidebar/_project.html.haml' do view 'app/views/layouts/nav/sidebar/_project.html.haml' do
element :settings_item element :settings_item
element :settings_link, 'link_to edit_project_path'
element :repository_link, "title: 'Repository'" element :repository_link, "title: 'Repository'"
element :pipelines_settings_link, "title: 'CI / CD'" element :pipelines_settings_link, "title: 'CI / CD'"
element :top_level_items, '.sidebar-top-level-items' element :top_level_items, '.sidebar-top-level-items'
...@@ -36,6 +37,12 @@ module QA ...@@ -36,6 +37,12 @@ module QA
end end
end end
def go_to_settings
within_sidebar do
click_on 'Settings'
end
end
private private
def hover_settings def hover_settings
......
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
...@@ -3,20 +3,23 @@ module QA ...@@ -3,20 +3,23 @@ module QA
module Project module Project
module Settings module Settings
module Common module Common
def expand(element_name) def self.included(base)
page.within('#content-body') do base.class_eval do
click_element(element_name) view 'app/views/projects/edit.html.haml' do
element :advanced_settings_expand, "= expanded ? 'Collapse' : 'Expand'"
yield end
end 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) def expand_section(name)
page.within('#content-body') do page.within('#content-body') do
page.within('section', text: name) do page.within('section', text: name) do
click_button 'Expand' unless first('button', text: 'Collapse') click_button 'Expand' unless first('button', text: 'Collapse')
yield yield if block_given?
end end
end end
end end
......
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
...@@ -6,11 +6,11 @@ module QA ...@@ -6,11 +6,11 @@ module QA
include Common include Common
view 'app/views/projects/deploy_keys/_index.html.haml' do view 'app/views/projects/deploy_keys/_index.html.haml' do
element :expand_deploy_keys element :deploy_keys_section, 'Deploy Keys'
end end
def expand_deploy_keys(&block) def expand_deploy_keys(&block)
expand(:expand_deploy_keys) do expand_section('Deploy Keys') do
DeployKeys.perform(&block) DeployKeys.perform(&block)
end end
end end
......
...@@ -23,11 +23,11 @@ module QA ...@@ -23,11 +23,11 @@ module QA
# In case of an address that is a symbol we will try to guess address # In case of an address that is a symbol we will try to guess address
# based on `Runtime::Scenario#something_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) Browser::Session.new(address, page).perform(&block)
end end
def self.visit(address, page, &block) def self.visit(address, page = nil, &block)
new.visit(address, page, &block) new.visit(address, page, &block)
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment