diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index c0574f78a..4098b535e 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -53,7 +53,7 @@ module UsersHelper end def show_admin_menu?(user = nil) - current_administrator? || current_moderator? || current_valuator? || current_manager? || user.administrator? + current_administrator? || current_moderator? || current_valuator? || current_manager? || (user && user.administrator?) end def interests_title_text(user) diff --git a/spec/features/management_spec.rb b/spec/features/management_spec.rb new file mode 100644 index 000000000..eb3630c5a --- /dev/null +++ b/spec/features/management_spec.rb @@ -0,0 +1,33 @@ +require 'rails_helper' + +feature 'Management' do + let(:user) { create(:user) } + + scenario "Should show admin menu if logged user is admin" do + create(:administrator, user: user) + login_as(user) + visit root_path + + expect(page).to have_link("Management") + + click_link "Management" + + expect(page).to have_content("My activity") + expect(page).to have_content("My account") + expect(page).to have_content("Sign out") + end + + scenario "Should not show admin menu if logged user is manager" do + create(:manager, user: user) + login_as(user) + visit root_path + + expect(page).to have_link("Management") + + click_link "Management" + + expect(page).not_to have_content("My activity") + expect(page).not_to have_content("My account") + expect(page).not_to have_content("Sign out") + end +end