# frozen_string_literal: true RSpec.describe Onebox::Engine::WikipediaOnebox do let(:wp_link) { "http://en.wikipedia.org/wiki/Billy_Jack" } before do stub_request(:get, "https://en.wikipedia.org/wiki/Billy_Jack").to_return( status: 200, body: onebox_response(described_class.onebox_name), ) end include_context "with engines" do let(:link) { wp_link } end it_behaves_like "an engine" describe "#to_html" do it "includes article image" do expect(html).to include("Billy_Jack_poster.jpg") end it "includes summary" do expect(html).to include("Billy Jack is a 1971 action/drama") end end describe "url with section hash" do let(:wp_link) { "http://en.wikipedia.org/wiki/Billy_Jack#Soundtrack" } it "includes summary" do expect(html).to include("The film score was composed") end end describe "url with url-encoded section hash" do let(:wp_link) do "https://fr.wikipedia.org/wiki/Th%C3%A9ologie#La_th%C3%A9ologie_selon_Aristote" end before do stub_request(:get, "https://fr.wikipedia.org/wiki/Th%C3%A9ologie").to_return( status: 200, body: onebox_response("wikipedia_url_encoded"), ) end it "includes summary" do expect(html).to include("Le terme est repris par") end end end