summaryrefslogtreecommitdiff
path: root/qa/qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb')
-rw-r--r--qa/qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb60
1 files changed, 60 insertions, 0 deletions
diff --git a/qa/qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb b/qa/qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb
new file mode 100644
index 00000000000..ad12a3ec334
--- /dev/null
+++ b/qa/qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb
@@ -0,0 +1,60 @@
+# frozen_string_literal: true
+
+module QA
+ RSpec.describe 'Create' do
+ context 'Add suggestions to a Merge Request' do
+ let(:commit_message) { 'Applying suggested change for testing purposes.' }
+
+ let(:project) do
+ Resource::Project.fabricate_via_api! do |project|
+ project.name = 'suggestions_project'
+ end
+ end
+
+ let(:merge_request) do
+ Resource::MergeRequest.fabricate_via_api! do |merge_request|
+ merge_request.project = project
+ merge_request.title = 'Needs some suggestions'
+ merge_request.description = '... so please add them.'
+ merge_request.file_content = File.read(
+ Pathname
+ .new(__dir__)
+ .join('../../../../../../fixtures/metrics_dashboards/templating.yml')
+ )
+ end
+ end
+
+ let(:dev_user) do
+ Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1)
+ end
+
+ before do
+ project.add_member(dev_user)
+
+ Flow::Login.sign_in(as: dev_user, skip_page_validation: true)
+ merge_request.visit!
+
+ Page::MergeRequest::Show.perform do |merge_request|
+ merge_request.click_diffs_tab
+ merge_request.add_suggestion_to_diff('This is the suggestion for line number 4!', 4)
+ end
+
+ Flow::Login.sign_in
+ merge_request.visit!
+ end
+
+ it 'applies a single suggestion with a custom message' do
+ Page::MergeRequest::Show.perform do |merge_request|
+ merge_request.click_diffs_tab
+ merge_request.apply_suggestion_with_message(commit_message)
+
+ expect(merge_request).to have_css('.badge-success', text: 'Applied')
+
+ merge_request.click_commits_tab
+
+ expect(merge_request).to have_content(commit_message)
+ end
+ end
+ end
+ end
+end