# frozen_string_literal: true RSpec.describe Onebox::Engine::KalturaOnebox do let(:link) { "https://videos.kaltura.com/id/0_e2ea6ygt" } before { stub_request(:get, link).to_return(status: 200, body: onebox_response("kaltura")) } shared_examples "Pulling the width and height from OpenGraph" do it "Pulls the width from the OG video width" do og_video_width = "534" actual_width = inspect_html_fragment(html, tag_name, "width") expect(actual_width).to eq og_video_width end it "Pulls the height from the OG video height" do og_video_height = "300" actual_height = inspect_html_fragment(html, tag_name, "height") expect(actual_height).to eq og_video_height end end describe "#to_html" do let(:html) { described_class.new(link).to_html } let(:tag_name) { "iframe" } it_behaves_like "Pulling the width and height from OpenGraph" it "Pulls the src from the OG view secure url" do og_video_secure_url = "https://cdnapisec.kaltura.com//p/811441/sp/81144100/embedIframeJs/uiconf_id/40430081/" \ "partner_id/811441?iframeembed=true&playerId=kaltura_playe" \ "r&entry_id=0_e2ea6ygt&widget_id=1_c6hc9mf5" actual_src = inspect_html_fragment(html, tag_name, "src") expect(actual_src).to eq og_video_secure_url end end describe "#placeholder_html" do let(:html) { described_class.new(link).preview_html } let(:tag_name) { "img" } it_behaves_like "Pulling the width and height from OpenGraph" it "Pulls the thumbnail from the OG video thumbnail" do og_video_thumbnail = "https://cdnapisec.kaltura.com/p/811441/sp/81144100/thumbnail/entry_id/0_e2ea6ygt/width/534" actual_thumbnail = inspect_html_fragment(html, tag_name, "src") expect(actual_thumbnail).to eq og_video_thumbnail end end end