diff options
Diffstat (limited to 'spec/views/notify/pipeline_failed_email.html.haml_spec.rb')
-rw-r--r-- | spec/views/notify/pipeline_failed_email.html.haml_spec.rb | 70 |
1 files changed, 3 insertions, 67 deletions
diff --git a/spec/views/notify/pipeline_failed_email.html.haml_spec.rb b/spec/views/notify/pipeline_failed_email.html.haml_spec.rb index a540a53c91d..80dc14b523d 100644 --- a/spec/views/notify/pipeline_failed_email.html.haml_spec.rb +++ b/spec/views/notify/pipeline_failed_email.html.haml_spec.rb @@ -3,72 +3,8 @@ require 'spec_helper' describe 'notify/pipeline_failed_email.html.haml' do - include Devise::Test::ControllerHelpers - - let(:user) { create(:user, developer_projects: [project]) } - let(:project) { create(:project, :repository) } - let(:merge_request) { create(:merge_request, :simple, source_project: project) } - - let(:pipeline) do - create(:ci_pipeline, - project: project, - user: user, - ref: project.default_branch, - sha: project.commit.sha, - status: :failed) - end - - before do - assign(:project, project) - assign(:pipeline, pipeline) - assign(:merge_request, merge_request) - end - - shared_examples_for 'renders the pipeline failed email correctly' do - context 'pipeline with user' do - it 'renders the email correctly' do - render - - expect(rendered).to have_content "Your pipeline has failed" - expect(rendered).to have_content pipeline.project.name - expect(rendered).to have_content pipeline.git_commit_message.truncate(50).gsub(/\s+/, ' ') - expect(rendered).to have_content pipeline.commit.author_name - expect(rendered).to have_content "##{pipeline.id}" - expect(rendered).to have_content pipeline.user.name - expect(rendered).to have_content build.name - end - - it_behaves_like 'correct pipeline information for pipelines for merge requests' - end - - context 'pipeline without user' do - before do - pipeline.update_attribute(:user, nil) - end - - it 'renders the email correctly' do - render - - expect(rendered).to have_content "Your pipeline has failed" - expect(rendered).to have_content pipeline.project.name - expect(rendered).to have_content pipeline.git_commit_message.truncate(50).gsub(/\s+/, ' ') - expect(rendered).to have_content pipeline.commit.author_name - expect(rendered).to have_content "##{pipeline.id}" - expect(rendered).to have_content "by API" - expect(rendered).to have_content build.name - end - end - end - - context 'when the pipeline contains a failed job' do - let!(:build) { create(:ci_build, :failed, pipeline: pipeline, project: pipeline.project) } - - it_behaves_like 'renders the pipeline failed email correctly' - end - - context 'when the latest failed job is a bridge job' do - let!(:build) { create(:ci_bridge, status: :failed, pipeline: pipeline, project: pipeline.project) } - - it_behaves_like 'renders the pipeline failed email correctly' + it_behaves_like 'pipeline status changes email' do + let(:title) { 'Your pipeline has failed' } + let(:status) { :failed } end end |