diff --git a/spec/views/shared/dossiers/_header.html.haml.spec.rb b/spec/views/shared/dossiers/_header.html.haml.spec.rb new file mode 100644 index 000000000..648fdb365 --- /dev/null +++ b/spec/views/shared/dossiers/_header.html.haml.spec.rb @@ -0,0 +1,34 @@ +describe 'dossiers/show/header.html.haml', type: :view do + let(:procedure) { create(:procedure, :discarded) } + let(:dossier) { create(:dossier, state: "brouillon", procedure: procedure) } + + before do + sign_in dossier.user + end + + subject! { render 'shared/dossiers/header.html.haml', dossier: dossier } + + context "when the procedure is discarded with a dossier en brouillon" do + it 'affiche que la démarche est supprimée' do + expect(rendered).to have_text("La démarche liée à votre dossier est supprimée") + expect(rendered).to have_text("Vous pouvez toujours consulter votre dossier, mais il ne sera pas traité par l'administration") + end + + it 'cannot download the dossier' do + expect(rendered).not_to have_text("Tout le dossier") + end + end + + context "when the procedure is closed with a dossier en brouillon" do + let(:procedure) { create(:procedure, :closed) } + + it 'affiche que la démarche est close' do + expect(rendered).to have_text("La démarche liée à votre dossier est close") + expect(rendered).to have_text("Vous pouvez toujours consulter votre dossier, mais il ne sera pas traité par l'administration") + end + + it 'cannot download the dossier' do + expect(rendered).not_to have_text("Tout le dossier") + end + end +end diff --git a/spec/views/users/dossiers/show/_header.html.haml_spec.rb b/spec/views/users/dossiers/show/_header.html.haml_spec.rb index 69cc5b371..660a09a3c 100644 --- a/spec/views/users/dossiers/show/_header.html.haml_spec.rb +++ b/spec/views/users/dossiers/show/_header.html.haml_spec.rb @@ -16,4 +16,45 @@ describe 'users/dossiers/show/header.html.haml', type: :view do expect(rendered).to have_link("Résumé", href: dossier_path(dossier)) expect(rendered).to have_link("Demande", href: demande_dossier_path(dossier)) end + + context "when the procedure is closed with a dossier en construction" do + let(:procedure) { create(:procedure, :closed) } + let(:dossier) { create(:dossier, :en_construction, procedure: procedure) } + + it "n'affiche pas de banner" do + expect(rendered).not_to have_text("La démarche liée à votre dossier est close") + end + + it 'can download the dossier' do + expect(rendered).to have_text("Tout le dossier") + end + end + + context "when the procedure is discarded with a dossier en construction" do + let(:procedure) { create(:procedure, :discarded) } + let(:dossier) { create(:dossier, :en_construction, procedure: procedure) } + + it 'affiche que la démarche est supprimée' do + expect(rendered).to have_text("La démarche liée à votre dossier est supprimée") + expect(rendered).to have_text("Vous pouvez toujours consulter votre dossier, mais il n’est plus possible de le modifier") + end + + it 'can download the dossier' do + expect(rendered).to have_text("Tout le dossier") + end + end + + context "when the procedure is discarded with a dossier terminé" do + let(:procedure) { create(:procedure, :discarded) } + let(:dossier) { create(:dossier, state: "accepte", procedure: procedure) } + + it 'affiche que la démarche est supprimée' do + expect(rendered).to have_text("La démarche liée à votre dossier est supprimée") + expect(rendered).to have_text("Votre dossier a été traité par l'administration, aucune action n'est possible") + end + + it 'can download the dossier' do + expect(rendered).to have_text("Tout le dossier") + end + end end