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

51 lines
1.6 KiB
Ruby
Raw Normal View History

require 'system/administrateurs/procedure_spec_helper'
describe 'Manage procedure instructeurs', js: true do
include ProcedureSpecHelper
let(:administrateur) { create(:administrateur) }
let!(:procedure) { create(:procedure) }
let!(:administrateurs_procedure) { create(:administrateurs_procedure, administrateur: administrateur, procedure: procedure, manager: manager) }
let(:manager) { false }
before do
login_as administrateur.user, scope: :user
end
context 'is accessible via card' do
let(:manager) { false }
scenario 'it works' do
visit admin_procedure_path(procedure)
find('#groupe-instructeurs').click
expect(page).to have_css("h1", text: "Gérer les instructeurs et les options d'instruction de « #{procedure.libelle} »")
end
end
context 'as admin not from manager' do
let(:manager) { false }
scenario 'can add instructeur' do
visit admin_procedure_groupe_instructeurs_path(procedure)
expect {
fill_in "instructeur_emails", with: create(:instructeur).email
click_on "Affecter"
}.to change { procedure.instructeurs.count }.by(1)
expect {
fill_in "groupe_instructeur_label", with: "Bordeaux"
click_on "Ajouter le groupe"
}.to change { procedure.groupe_instructeurs.count }.by(1)
expect(procedure.reload.routing_enabled).to eq true
end
end
context 'as admin from manager' do
let(:manager) { true }
scenario 'cannot add instructeur' do
visit admin_procedure_groupe_instructeurs_path(procedure)
expect(page).to have_css("#instructeur_emails[disabled=\"disabled\"]")
end
end
end