demarches-normaliennes/spec/system/administrateurs/procedure_attestation_template_spec.rb

59 lines
2 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.

require 'system/administrateurs/procedure_spec_helper'
describe 'As an administrateur, I want to manage the procedures attestation', js: true do
include ProcedureSpecHelper
let(:administrateur) { create(:administrateur) }
let(:procedure) do
create(:procedure, :with_service, :with_instructeur,
aasm_state: :brouillon,
administrateurs: [administrateur],
libelle: 'libellé de la procédure',
path: 'libelle-de-la-procedure')
end
before { login_as(administrateur.user, scope: :user) }
def find_attestation_card(with_nested_selector: nil)
full_selector = [
".card-admin[href=\"#{edit_admin_procedure_attestation_template_path(procedure)}\"]",
with_nested_selector
].compact.join(" ")
page.find(full_selector)
end
context 'Enable, publish, Disable' do
scenario do
visit admin_procedure_path(procedure)
# start with no attestation
find_attestation_card(with_nested_selector: ".icon.clock")
# now process to enable attestation
find_attestation_card.click
fill_in "Titre de l'attestation", with: 'BOOM'
fill_in "Corps du document", with: 'BOOM'
find('.toggle-switch-control').click
click_on 'Enregistrer'
page.find(".alert-success", text: "L'attestation a bien été sauvegardée")
# check attestation
visit admin_procedure_path(procedure)
find_attestation_card(with_nested_selector: ".icon.accept")
# publish procedure
# click CTA for publication screen
click_on("Publier")
# validate publication
click_on("Publier")
# now process to disable attestation
find_attestation_card.click
find('.toggle-switch-control').click
click_on 'Enregistrer'
page.find(".alert-success", text: "L'attestation a bien été modifiée")
# check attestation is now disabled
visit admin_procedure_path(procedure)
find_attestation_card(with_nested_selector: ".icon.clock")
end
end
end