require "rails_helper"

describe Pages::Help::SectionComponent 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_css "img"
      expect(page).to have_css "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_css "img"
      expect(page).not_to have_css "figure"
    end
  end
end
