Skip to content

Commit

Permalink
Refactor test
Browse files Browse the repository at this point in the history
This avoids leaking the class definition.
  • Loading branch information
olleolleolle committed Feb 2, 2022
1 parent be93a4c commit 3829c48
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions spec/faraday/middleware_registry_spec.rb
@@ -1,30 +1,31 @@
# frozen_string_literal: true

class CustomMiddleware < Faraday::Middleware
end

RSpec.describe Faraday::MiddlewareRegistry do
before do
stub_const('CustomMiddleware', custom_middleware_klass)
end
let(:custom_middleware_klass) { Class.new(Faraday::Middleware) }
let(:dummy) { Class.new { extend Faraday::MiddlewareRegistry } }

after { dummy.unregister_middleware(:custom) }

it 'allows to register with constant' do
dummy.register_middleware(custom: CustomMiddleware)
expect(dummy.lookup_middleware(:custom)).to eq(CustomMiddleware)
dummy.register_middleware(custom: custom_middleware_klass)
expect(dummy.lookup_middleware(:custom)).to eq(custom_middleware_klass)
end

it 'allows to register with symbol' do
dummy.register_middleware(custom: :CustomMiddleware)
expect(dummy.lookup_middleware(:custom)).to eq(CustomMiddleware)
expect(dummy.lookup_middleware(:custom)).to eq(custom_middleware_klass)
end

it 'allows to register with string' do
dummy.register_middleware(custom: 'CustomMiddleware')
expect(dummy.lookup_middleware(:custom)).to eq(CustomMiddleware)
expect(dummy.lookup_middleware(:custom)).to eq(custom_middleware_klass)
end

it 'allows to register with Proc' do
dummy.register_middleware(custom: -> { CustomMiddleware })
expect(dummy.lookup_middleware(:custom)).to eq(CustomMiddleware)
dummy.register_middleware(custom: -> { custom_middleware_klass })
expect(dummy.lookup_middleware(:custom)).to eq(custom_middleware_klass)
end
end

0 comments on commit 3829c48

Please sign in to comment.