require "rails_helper" RSpec.describe "admin sidebar" do let(:super_admin) { create(:user, :super_admin) } before do sign_in super_admin allow(FeatureFlag).to receive(:enabled?).and_call_original end describe "sidebar menu options" do it "shows parent level and nested child items" do get admin_articles_path expect(response.body).to include("Advanced") expect(response.body).to include("Developer Tools") end end describe "tabbed menu options" do it "shows nested grandchildren items where applicable" do get admin_badges_path expect(response.body).to include("Library") expect(response.body).to include("Achievements") end end describe "profile admin feature flag" do it "shows the option in the sidebar" do get admin_articles_path expect(response.body).to include("Profile Fields") end end describe "data update script admin feature flag" do it "does not show the option in the tabbed header when the feature flag is disabled" do allow(FeatureFlag).to receive(:enabled?).with(:data_update_scripts).and_return(false) get admin_tools_path expect(response.body).not_to include("Data Update Scripts") end it "shows the option in the tabbed header when the feature flag is enabled" do allow(FeatureFlag).to receive(:enabled?).with(:data_update_scripts).and_return(true) get admin_tools_path expect(response.body).to include("Data Update Scripts") end end end