diff options
Diffstat (limited to 'spec/mailers/emails/merge_requests_spec.rb')
-rw-r--r-- | spec/mailers/emails/merge_requests_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/mailers/emails/merge_requests_spec.rb b/spec/mailers/emails/merge_requests_spec.rb index 477fb16400a..9235a946394 100644 --- a/spec/mailers/emails/merge_requests_spec.rb +++ b/spec/mailers/emails/merge_requests_spec.rb @@ -33,4 +33,37 @@ RSpec.describe Emails::MergeRequests do expect(subject).to have_content current_user.name end end + + describe '#merge_requests_csv_email' do + let(:user) { create(:user) } + let(:project) { create(:project) } + let(:merge_requests) { create_list(:merge_request, 10) } + let(:export_status) do + { + rows_expected: 10, + rows_written: 10, + truncated: false + } + end + + let(:csv_data) { MergeRequests::ExportCsvService.new(MergeRequest.all, project).csv_data } + + subject { Notify.merge_requests_csv_email(user, project, csv_data, export_status) } + + it { expect(subject.subject).to eq("#{project.name} | Exported merge requests") } + it { expect(subject.to).to contain_exactly(user.notification_email_for(project.group)) } + it { expect(subject).to have_content('Your CSV export of 10 merge requests from project')} + + context 'when truncated' do + let(:export_status) do + { + rows_expected: 10, + rows_written: 10, + truncated: true + } + end + + it { expect(subject).to have_content('This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB.') } + end + end end |