Files
redux-scraper/spec/support/matchers/source_link_matchers.rb
2025-08-13 08:20:32 +00:00

24 lines
751 B
Ruby

# typed: false
RSpec::Matchers.define :eq_link_for_source do |model:, title:|
match do |actual_url|
actual = helper.link_for_source(actual_url)
expect(actual).to be_a(Domain::PostsHelper::LinkForSource)
expect(actual.model).to eq(model)
expect(actual.title).to eq(title)
end
failure_message do |actual_url|
actual = helper.link_for_source(actual_url)
if actual.nil?
"link for source was nil for url #{actual_url}"
elsif actual.model != model
"expected model #{model.to_gid.uri.to_s} to be #{actual.model.to_gid.uri.to_s} for url #{actual_url}"
elsif actual.title != title
"expected title #{title} to be #{actual.title} for url #{actual_url}"
else
"unknown failure"
end
end
end