diff options
Diffstat (limited to 'qa/qa/page/project/job/show.rb')
-rw-r--r-- | qa/qa/page/project/job/show.rb | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/qa/qa/page/project/job/show.rb b/qa/qa/page/project/job/show.rb index 49c676c01f2..9c218f4ed8b 100644 --- a/qa/qa/page/project/job/show.rb +++ b/qa/qa/page/project/job/show.rb @@ -4,10 +4,6 @@ module QA::Page COMPLETED_STATUSES = %w[passed failed canceled blocked skipped manual].freeze # excludes created, pending, running PASSED_STATUS = 'passed'.freeze - view 'app/assets/javascripts/jobs/components/job_app.vue' do - element :loading_animation - end - view 'app/assets/javascripts/jobs/components/job_log.vue' do element :build_trace end @@ -20,22 +16,13 @@ module QA::Page element :pipeline_path end - def completed? - COMPLETED_STATUSES.include?(status_badge) - end - def successful?(timeout: 60) - wait(reload: false, max: timeout) do - completed? && !trace_loading? - end + raise "Timed out waiting for the build trace to load" unless loaded? + raise "Timed out waiting for the status to be a valid completed state" unless completed?(timeout: timeout) status_badge == PASSED_STATUS end - def trace_loading? - has_element?(:loading_animation) - end - # Reminder: You may wish to wait for a particular job status before checking output def output find_element(:build_trace).text @@ -43,6 +30,16 @@ module QA::Page private + def loaded?(wait: 60) + has_element?(:build_trace, wait: wait) + end + + def completed?(timeout: 60) + wait(reload: false, max: timeout) do + COMPLETED_STATUSES.include?(status_badge) + end + end + def status_badge find_element(:status_badge).text end |