Simplify flaky runner pause/resume spec assertions
What does this MR do and why?
The 'pauses and resumes runner' shared example has been a recurring flaky
test. Previous attempts (!240917 (merged), !242256 (merged)) tried to stabilize assertions on the
toggle button's label and disabled state — for example
have_button 'Resume', disabled: false and not_to have_button 'Pause'.
Those assertions race the in-flight runnerUpdate GraphQL mutation: the button
passes through a transitional loading/disabled state before the component
re-renders, so even the disabled: false waits did not fully eliminate the
flake (still failing on master, see the referenced issue).
This MR drops the button-state assertions entirely and asserts only on the "Paused" status text, which is the stable end-state of the pause and resume mutations:
- before pausing:
Pausedtext is absent - after clicking Pause:
Pausedtext is present - after clicking Resume:
Pausedtext is absent again
This is a simpler assertion that no longer depends on transient button states, while still exercising the same pause/resume logic end-to-end.
References
How to verify
bin/rspec spec/features/groups/runners/owner_manages_runners_spec.rb
bin/rspec spec/features/projects/runners/user_edits_runner_spec.rb