docbrown/spec/requests/admin/nested_sidebar_spec.rb
Anna Buianova 7d053471f8
Rubocop fixes in spec/requests (#18946)
* Rubocop fixes in spec/requests

* Fixed spec/requests/api/v0/articles_spec.rb

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
2023-01-12 19:10:16 +03:00

54 lines
1.5 KiB
Ruby

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