Sha256: 4576c219c4e1c923c6a08c6737f2c9418b28f9ca6428c5054894dc79686c974f
Contents?: true
Size: 1.53 KB
Versions: 1
Compression:
Stored size: 1.53 KB
Contents
require 'spec_helper' describe Gaffe::ErrorsControllerResolver do describe :resolved_controller do let(:resolver) { Gaffe::ErrorsControllerResolver.new(env) } let(:controller) { resolver.resolved_controller } let(:request) { test_request } let(:env) { request.env } context 'with custom-defined controller' do before do Gaffe.configure do |config| config.errors_controller = :foo end end it { expect(controller).to eql :foo } end context 'with custom-defined controller that respond to `#constantize`' do before do Gaffe.configure do |config| config.errors_controller = 'String' end end it { expect(controller).to eql String } end context 'with multiple custom-defined controllers' do before do Gaffe.configure do |config| config.errors_controller = { %r{^/web/} => :web_controller, %r{^/api/} => :api_controller } end end context 'with error coming from matching URL' do let(:env) { request.env.merge 'REQUEST_URI' => '/api/users' } it { expect(controller).to eql :api_controller } end context 'with errors coming from non-matching URL' do let(:env) { request.env.merge 'REQUEST_URI' => '/what' } it { expect(controller).to eql Gaffe::ErrorsController } end end context 'without custom-defined controller' do it { expect(controller).to eql Gaffe::ErrorsController } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gaffe-1.1.0 | spec/gaffe/errors_controller_resolver_spec.rb |