59 lines
2.2 KiB
Ruby
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(/Se déconnecter/) }
|
|
end
|
|
|
|
end
|
|
end
|