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
This commit is contained in:
commit
d77ced23a5
12
qa/qa.rb
12
qa/qa.rb
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue