demarches-normaliennes/spec/controllers/new_administrateur/mail_templates_controller_spec.rb
2020-08-06 16:56:24 +02:00

45 lines
1.4 KiB
Ruby

describe NewAdministrateur::MailTemplatesController, type: :controller do
render_views
let(:procedure) { create :procedure }
let(:initiated_mail) { Mails::InitiatedMail.default_for_procedure(procedure) }
let(:admin) { create(:administrateur) }
before do
sign_in(procedure.administrateurs.first.user)
end
describe 'GET index' do
render_views
subject { get :index, params: { procedure_id: procedure.id } }
it { expect(subject.status).to eq 200 }
it { expect(subject.body).to include("Configuration des emails") }
it { expect(subject.body).to include(Mails::InitiatedMail::DISPLAYED_NAME) }
end
describe '#preview' do
let(:procedure) { create(:procedure, :with_logo, :with_service, administrateur: admin) }
before do
sign_in(admin.user)
get :preview, params: { id: "initiated_mail", procedure_id: procedure.id }
end
it { expect(response).to have_http_status(:ok) }
it 'displays the procedure logo' do
expect(response.body).to have_css("img[src*='/rails/active_storage/blobs/']")
end
it 'displays the action buttons' do
expect(response.body).to have_link('Consulter mon dossier')
end
it 'displays the service in the footer' do
expect(response.body).to include(procedure.service.nom)
expect(response.body).to include(procedure.service.telephone)
end
end
end