diff --git a/spec/support/slimmer_templates/wrapper.html b/spec/support/slimmer_templates/wrapper.html
new file mode 100644
index 0000000000..c0844d8a2b
--- /dev/null
+++ b/spec/support/slimmer_templates/wrapper.html
@@ -0,0 +1,26 @@
+
+
+ Test Template
+
+
+
+ Hello!
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spec/system/service_manual_spec.rb b/spec/system/service_manual_spec.rb
index 8a16c30f09..4f8ad9f8b6 100644
--- a/spec/system/service_manual_spec.rb
+++ b/spec/system/service_manual_spec.rb
@@ -1,31 +1,27 @@
+# WARNING: This test won't catch if the actual layouts change in static. It's
+# only testing whether we're correctly telling slimmer to process the search
+# elements, and slimmer is trying to process the layouts in the way we expect.
RSpec.describe("Service Manual", type: :system) do
let!(:content_item) { content_store_has_schema_example("service_manual_guide", "service_manual_guide") }
let!(:path) { "/#{path_for(content_item)}" }
- it "has a search form scoped to the manual" do
- visit path
-
- expect(page).to have_css("input")
+ before do
+ html = File.read(Rails.root.join("spec/support/slimmer_templates/wrapper.html"))
+ allow_any_instance_of(Slimmer::Skin).to receive(:load_template).and_return(html)
end
- # it "tells slimmer to scope search results to the manual for a service manual guide" do
- # content_item = content_store_has_schema_example("service_manual_guide", "service_manual_guide")
-
- # expect(Slimmer::Processors::SearchParameterInserter).to receive(:new).with(hash_including: {
- # Slimmer::Headers::SEARCH_PARAMETERS_HEADER => { filter_manual: "/service-manual" }.to_json,
- # })
- # get "/#{path_for(content_item)}"
+ it "has a search form scoped to the manual" do
+ content_item = content_store_has_schema_example("service_manual_guide", "service_manual_guide")
+ visit "/#{path_for(content_item)}"
- # # byebug
- # # expect(response.body).to have_css("input")
- # # assert_select("input[type='hidden'][name='filter_manual'][values='/service-manual']")
- # # expect(response.headers[Slimmer::Headers::SEARCH_PARAMETERS_HEADER]).to eq({ filter_manual: "/service-manual" }.to_json)
- # end
+ expect(page).to have_css("#global-header #search")
+ expect(page).to have_css("form#search input[type=hidden][name=filter_manual][value='/service-manual']", visible: false)
+ end
- # it("tells slimmer not to include a search box in the header for the service manual homepage") do
- # content_item = content_store_has_schema_example("service_manual_homepage", "service_manual_homepage")
- # get "/#{path_for(content_item)}"
+ it "does not show a search box for the manual homepage" do
+ content_item = content_store_has_schema_example("service_manual_homepage", "service_manual_homepage")
+ visit "/#{path_for(content_item)}"
- # expect(response.headers[Slimmer::Headers::REMOVE_SEARCH_HEADER]).to be true
- # end
+ expect(page).not_to have_css("#global-header #search")
+ end
end