test(procedure): add a system spec to test closing
This commit is contained in:
parent
d3c26591c8
commit
5a098df525
1 changed files with 96 additions and 0 deletions
96
spec/system/administrateurs/procedure_closing_spec.rb
Normal file
96
spec/system/administrateurs/procedure_closing_spec.rb
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
require 'system/administrateurs/procedure_spec_helper'
|
||||||
|
|
||||||
|
describe 'Closing a procedure', js: true do
|
||||||
|
include ProcedureSpecHelper
|
||||||
|
|
||||||
|
let(:administrateur) { create(:administrateur) }
|
||||||
|
let!(:procedure) do
|
||||||
|
create(:procedure_with_dossiers,
|
||||||
|
:published,
|
||||||
|
:with_path,
|
||||||
|
:with_type_de_champ,
|
||||||
|
:with_service,
|
||||||
|
:with_zone,
|
||||||
|
administrateur: administrateur,
|
||||||
|
dossiers_count: 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
let!(:other_procedure) do
|
||||||
|
create(:procedure,
|
||||||
|
:published,
|
||||||
|
:with_path,
|
||||||
|
administrateur: administrateur)
|
||||||
|
end
|
||||||
|
|
||||||
|
before do
|
||||||
|
login_as administrateur.user, scope: :user
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when procedure is replaced in DS' do
|
||||||
|
scenario 'the link of the new procedure is added in show page' do
|
||||||
|
visit admin_procedure_close_path(procedure)
|
||||||
|
|
||||||
|
expect(page).to have_current_path(admin_procedure_close_path(procedure))
|
||||||
|
|
||||||
|
expect(page).to have_text('Clore la démarche')
|
||||||
|
|
||||||
|
select('Je remplace ma démarche par une autre dans Démarches simplifiées')
|
||||||
|
|
||||||
|
select("#{other_procedure.libelle} (#{other_procedure.id})")
|
||||||
|
|
||||||
|
accept_alert do
|
||||||
|
within('form') { click_on 'Clore la démarche' }
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure.reload
|
||||||
|
|
||||||
|
expect(page).to have_current_path(admin_procedure_closing_notification_path(procedure))
|
||||||
|
|
||||||
|
expect(page).to have_text('Votre démarche est close')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when procedure is not replaced in DS' do
|
||||||
|
scenario 'the admin can notify users' do
|
||||||
|
visit admin_procedure_close_path(procedure)
|
||||||
|
|
||||||
|
expect(page).to have_current_path(admin_procedure_close_path(procedure))
|
||||||
|
|
||||||
|
expect(page).to have_text('Clore la démarche')
|
||||||
|
|
||||||
|
select('Autre')
|
||||||
|
|
||||||
|
fill_in("Message d'information remplaçant la démarche", with: "Bonjour,\nLa démarche est maintenant sur www.autre-site.fr\nCordialement")
|
||||||
|
|
||||||
|
accept_alert do
|
||||||
|
within('form') { click_on 'Clore la démarche' }
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure.reload
|
||||||
|
|
||||||
|
expect(page).to have_current_path(admin_procedure_closing_notification_path(procedure))
|
||||||
|
|
||||||
|
expect(page).to have_text('Votre démarche est close')
|
||||||
|
|
||||||
|
expect(page).to have_text("Souhaitez-vous envoyer un email à l'utilisateur avec un dossier en brouillon ?")
|
||||||
|
|
||||||
|
check("Souhaitez-vous envoyer un email à l'utilisateur avec un dossier en brouillon ?")
|
||||||
|
|
||||||
|
expect(page).to have_text ("Contenu de l'email")
|
||||||
|
|
||||||
|
fill_in('email_content_brouillon', with: "La démarche a fermé.")
|
||||||
|
|
||||||
|
accept_alert do
|
||||||
|
click_on 'Informer les usagers'
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(page).to have_current_path(admin_procedures_path)
|
||||||
|
|
||||||
|
visit admin_procedure_path(procedure)
|
||||||
|
|
||||||
|
procedure.reload
|
||||||
|
|
||||||
|
expect(page).to have_text("Un email a été envoyé pour informer les usagers le #{procedure.closed_at.strftime('%d/%m/%Y')}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue