Migrate pipeline editor QA spec to feature specs
What does this MR do and why?
In the effort of shifting left to improve test coverages and test pipeline run time https://gitlab.com/gitlab-com/gitlab-OKRs/-/work_items/2542 , merging pipeline_editor_can_create_merge_request_spec.rb
and update_ci_file_with_pipeline_editor_spec.rb
is part of this work.
This MR focuses on pipeline_editor_can_create_merge_request_spec.rb
, we have coverage for Pipeline Editor in empty state and the merge request workflow.
Page::Project::PipelineEditor::New.perform(&:create_new_ci)
Page::Project::PipelineEditor::Show.perform do |show|
# Editor should display default content when project does not have CI file yet
# New MR checkbox should not be rendered when a new target branch is yet to be provided
aggregate_failures 'check editor default conditions' do
expect(show.editing_content).not_to be_empty
expect(show).to have_no_new_mr_checkbox
end
# The new MR checkbox is visible after a new branch name is set
show.set_source_branch(SecureRandom.hex(10))
expect(show).to have_new_mr_checkbox
...
end
We move these checks down to feature test level. I.e. in editor_spec.rb:
- Add
context 'when there is not CI config file'
- Verify empty state content is rendered
- Verify create new CI button is present
- Verify when click on create new CI button
-
#source-editor
is rendered -
#source-editor
has default content
-
- Under Commit Form
- Add example for when setting a new source branch, new MR checkbox is displayed
- New MR checkbox is not present when source branch is main
Screenshots or screen recordings
Green pipeline = all is well!
How to set up and validate locally
none!
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 Frédéric Caplette