Testing ActiveRecord Version Compatibility Checks in PaperTrail
This test suite validates PaperTrail’s compatibility checks with different ActiveRecord versions. It ensures proper warning mechanisms when incompatible versions are detected and verifies silent operation with supported versions.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
paper-trail-gem/paper_trail
spec/paper_trail/compatibility_spec.rb
# frozen_string_literal: true
module PaperTrail
::RSpec.describe(Compatibility) do
describe ".check_activerecord" do
context "when compatible" do
it "does not produce output" do
ar_version = ::Gem::Version.new("6.1.0")
expect {
described_class.check_activerecord(ar_version)
}.not_to output.to_stderr
end
end
context "when incompatible" do
it "writes a warning to stderr" do
ar_version = ::Gem::Version.new("8.1.0")
expect {
described_class.check_activerecord(ar_version)
}.to output(/not compatible/).to_stderr
end
end
end
end
end