45 lines
1.4 KiB
Ruby
45 lines
1.4 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe Backoffice::CommentairesController, type: :controller do
|
|
let(:dossier) { create(:dossier) }
|
|
let(:dossier_id) { dossier.id }
|
|
let(:email_commentaire) { 'test@test.com' }
|
|
let(:texte_commentaire) { 'Commentaire de test' }
|
|
|
|
describe '#POST create' do
|
|
before do
|
|
sign_in create(:gestionnaire)
|
|
end
|
|
context "création correct d'un commentaire" do
|
|
it 'depuis la page admin' do
|
|
post :create, dossier_id: dossier_id, email_commentaire: email_commentaire, texte_commentaire: texte_commentaire
|
|
expect(response).to redirect_to("/backoffice/dossiers/#{dossier_id}")
|
|
end
|
|
end
|
|
|
|
describe 'change dossier state after post a comment' do
|
|
context 'gestionnaire is connected' do
|
|
context 'when dossier is at state updated' do
|
|
before do
|
|
sign_in create(:gestionnaire)
|
|
dossier.updated!
|
|
|
|
post :create, dossier_id: dossier_id, texte_commentaire: texte_commentaire
|
|
dossier.reload
|
|
end
|
|
|
|
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
|
|
end
|
|
end
|