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.
44 lines
1.3 KiB
Ruby
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
|