diff options
Diffstat (limited to 'spec/mailers')
| -rw-r--r-- | spec/mailers/calendar_mailer_spec.rb | 35 | ||||
| -rw-r--r-- | spec/mailers/previews/calendar_mailer_preview.rb | 4 |
2 files changed, 39 insertions, 0 deletions
diff --git a/spec/mailers/calendar_mailer_spec.rb b/spec/mailers/calendar_mailer_spec.rb new file mode 100644 index 000000000..75241b063 --- /dev/null +++ b/spec/mailers/calendar_mailer_spec.rb @@ -0,0 +1,35 @@ +require "rails_helper" + +RSpec.describe CalendarMailer, type: :mailer do + + shared_examples 'notify all user' do |type| + let!(:user) { create(:user) } + let(:calendar) { create(:calendar, shared: true) } + let(:email) { CalendarMailer.send(type, calendar) } + + it 'should deliver email to user' do + expect(email).to deliver_to user.email + end + + it 'should have correct from' do + expect(email.from).to eq(['stif-boiv@af83.com']) + end + + it 'should have subject' do + expect(email).to have_subject I18n.t("mailers.calendar_mailer.#{type}.subject") + end + + it 'should have correct body' do + key = I18n.t("mailers.calendar_mailer.#{type}.body") + expect(email).to have_body_text /#{key}/ + end + end + + describe 'updated' do + it_behaves_like 'notify all user', 'updated' + end + + describe 'created' do + it_behaves_like 'notify all user', 'created' + end +end diff --git a/spec/mailers/previews/calendar_mailer_preview.rb b/spec/mailers/previews/calendar_mailer_preview.rb new file mode 100644 index 000000000..572c6c667 --- /dev/null +++ b/spec/mailers/previews/calendar_mailer_preview.rb @@ -0,0 +1,4 @@ +# Preview all emails at http://localhost:3000/rails/mailers/calendar_mailer +class CalendarMailerPreview < ActionMailer::Preview + +end |
