I'm using in my application_controller : .consider_all_requests_local
like
unless Rails.application.config.consider_all_requests_local rescue_from ActionController::InvalidCrossOriginRequest, :with => :render_404 end
This return 404 if ActionController::InvalidCrossOriginRequest is raised. In local environnement it's not raised, it's good for debugging. For this part it's working. But I would like to test it with rspec.
I've tried something like
describe 'ActionController::InvalidCrossOriginRequest render 404' do before { Rails.application.config.consider_all_requests_local = false } controller do def index raise ActionController::InvalidCrossOriginRequest end end subject { xhr :get, :index, format: :js } its(:status) { is_expected.to eq 404 }end
Two things. I probably not raise in the proper way. Locally the error occurs when mywebsite.com/editor/fckeditor.js is called. Didn't found a way to call a specific url.
Second problem, the before doesn't change the Rails.application.config.consider_all_requests_local
state.
I get :
1) ApplicationController ActionController::InvalidCrossOriginRequest render 404 status Failure/Error: raise ActionController::InvalidCrossOriginRequest ActionController::InvalidCrossOriginRequest: ActionController::InvalidCrossOriginRequest