Files
grecia/spec/system/sdg_management_spec.rb
Javi Martín 465d2d604d Move login items tests to the component
This way we reduce the number of system tests or, in some cases,
requests during system tests, making the tests faster.

We're still testing the interaction with the menu when users have the
right permissions.
2023-02-17 14:07:02 +01:00

58 lines
1.6 KiB
Ruby

require "rails_helper"
describe "SDGManagement" do
let(:user) { create(:user) }
before { Setting["feature.sdg"] = true }
context "Access" do
scenario "Access as regular user is not authorized" do
login_as(user)
visit sdg_management_root_path
expect(page).not_to have_current_path(sdg_management_root_path)
expect(page).to have_current_path(root_path)
expect(page).to have_content "You do not have permission to access this page"
end
scenario "Access as manager is not authorized" do
create(:manager, user: user)
login_as(user)
visit sdg_management_root_path
expect(page).not_to have_current_path(sdg_management_root_path)
expect(page).to have_current_path(root_path)
expect(page).to have_content "You do not have permission to access this page"
end
scenario "Access as a sdg manager is authorized" do
create(:sdg_manager, user: user)
login_as(user)
visit root_path
click_on "Menu"
click_on "SDG content"
expect(page).to have_current_path(sdg_management_root_path)
expect(page).not_to have_content "You do not have permission to access this page"
end
end
scenario "Valuation dashboard" do
create(:sdg_manager, user: user)
login_as(user)
visit root_path
click_on "Menu"
click_on "SDG content"
expect(page).to have_current_path(sdg_management_root_path)
expect(page).to have_css(".sdg-content-menu")
expect(page).not_to have_css("#valuation_menu")
expect(page).not_to have_css("#admin_menu")
expect(page).not_to have_css("#moderation_menu")
end
end