Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def handle_access_denied(exception)
- byebug
- logger.error(exception.message)
- logger.error(exception.backtrace)
- if user_signed_in? || is_a?(SessionsController)
- render 'sessions/access_denied.html', layout: 'open_access', status: :unauthorized
- false
- else
- redirect_to login_path
- end
- end
- describe '#handle_access_denied' do
- let(:logger_mock) { double("Rails.logger").as_null_object }
- let(:exception) { StandardError.new "This is an exception" }
- subject { controller.send :handle_access_denied, exception }
- context 'when user signed in' do
- before do
- session[:user_id] = user.id
- allow(logger_mock).to receive(:error).and_return(true)
- expect(logger_mock.error).to be true
- end
- it '' do
- is_expected.to render_template(file: "sessions/access_denied.html")
- #expect(response.status).to eq(401)
- #expect(response).to render_template(partial: "sessions/access_denied.html")
- end
- end
- context 'when user is not signed in' do
- before do
- allow(logger_mock).to receive(:error).and_return(true)
- expect(logger_mock.error).to be true
- end
- it '' do
- is_expected.to redirect_to(login_path)
- end
- end
- end
- #еррор
- RuntimeError:
- ActionController::RackDelegation#status= delegated to @_response.status=, but @_response is nil: #<#<Class:0x00560b83c57508>:0x00560b839da488 @_routes=nil, @_action_has_layout=true, @_headers={"Content-Type"=>"text/html"}, @_status=200, @_request=#<ActionController::TestRequest:0x00560b835a8338 @env={"rack.version"=>[1, 1], "rack.input"=>#<StringIO:0x00560b7e6bcaa8>, "rack.errors"=>#<StringIO:0x00560b7e6bcbc0>, "rack.multithread"=>true, "rack.multiprocess"=>true, "rack.run_once"=>false, "REQUEST_METHOD"=>"GET", "SERVER_NAME"=>"example.org", "SERVER_PORT"=>"80", "QUERY_STRING"=>"", "rack.url_scheme"=>"http", "HTTPS"=>"off", "SCRIPT_NAME"=>"", "CONTENT_LENGTH"=>"0", "action_dispatch.routes"=>#<ActionDispatch::Routing::RouteSet:0x00560b7f477288>, "action_dispatch.parameter_filter"=>[:password], "action_dispatch.secret_token"=>"92f45566e092d8c7df821cdebd1382f1c66b35336181654a72564ec54dd0e3453082d20746d55b487b16c4cb49b4a13060d4006db48834d84efaa777d5de7cf8", "action_dispatch.show_exceptions"=>false, "action_dispatch.show_detailed_exceptions"=>true, "action_dispatch.logger"=>#<ActiveSupport::TaggedLogging:0x00560b7f551550 @logger=#<ActiveSupport::BufferedLogger:0x00560b7f536fc0 @log_dest=#<File:/home/orkos/Desktop/git_referrals/log/test.log>, @log=#<Logger:0x00560b7f551848 @progname=nil, @level=0, @default_formatter=#<Logger::Formatter:0x00560b7f5517f8 @datetime_format=nil>, @formatter=#<Logger::SimpleFormatter:0x00560b7f551640 @datetime_format=nil>, @logdev=#<Logger::LogDevice:0x00560b7f551730 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<File:/home/orkos/Desktop/git_referrals/log/test.log>, @mutex=#<Logger::LogDevice::LogDeviceMutex:0x00560b7f5516e0 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Mutex:0x00560b7f551690>>>>>>, "action_dispatch.backtrace_cleaner"=>#<Rails::BacktraceCleaner:0x00560b839d20a8 @filters=[#<Proc:0x00560b839d11f8@/home/orkos/.rvm/gems/ruby-2.0.0-p648/gems/railties-3.2.15/lib/rails/backtrace_cleaner.rb:10>, #<Proc:0x00560b839d11d0@/home/orkos/.rvm/gems/ruby-2.0.0-p648/gems/railties-3.2.15/lib/rails/backtrace_cleaner.rb:11>, #<Proc:0x00560b839d11a8@/home/orkos/.rvm/gems/ruby-2.0.0-p648/gems/railties-3.2.15/lib/rails/backtrace_cleaner.rb:12>, #<Proc:0x00560b839db018@/home/orkos/.rvm/gems/ruby-2.0.0-p648/gems/railties-3.2.15/lib/rails/backtrace_cleaner.rb:26>], @silencers=[#<Proc:0x00560b839daff0@/home/orkos/.rvm/gems/ruby-2.0.0-p648/gems/railties-3.2.15/lib/rails/backtrace_cleaner.rb:15>]>, "HTTP_HOST"=>"test.host", "REMOTE_ADDR"=>"0.0.0.0", "HTTP_USER_AGENT"=>"Rails Testing", "rack.session"=>{}, "rack.session.options"=>{:key=>"rack.session", :path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :cookie_only=>true, :secure_random=>SecureRandom, :id=>"8193275faeea27052cf3c6f4d7efb066"}, "action_dispatch.request.path_parameters"=>{}}, @protocol="http://", @port=80, @symbolized_path_params={}>, @_response=nil, @_params={}, @_config={}, @_url_options={:host=>"test.host", :port=>nil, :protocol=>"http://", :_path_segments=>{}}, @_env={}>
Advertisement
Add Comment
Please, Sign In to add comment