Files
nairobi/spec/components/pages/help/section_component_spec.rb
Javi Martín 5f92252054 Fix exception using locales with no help images
In commit 905ac48bb we activated exceptions when assets were not found,
in order to detect places where we were trying to load non-existent
images.

We got an exception for that reason: we were loading images based on the
current locale, but for some locales there was no images.

We're now using fallbacks and loading another image when the original
one isn't available.

Note we're copying the English images to images with a generic name for
the case where there's no fallback with an image. We're copying the
files instead of using symbolic links to make sure they can be
overwritten independently in other CONSUL installations.

Also note we're updating the HTML so the section gets the ID instead of
the header. That way the system test is simple.
2021-05-29 15:05:29 +02:00

44 lines
1.3 KiB
Ruby

require "rails_helper"
describe Pages::Help::SectionComponent, type: :component do
describe "#image_path" do
it "returns the image for the first fallback language with an image" do
allow(I18n).to receive(:fallbacks).and_return({ en: [:es, :de] })
component = Pages::Help::SectionComponent.new("proposals")
expect(component.image_path).to eq "help/proposals_es.png"
end
it "returns the default image when no fallback language has an image" do
allow(I18n).to receive(:fallbacks).and_return({})
component = Pages::Help::SectionComponent.new("proposals")
expect(component.image_path).to eq "help/proposals.png"
end
it "returns nil when there is no image" do
component = Pages::Help::SectionComponent.new("polls")
expect(component.image_path).to be nil
end
end
describe "image tag" do
it "renders an image on sections with an image" do
render_inline Pages::Help::SectionComponent.new("debates")
expect(page).to have_selector "img"
expect(page).to have_selector "figure"
end
it "does not render an image tag when there is no image" do
render_inline Pages::Help::SectionComponent.new("processes")
expect(page).not_to have_selector "img"
expect(page).not_to have_selector "figure"
end
end
end