diff options
Diffstat (limited to 'spec/views/projects/settings')
-rw-r--r-- | spec/views/projects/settings/merge_requests/show.html.haml_spec.rb | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/spec/views/projects/settings/merge_requests/show.html.haml_spec.rb b/spec/views/projects/settings/merge_requests/show.html.haml_spec.rb new file mode 100644 index 00000000000..821f430eb10 --- /dev/null +++ b/spec/views/projects/settings/merge_requests/show.html.haml_spec.rb @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'projects/settings/merge_requests/show' do + include Devise::Test::ControllerHelpers + include ProjectForksHelper + + let(:project) { create(:project) } + let(:user) { create(:admin) } + + before do + assign(:project, project) + + allow(controller).to receive(:current_user).and_return(user) + allow(view).to receive_messages(current_user: user, + can?: true, + current_application_settings: Gitlab::CurrentSettings.current_application_settings) + end + + describe 'merge suggestions settings' do + it 'displays a placeholder if none is set' do + render + + placeholder = "Apply %{suggestions_count} suggestion(s) to %{files_count} file(s)" + + expect(rendered).to have_field('project[suggestion_commit_message]', placeholder: placeholder) + end + + it 'displays the user entered value' do + project.update!(suggestion_commit_message: 'refactor: changed %{file_paths}') + + render + + expect(rendered).to have_field('project[suggestion_commit_message]', with: 'refactor: changed %{file_paths}') + end + end + + describe 'merge commit template' do + it 'displays default template if none is set' do + render + + expect(rendered).to have_field('project[merge_commit_template_or_default]', with: <<~MSG.rstrip) + Merge branch '%{source_branch}' into '%{target_branch}' + + %{title} + + %{issues} + + See merge request %{reference} + MSG + end + + it 'displays the user entered value' do + project.update!(merge_commit_template: '%{title}') + + render + + expect(rendered).to have_field('project[merge_commit_template_or_default]', with: '%{title}') + end + end + + describe 'squash template' do + it 'displays default template if none is set' do + render + + expect(rendered).to have_field('project[squash_commit_template_or_default]', with: '%{title}') + end + + it 'displays the user entered value' do + project.update!(squash_commit_template: '%{first_multiline_commit}') + + render + + expect(rendered).to have_field('project[squash_commit_template_or_default]', with: '%{first_multiline_commit}') + end + end +end |