Refactor pipeline index page
What does this MR do and why?
Describe in detail what your merge request does and why.
Part 1 of team task https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1053 .
I noticed there was a small change in FE on pipelines page so I figured I should incorporate that into our existing tests. With the new change, Flow::Pipeline
became a little cleaner. In this MR we changed:
- Solidify all of the
wait_for_latest_pipeline_<pipeline_condition>
methods inPipeline::Index
into 1 methodwait_for_latest_pipeline
that takes in pipeline status as an argument. - No longer checking for pipeline status using css
ci-status-icon
, we have a pipeline status badge nowpipeline_commit_status
that we can grab the text from. - We often run into this transient failure #299497 (closed) where no pipeline shows up on pipelines page. I added an explicit 1 minute wait here, if pipeline still doesn't show up, that should signal something has gone wrong with either pipeline creation or this part of the UI fetching for pipelines.
- The rest is just updating tests accordingly.
In Part 2 I'll introduce the same actions but making use of the API. That way, hopefully we can avoid UI flakiness and a lot less refactoring in the future if UI shall change again.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Tiffany Rea