demarches-normaliennes/spec/views/layouts/_navbar_spec.rb
2016-11-03 16:46:26 +01:00

59 lines
2.2 KiB
Ruby

require 'spec_helper'
describe 'layouts/_navbar.html.haml', type: :view do
let(:administrateur) { create(:administrateur) }
let(:gestionnaire) { create(:gestionnaire, administrateurs: [administrateur]) }
let!(:procedure) { create(:procedure, administrateur: administrateur) }
describe 'navbar entries' do
context 'when disconnected' do
before do
render
end
subject { rendered }
it { is_expected.to match(/href="\/users\/sign_in">Utilisateur/) }
it { is_expected.to match(/href="\/gestionnaires\/sign_in">Accompagnateur/) }
it { is_expected.to match(/href="\/administrateurs\/sign_in">Administrateur/) }
it { is_expected.not_to match(/Mes Dossiers/) }
it { is_expected.not_to match(/Mes Procédures/) }
it { is_expected.not_to match(/Se déconnecter/) }
end
context 'when administrateur is connected' do
before do
@request.env["devise.mapping"] = Devise.mappings[:administrateur]
@current_user = administrateur
sign_in @current_user
render
end
subject { rendered }
it { is_expected.not_to match(/href="\/users\/sign_in">Utilisateur/) }
it { is_expected.not_to match(/href="\/gestionnaires\/sign_in">Accompagnateur/) }
it { is_expected.not_to match(/href="\/administrateurs\/sign_in">Administrateur/) }
it { is_expected.not_to match(/Mes dossiers/) }
it { is_expected.to match(/Mes procédures/) }
it { is_expected.to match(/Se déconnecter/) }
end
context 'when gestionnaire is connected' do
before do
@request.env["devise.mapping"] = Devise.mappings[:gestionnaire]
@current_user = gestionnaire
sign_in @current_user
render
end
subject { rendered }
it { is_expected.not_to match(/href="\/users\/sign_in">Utilisateur/) }
it { is_expected.not_to match(/href="\/gestionnaires\/sign_in">Accompagnateur/) }
it { is_expected.not_to match(/href="\/administrateurs\/sign_in">Administrateur/) }
it { is_expected.not_to match(/Mes procédures/) }
it { is_expected.to match(/Mes dossiers/) }
it { is_expected.to match(/Déconnexion/) }
end
end
end