Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/mailers/emails/merge_requests_spec.rb')
-rw-r--r--spec/mailers/emails/merge_requests_spec.rb33
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