2021-05-26 17:41:35 +08:00
|
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2022-07-28 10:27:38 +08:00
|
|
|
|
RSpec.describe Onebox::Engine::PdfOnebox do
|
2021-05-26 17:41:35 +08:00
|
|
|
|
let(:link) do
|
|
|
|
|
"https://acrobatusers.com/assets/uploads/public_downloads/2217/adobe-acrobat-xi-merge-pdf-files-tutorial-ue.pdf"
|
2023-01-09 19:18:21 +08:00
|
|
|
|
end
|
2021-05-26 17:41:35 +08:00
|
|
|
|
let(:html) { described_class.new(link).to_html }
|
|
|
|
|
|
|
|
|
|
let(:no_content_length_link) do
|
|
|
|
|
"https://dspace.lboro.ac.uk/dspace-jspui/bitstream/2134/14294/3/greiffenhagen-ca_and_consumption.pdf"
|
2023-01-09 19:18:21 +08:00
|
|
|
|
end
|
2021-05-26 17:41:35 +08:00
|
|
|
|
let(:no_filesize_html) { described_class.new(no_content_length_link).to_html }
|
|
|
|
|
|
|
|
|
|
before do
|
|
|
|
|
stub_request(:head, link).to_return(status: 200, headers: { "Content-Length" => "335562" })
|
|
|
|
|
stub_request(:head, no_content_length_link).to_return(status: 200)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "#to_html" do
|
|
|
|
|
it "includes filename" do
|
|
|
|
|
expect(html).to include("adobe-acrobat-xi-merge-pdf-files-tutorial-ue.pdf")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it "includes filesize" do
|
|
|
|
|
expect(html).to include("327.70 KB")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it "doesn’t include filesize when unknown" do
|
|
|
|
|
expect(no_filesize_html).to_not include("<p class='filesize'>")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|