spec/components/shared/advanced_search_component_spec.rb
require "rails_helper"
describe Shared::AdvancedSearchComponent do
let(:component) { Shared::AdvancedSearchComponent.new }
context "JavaScript disabled" do
it "renders the form" do
render_inline component
expect(page).to have_button "Filter"
end
it "hides the button to show the form" do
render_inline component
expect(page.find("form")).to have_button "Advanced search", visible: :hidden
end
end
describe "SDG filter", controller: ProposalsController do
before do
Setting["feature.sdg"] = true
Setting["sdg.process.proposals"] = true
end
it "does not render when the feature is disabled" do
Setting["feature.sdg"] = false
render_inline component
expect(page).not_to have_css "#advanced_search_goal", visible: :all
expect(page).not_to have_css "#advanced_search_target", visible: :all
end
it "does not render when the SDG process feature is disabled" do
Setting["sdg.process.proposals"] = false
render_inline component
expect(page).not_to have_css "#advanced_search_goal", visible: :all
expect(page).not_to have_css "#advanced_search_target", visible: :all
end
it "renders when both features are enabled" do
render_inline component
expect(page).to have_css "#advanced_search_goal", visible: :all
expect(page).to have_css "#advanced_search_target", visible: :all
end
end
end