diff options
Diffstat (limited to 'qa/qa/page/project/pipeline/show.rb')
-rw-r--r-- | qa/qa/page/project/pipeline/show.rb | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/qa/qa/page/project/pipeline/show.rb b/qa/qa/page/project/pipeline/show.rb index 57ab7fb4480..0fb5238a308 100644 --- a/qa/qa/page/project/pipeline/show.rb +++ b/qa/qa/page/project/pipeline/show.rb @@ -8,7 +8,7 @@ module QA include Component::CiBadgeLink view 'app/assets/javascripts/vue_shared/components/header_ci_component.vue' do - element :pipeline_header, /header class.*ci-header-container.*/ # rubocop:disable QA/ElementWithPattern + element :pipeline_header end view 'app/assets/javascripts/pipelines/components/graph/graph_component.vue' do @@ -16,8 +16,9 @@ module QA end view 'app/assets/javascripts/pipelines/components/graph/job_item.vue' do - element :job_component, /class.*ci-job-component.*/ # rubocop:disable QA/ElementWithPattern + element :job_item_container element :job_link + element :action_button end view 'app/assets/javascripts/pipelines/components/graph/linked_pipeline.vue' do @@ -34,16 +35,18 @@ module QA end def running?(wait: 0) - within('.ci-header-container') do + within_element(:pipeline_header) do page.has_content?('running', wait: wait) end end def has_build?(name, status: :success, wait: nil) - within('.pipeline-graph') do - within('.ci-job-component', text: name) do + if status + within_element(:job_item_container, text: name) do has_selector?(".ci-status-icon-#{status}", { wait: wait }.compact) end + else + has_element?(:job_item_container, text: name) end end @@ -78,6 +81,12 @@ module QA def click_on_first_job first('.js-pipeline-graph-job-link', wait: QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME).click end + + def click_job_action(job_name) + within_element(:job_item_container, text: job_name) do + click_element(:action_button) + end + end end end end |