Files
redux-scraper/spec/helpers/fa_uri_helper_spec.rb
2025-07-25 00:25:12 +00:00

57 lines
2.1 KiB
Ruby

# typed: false
require "rails_helper"
RSpec.describe FaUriHelper do
describe "#parse_fa_media_url" do
it "parses a media URL with same timestamps" do
url =
"https://d.furaffinity.net/art/zzreg/1740700581/1740700581.zzreg_stippling-crop.jpg"
parsed = described_class.parse_fa_media_url(url)
expect(parsed).to eq(
FaUriHelper::FaMediaUrlInfo.new(
url_name: "zzreg",
original_file_posted: 1_740_700_581,
latest_file_posted: 1_740_700_581,
filename: "zzreg_stippling-crop.jpg",
filename_with_ts: "1740700581.zzreg_stippling-crop.jpg",
),
)
expect(parsed.original_file_posted_at).to eq(Time.at(1_740_700_581))
expect(parsed.latest_file_posted_at).to eq(Time.at(1_740_700_581))
end
it "parses a media URL with different timestamps" do
url =
"https://d.furaffinity.net/art/zzreg/1753374875/1740700581.zzreg_stippling-crop.jpg"
parsed = described_class.parse_fa_media_url(url)
expect(parsed).to eq(
FaUriHelper::FaMediaUrlInfo.new(
url_name: "zzreg",
original_file_posted: 1_740_700_581,
latest_file_posted: 1_753_374_875,
filename: "zzreg_stippling-crop.jpg",
filename_with_ts: "1740700581.zzreg_stippling-crop.jpg",
),
)
expect(parsed.original_file_posted_at).to eq(Time.at(1_740_700_581))
expect(parsed.latest_file_posted_at).to eq(Time.at(1_753_374_875))
end
it "parses story uris" do
url =
"https://d.furaffinity.net/art/irontankris/stories/1753207806/1753207806.thumbnail.irontankris_royal_rivalry_gains.rtf.jpg"
parsed = described_class.parse_fa_media_url(url)
expect(parsed).to eq(
FaUriHelper::FaMediaUrlInfo.new(
url_name: "irontankris",
original_file_posted: 1_753_207_806,
latest_file_posted: 1_753_207_806,
filename: "thumbnail.irontankris_royal_rivalry_gains.rtf.jpg",
filename_with_ts:
"1753207806.thumbnail.irontankris_royal_rivalry_gains.rtf.jpg",
),
)
end
end
end