diff options
Diffstat (limited to 'spec/views/projects')
8 files changed, 143 insertions, 23 deletions
diff --git a/spec/views/projects/ci/lints/show.html.haml_spec.rb b/spec/views/projects/ci/lints/show.html.haml_spec.rb index bcfb952ca66..a71cea6d3c8 100644 --- a/spec/views/projects/ci/lints/show.html.haml_spec.rb +++ b/spec/views/projects/ci/lints/show.html.haml_spec.rb @@ -82,6 +82,20 @@ RSpec.describe 'projects/ci/lints/show' do expect(rendered).to have_content('Environment: testing') expect(rendered).to have_content('When: on_success') end + + context 'when content has warnings' do + before do + assign(:warnings, ['Warning 1', 'Warning 2']) + end + + it 'shows warning messages' do + render + + expect(rendered).to have_content('Warning:') + expect(rendered).to have_content('Warning 1') + expect(rendered).to have_content('Warning 2') + end + end end context 'when the content is invalid' do @@ -89,6 +103,7 @@ RSpec.describe 'projects/ci/lints/show' do assign(:project, project) assign(:status, false) assign(:errors, ['Undefined error']) + assign(:warnings, ['Warning 1', 'Warning 2']) end it 'shows error message' do @@ -98,5 +113,13 @@ RSpec.describe 'projects/ci/lints/show' do expect(rendered).to have_content('Undefined error') expect(rendered).not_to have_content('Tag list:') end + + it 'shows warning messages' do + render + + expect(rendered).to have_content('Warning:') + expect(rendered).to have_content('Warning 1') + expect(rendered).to have_content('Warning 2') + end end end diff --git a/spec/views/projects/commit/show.html.haml_spec.rb b/spec/views/projects/commit/show.html.haml_spec.rb index c2970abbe9f..e23ffe300c5 100644 --- a/spec/views/projects/commit/show.html.haml_spec.rb +++ b/spec/views/projects/commit/show.html.haml_spec.rb @@ -14,6 +14,12 @@ RSpec.describe 'projects/commit/show.html.haml' do assign(:notes, []) assign(:diffs, commit.diffs) + controller.params[:controller] = 'projects/commit' + controller.params[:action] = 'show' + controller.params[:namespace_id] = project.namespace.to_param + controller.params[:project_id] = project.to_param + controller.params[:id] = commit.id + allow(view).to receive(:current_user).and_return(nil) allow(view).to receive(:can?).and_return(false) allow(view).to receive(:can_collaborate_with_project?).and_return(false) diff --git a/spec/views/projects/imports/new.html.haml_spec.rb b/spec/views/projects/imports/new.html.haml_spec.rb index edf9eadf924..7c171ee65b9 100644 --- a/spec/views/projects/imports/new.html.haml_spec.rb +++ b/spec/views/projects/imports/new.html.haml_spec.rb @@ -9,7 +9,7 @@ RSpec.describe "projects/imports/new.html.haml" do let(:project) { create(:project_empty_repo, :import_failed, import_type: :gitlab_project, import_source: '/var/opt/gitlab/gitlab-rails/shared/tmp/project_exports/uploads/t.tar.gz', import_url: nil) } before do - project.import_state.update(last_error: '<a href="http://googl.com">Foo</a>') + project.import_state.update!(last_error: '<a href="http://googl.com">Foo</a>') sign_in(user) project.add_maintainer(user) end diff --git a/spec/views/projects/merge_requests/show.html.haml_spec.rb b/spec/views/projects/merge_requests/show.html.haml_spec.rb index 32819fc2cb0..1acc07dabb6 100644 --- a/spec/views/projects/merge_requests/show.html.haml_spec.rb +++ b/spec/views/projects/merge_requests/show.html.haml_spec.rb @@ -12,7 +12,7 @@ RSpec.describe 'projects/merge_requests/show.html.haml' do describe 'merge request assignee sidebar' do context 'when assignee is allowed to merge' do it 'does not show a warning icon' do - closed_merge_request.update(assignee_id: user.id) + closed_merge_request.update!(assignee_id: user.id) project.add_maintainer(user) assign(:issuable_sidebar, serialize_issuable_sidebar(user, project, closed_merge_request)) @@ -42,20 +42,4 @@ RSpec.describe 'projects/merge_requests/show.html.haml' do expect(rendered).to have_css('a', visible: false, text: 'Close') end end - - context 'when the merge request is open' do - it 'closes the merge request if the source project does not exist' do - closed_merge_request.update(state: 'open') - forked_project.destroy - # Reload merge request so MergeRequest#source_project turns to `nil` - closed_merge_request.reload - preload_view_requirements - - render - - expect(closed_merge_request.reload.state).to eq('closed') - expect(rendered).to have_css('a', visible: false, text: 'Reopen') - expect(rendered).to have_css('a', visible: false, text: 'Close') - end - end end diff --git a/spec/views/projects/pipelines/new.html.haml_spec.rb b/spec/views/projects/pipelines/new.html.haml_spec.rb new file mode 100644 index 00000000000..2deacfa8478 --- /dev/null +++ b/spec/views/projects/pipelines/new.html.haml_spec.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'projects/pipelines/new' do + include Devise::Test::ControllerHelpers + let_it_be(:project) { create(:project, :repository) } + let(:pipeline) { create(:ci_pipeline, project: project) } + + before do + assign(:project, project) + assign(:pipeline, pipeline) + + stub_feature_flags(new_pipeline_form: false) + end + + describe 'warning messages' do + let(:warning_messages) do + [double(content: 'warning 1'), double(content: 'warning 2')] + end + + before do + allow(pipeline).to receive(:warning_messages).and_return(warning_messages) + end + + it 'displays the warnings' do + render + + expect(rendered).to have_css('div.alert-warning') + expect(rendered).to have_content('warning 1') + expect(rendered).to have_content('warning 2') + end + end +end diff --git a/spec/views/projects/pipelines/show.html.haml_spec.rb b/spec/views/projects/pipelines/show.html.haml_spec.rb new file mode 100644 index 00000000000..49add434ab5 --- /dev/null +++ b/spec/views/projects/pipelines/show.html.haml_spec.rb @@ -0,0 +1,77 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'projects/pipelines/show' do + include Devise::Test::ControllerHelpers + let_it_be(:project) { create(:project, :repository) } + let_it_be(:user) { create(:user) } + let(:pipeline) { create(:ci_pipeline, project: project) } + let(:presented_pipeline) { pipeline.present(current_user: user) } + + before do + assign(:project, project) + assign(:pipeline, presented_pipeline) + + stub_feature_flags(new_pipeline_form: false) + end + + shared_examples 'pipeline with warning messages' do + let(:warning_messages) do + [double(content: 'warning 1'), double(content: 'warning 2')] + end + + before do + allow(pipeline).to receive(:warning_messages).and_return(warning_messages) + end + + it 'displays the warnings' do + render + + expect(rendered).to have_css('.bs-callout-warning') + expect(rendered).to have_content('warning 1') + expect(rendered).to have_content('warning 2') + end + end + + context 'when pipeline has errors' do + before do + allow(pipeline).to receive(:yaml_errors).and_return('some errors') + end + + it 'shows errors' do + render + + expect(rendered).to have_content('Found errors in your .gitlab-ci.yml') + expect(rendered).to have_content('some errors') + end + + it 'does not render the pipeline tabs' do + render + + expect(rendered).not_to have_css('ul.pipelines-tabs') + end + + context 'when pipeline has also warnings' do + it_behaves_like 'pipeline with warning messages' + end + end + + context 'when pipeline is valid' do + it 'does not show errors' do + render + + expect(rendered).not_to have_content('Found errors in your .gitlab-ci.yml') + end + + it 'renders the pipeline tabs' do + render + + expect(rendered).to have_css('ul.pipelines-tabs') + end + + context 'when pipeline has warnings' do + it_behaves_like 'pipeline with warning messages' + end + end +end diff --git a/spec/views/projects/services/_form.haml_spec.rb b/spec/views/projects/services/_form.haml_spec.rb index f5c4e79a082..4ca64eb3129 100644 --- a/spec/views/projects/services/_form.haml_spec.rb +++ b/spec/views/projects/services/_form.haml_spec.rb @@ -7,8 +7,6 @@ RSpec.describe 'projects/services/_form' do let(:user) { create(:admin) } before do - stub_feature_flags(integration_form_refactor: false) - assign(:project, project) allow(controller).to receive(:current_user).and_return(user) @@ -29,8 +27,6 @@ RSpec.describe 'projects/services/_form' do render - expect(rendered).to have_content('Event will be triggered when a commit is created/updated') - expect(rendered).to have_content('Event will be triggered when a merge request is created/updated/merged') expect(rendered).to have_css("input[name='redirect_to'][value='/services']", count: 1, visible: false) end end diff --git a/spec/views/projects/settings/operations/show.html.haml_spec.rb b/spec/views/projects/settings/operations/show.html.haml_spec.rb index 1f0b0ea76bf..b4d20da0a5c 100644 --- a/spec/views/projects/settings/operations/show.html.haml_spec.rb +++ b/spec/views/projects/settings/operations/show.html.haml_spec.rb @@ -35,7 +35,7 @@ RSpec.describe 'projects/settings/operations/show' do it 'renders the Operations Settings page' do render template: 'projects/settings/operations/show', locals: operations_show_locals - expect(rendered).to have_content _('Error Tracking') + expect(rendered).to have_content _('Error tracking') expect(rendered).to have_content _('To link Sentry to GitLab, enter your Sentry URL and Auth Token') end end |