- Send email when gestionnaire write a new commentaire

- Change url on mail => redirect on dossier recapitulative page
This commit is contained in:
Xavier J 2015-12-15 15:33:21 +01:00
parent 4aedf72631
commit a24ff681fc
6 changed files with 24 additions and 5 deletions

View file

@ -15,6 +15,7 @@ class CommentairesController < ApplicationController
@commentaire.save
if is_gestionnaire?
NotificationMailer.new_answer(@commentaire.dossier).deliver_now!
redirect_to url_for(controller: 'backoffice/dossiers', action: :show, id: params['dossier_id'])
else
redirect_to url_for(controller: :recapitulatif, action: :show, dossier_id: params['dossier_id'])

View file

@ -2,7 +2,7 @@ Bonjour <%= @user.email %>!
Votre dossier N°<%=@dossier.id%> a été validé par votre gestionnaire.
Afin de finaliser son dépot, merci de vous rendre sur <%=users_dossiers_url(id: @dossier.id)%>
Afin de finaliser son dépot, merci de vous rendre sur <%=users_dossier_recapitulatif_url(dossier_id: @dossier.id)%>
Bonne journée

View file

@ -2,7 +2,7 @@ Bonjour <%= @user.email %>!
Un nouveau commentaire est disponible dans votre espace TPS.
Pour le consulter, merci de vous rendre sur <%=users_dossiers_url(id: @dossier.id)%>
Pour le consulter, merci de vous rendre sur <%=users_dossier_recapitulatif_url(dossier_id: @dossier.id)%>
Bonne journée

View file

@ -31,6 +31,13 @@ describe Backoffice::CommentairesController, type: :controller do
subject { dossier.state }
it {is_expected.to eq('replied')}
it 'Notification email is send' do
expect(NotificationMailer).to receive(:new_answer).and_return(NotificationMailer)
expect(NotificationMailer).to receive(:deliver_now!)
post :create, dossier_id: dossier_id, texte_commentaire: texte_commentaire
end
end
end
end

View file

@ -8,11 +8,22 @@ describe Users::CommentairesController, type: :controller do
describe '#POST create' do
context 'création correct d\'un commentaire' do
it 'depuis la page récapitulatif' do
subject do
sign_in dossier.user
post :create, dossier_id: dossier_id, texte_commentaire: texte_commentaire
end
it 'depuis la page récapitulatif' do
subject
expect(response).to redirect_to("/users/dossiers/#{dossier_id}/recapitulatif")
end
it 'Notification email is not send' do
expect(NotificationMailer).not_to receive(:new_answer)
expect(WelcomeMailer).not_to receive(:deliver_now!)
subject
end
end
describe 'change dossier state after post a comment' do

View file

@ -8,7 +8,7 @@ RSpec.describe NotificationMailer, type: :mailer do
subject(:subject) { described_class.new_answer(dossier) }
it { expect(subject.body).to match('Un nouveau commentaire est disponible dans votre espace TPS.') }
it { expect(subject.body).to include("Pour le consulter, merci de vous rendre sur #{users_dossiers_url(id: dossier.id)}") }
it { expect(subject.body).to include("Pour le consulter, merci de vous rendre sur #{users_dossier_recapitulatif_url(dossier_id: dossier.id)}") }
it { expect(subject.subject).to eq("Nouveau commentaire pour votre dossier TPS N°#{dossier.id}") }
end
@ -19,7 +19,7 @@ RSpec.describe NotificationMailer, type: :mailer do
subject(:subject) { described_class.dossier_validated(dossier) }
it { expect(subject.body).to match("Votre dossier N°#{dossier.id} a été validé par votre gestionnaire.") }
it { expect(subject.body).to include("Afin de finaliser son dépot, merci de vous rendre sur #{users_dossiers_url(id: dossier.id)}") }
it { expect(subject.body).to include("Afin de finaliser son dépot, merci de vous rendre sur #{users_dossier_recapitulatif_url(dossier_id: dossier.id)}") }
it { expect(subject.subject).to eq("Votre dossier TPS N°#{dossier.id} a été validé") }
end
end