demarches-normaliennes/spec/views/users/_procedure_footer.html.haml_spec.rb
2024-08-22 09:26:48 +02:00

70 lines
2.8 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# frozen_string_literal: true
describe 'users/procedure_footer', type: :view do
let(:service) { create(:service) }
let(:dossier) {
dossier = create(:dossier)
dossier.procedure.service = service
return dossier
}
subject { render 'users/procedure_footer', procedure: dossier.procedure, dossier: dossier }
it "affiche les informations de contact" do
expect(subject).to have_text(service.nom)
expect(subject).to have_text(service.organisme)
expect(subject).to have_text(service.telephone)
end
it "affiche les liens usuels requis" do
expect(subject).to have_link("Accessibilité")
expect(subject).to have_link("Mentions légales")
end
context "quand le dossier n'a pas de service associé" do
let(:service) { nil }
it { is_expected.to have_selector("footer") }
it { is_expected.to have_link("Accessibilité") }
it { is_expected.not_to have_text('téléphone') }
end
describe '#cadre_juridique' do
context 'when an external link is provided' do
before { dossier.procedure.update(cadre_juridique: "http://google.fr") }
it { is_expected.to have_link("Texte cadrant la demande dinformation", href: 'http://google.fr') }
end
context 'when there is deliberation attached' do
before { dossier.procedure.update(cadre_juridique: nil, deliberation: fixture_file_upload('spec/fixtures/files/piece_justificative_0.pdf', 'application/pdf')) }
it { is_expected.to have_link("Texte cadrant la demande dinformation") }
end
end
describe '#lien_dpo' do
context "when there is not lien_dpo" do
before { dossier.procedure.update(lien_dpo: nil) }
it { is_expected.not_to have_text('Contacter le Délégué à la Protection des Données') }
end
context "when there is a lien_dpo with an email" do
before { dossier.procedure.update(lien_dpo: 'dpo@beta.gouv.fr') }
it { is_expected.to have_selector('a[href="mailto:dpo@beta.gouv.fr?subject="]') }
end
context "when there is a lien_dpo with a schemaless link" do
before { dossier.procedure.update(lien_dpo: 'beta.gouv.fr') }
it { is_expected.to have_link('Contacter le Délégué à la Protection des Données', href: '//beta.gouv.fr') }
end
context "when there is a lien_dpo with a link with http:// schema" do
before { dossier.procedure.update(lien_dpo: 'http://beta.gouv.fr') }
it { is_expected.to have_link('Contacter le Délégué à la Protection des Données', href: 'http://beta.gouv.fr') }
end
context "when there is a lien_dpo with a link with https:// schema" do
before { dossier.procedure.update(lien_dpo: 'https://beta.gouv.fr') }
it { is_expected.to have_link('Contacter le Délégué à la Protection des Données', href: 'https://beta.gouv.fr') }
end
end
end