test(storage): isolate migrator spec service state

Restore ActiveStorage::Blob service globals after migrator specs so later attachment specs do not inherit leaked test doubles.
This commit is contained in:
Sony Mathew
2026-06-16 18:39:48 +05:30
parent b2a8e03f62
commit 5b0300963e
+12 -2
View File
@@ -4,9 +4,19 @@ require 'stringio'
require 'tmpdir'
RSpec.describe ActiveStorage::Migrator do
around do |example|
original_services = ActiveStorage::Blob.services
original_service = ActiveStorage::Blob.service
example.run
ensure
ActiveStorage::Blob.services = original_services
ActiveStorage::Blob.service = original_service
end
describe '.migrate' do
let(:from_service_stub) { instance_double(ActiveStorage::Service) }
let(:to_service_stub) { instance_double(ActiveStorage::Service) }
let(:from_service_stub) { instance_double(ActiveStorage::Service, name: 'local') }
let(:to_service_stub) { instance_double(ActiveStorage::Service, name: 'amazon') }
before do
allow(ActiveStorage::Service).to receive(:configure).with('local', any_args).and_return(from_service_stub)