From 48fff48aa228691131401169bf74720c6f55b5dd Mon Sep 17 00:00:00 2001 From: Keegan George Date: Fri, 14 Mar 2025 10:19:04 -0700 Subject: [PATCH] FIX: failing image caption spec (#1195) --- .../images/An image of discobot in action.png | Bin 0 -> 14859 bytes .../system/ai_helper/ai_image_caption_spec.rb | 29 +++--------------- 2 files changed, 5 insertions(+), 24 deletions(-) create mode 100644 spec/fixtures/images/An image of discobot in action.png diff --git a/spec/fixtures/images/An image of discobot in action.png b/spec/fixtures/images/An image of discobot in action.png new file mode 100644 index 0000000000000000000000000000000000000000..e3afae9bd5f63244613956878ad8a771f05da7af GIT binary patch literal 14859 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 literal 0 HcmV?d00001 diff --git a/spec/system/ai_helper/ai_image_caption_spec.rb b/spec/system/ai_helper/ai_image_caption_spec.rb index b0107893..0449bd0b 100644 --- a/spec/system/ai_helper/ai_image_caption_spec.rb +++ b/spec/system/ai_helper/ai_image_caption_spec.rb @@ -10,7 +10,10 @@ RSpec.describe "AI image caption", type: :system, js: true do let(:composer) { PageObjects::Components::Composer.new } let(:popup) { PageObjects::Components::AiCaptionPopup.new } let(:dialog) { PageObjects::Components::Dialog.new } - let(:file_path) { file_from_fixtures("logo.jpg", "images").path } + let(:file_path) { plugin_file_from_fixtures("100x100.jpg").path } + let(:captioned_image_path) do + plugin_file_from_fixtures("An image of discobot in action.png").path + end let(:caption) do "The image shows a stylized speech bubble icon with a multicolored border on a black background." end @@ -123,12 +126,9 @@ RSpec.describe "AI image caption", type: :system, js: true do end it "should not show a prompt when submitting a post with no captionable images uploaded" do - original_file_path = Rails.root.join("spec/fixtures/images/logo.jpg") - temp_file_path = Rails.root.join("spec/fixtures/images/An image of Discourse logo.jpg") - FileUtils.cp(original_file_path, temp_file_path) visit("/latest") page.find("#create-topic").click - attach_file([temp_file_path]) { composer.click_toolbar_button("upload") } + attach_file([captioned_image_path]) { composer.click_toolbar_button("upload") } wait_for { composer.has_no_in_progress_uploads? } composer.fill_title("I love using Discourse! It is my favorite forum software") composer.create @@ -150,25 +150,6 @@ RSpec.describe "AI image caption", type: :system, js: true do end end - context "when the user preference is enabled" do - before { user.user_option.update!(auto_image_caption: true) } - - skip "TODO: Fix auto_image_caption user option not present in testing environment?" do - it "should auto caption the image after uploading" do - DiscourseAi::Completions::Llm.with_prepared_responses([caption]) do - visit("/latest") - page.find("#create-topic").click - attach_file([Rails.root.join("spec/fixtures/images/logo.jpg")]) do - composer.click_toolbar_button("upload") - end - wait_for { composer.has_no_in_progress_uploads? } - wait_for { page.find(".image-wrapper img")["alt"] == caption_with_attrs } - expect(page.find(".image-wrapper img")["alt"]).to eq(caption_with_attrs) - end - end - end - end - context "when a post has no uploads" do before { user.user_option.update!(auto_image_caption: true) }