# frozen_string_literal: true RSpec.describe UploadMarkdown do it "generates markdown for each different upload type (attachment, image, video, audio)" do SiteSetting.authorized_extensions = "mp4|mp3|pdf|jpg|mmmppp444" video = Fabricate(:upload, original_filename: "test_video.mp4", extension: "mp4") audio = Fabricate(:upload, original_filename: "test_audio.mp3", extension: "mp3") attachment = Fabricate(:upload, original_filename: "test_file.pdf", extension: "pdf") image = Fabricate( :upload, width: 100, height: 200, original_filename: "test_img.jpg", extension: "jpg", ) expect(UploadMarkdown.new(video).to_markdown).to eq(<<~MD.chomp) ![test_video.mp4|video](#{video.short_url}) MD expect(UploadMarkdown.new(audio).to_markdown).to eq(<<~MD.chomp) ![test_audio.mp3|audio](#{audio.short_url}) MD expect(UploadMarkdown.new(attachment).to_markdown).to eq(<<~MD.chomp) [test_file.pdf|attachment](#{attachment.short_url}) (#{attachment.human_filesize}) MD expect(UploadMarkdown.new(image).to_markdown).to eq(<<~MD.chomp) ![test_img.jpg|100x200](#{image.short_url}) MD unknown = Fabricate(:upload, original_filename: "test_video.mmmppp444", extension: "mmmppp444") expect(UploadMarkdown.new(unknown).playable_media_markdown).to eq(<<~MD.chomp) [test_video.mmmppp444|attachment](#{unknown.short_url}) (#{unknown.human_filesize}) MD end end