From 3b22dada38cfea0a1dadfc2de17480964614a66a Mon Sep 17 00:00:00 2001 From: Ben Halpern Date: Wed, 12 Apr 2023 15:06:19 -0400 Subject: [PATCH] Fix image width for feed location (#19321) * Fix image width for feed location * Fix typo --- app/models/display_ad.rb | 2 +- spec/models/display_ad_spec.rb | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/models/display_ad.rb b/app/models/display_ad.rb index f71e45e2a..ba6b46dd9 100644 --- a/app/models/display_ad.rb +++ b/app/models/display_ad.rb @@ -142,6 +142,6 @@ class DisplayAd < ApplicationRecord end def prefix_width - placement_area.to_s == "post_comments" ? POST_WIDTH : SIDEBAR_WIDTH + placement_area.include?("sidebar") ? SIDEBAR_WIDTH : POST_WIDTH end end diff --git a/spec/models/display_ad_spec.rb b/spec/models/display_ad_spec.rb index 321fb33c1..3710b20a3 100644 --- a/spec/models/display_ad_spec.rb +++ b/spec/models/display_ad_spec.rb @@ -117,6 +117,24 @@ RSpec.describe DisplayAd do # Images::Optimizer.call(source, width: width) end + it "uses sidebar width for sidebar location" do + image_url = "https://dummyimage.com/100x100" + allow(FastImage).to receive(:size) + allow(Images::Optimizer).to receive(:call).and_return(image_url) + image_md = "![Image description](#{image_url})

Hello hey Hey hey

" + create(:display_ad, body_markdown: image_md, placement_area: "post_sidebar") + expect(Images::Optimizer).to have_received(:call).with(image_url, width: DisplayAd::SIDEBAR_WIDTH) + end + + it "uses post width for feed location" do + image_url = "https://dummyimage.com/100x100" + allow(FastImage).to receive(:size) + allow(Images::Optimizer).to receive(:call).and_return(image_url) + image_md = "![Image description](#{image_url})

Hello hey Hey hey

" + create(:display_ad, body_markdown: image_md, placement_area: "feed_second") + expect(Images::Optimizer).to have_received(:call).with(image_url, width: DisplayAd::POST_WIDTH) + end + it "keeps the same processed_html if markdown was not changed" do display_ad = create(:display_ad) html = display_ad.processed_html