File tree Expand file tree Collapse file tree 3 files changed +17
-7
lines changed
Expand file tree Collapse file tree 3 files changed +17
-7
lines changed Original file line number Diff line number Diff line change 11# frozen_string_literal: true
22
33require "rack/utils"
4- require "restful_error/railtie" if defined? ActionController
54require "restful_error/status"
65require "restful_error/version"
76
87module RestfulError
8+ autoload :ExceptionsApp , "restful_error/exceptions_app"
99 module Helper
1010 def restful
1111 @restful ||= begin
Original file line number Diff line number Diff line change @@ -21,7 +21,5 @@ def show
2121 end
2222 end
2323
24- def self . exceptions_app
25- ExceptionsController . action ( :show )
26- end
24+ ExceptionsApp = ExceptionsController . action ( :show )
2725end
Original file line number Diff line number Diff line change 33require "action_controller"
44require "i18n"
55require "spec_helper"
6- require "restful_error/railtie" # require again for run after restful_error_spec
76
8- RSpec . describe RestfulError :: ExceptionsController do
7+ RSpec . describe "exceptions_app" do
98 include Rack ::Test ::Methods
10- def app = RestfulError . exceptions_app
9+ def app = RestfulError :: ExceptionsApp
1110
11+ shared_context "html" do
12+ let ( :request ) { get "/#{ status_code } " }
13+ let ( :body ) { request ; last_response . body }
14+ end
1215 shared_context "json" do
1316 let ( :request ) { get "/#{ status_code } " , { } , 'HTTP_ACCEPT' => 'application/json' }
1417 let ( :json ) { request ; JSON . parse ( last_response . body ) }
@@ -19,6 +22,15 @@ def app = RestfulError.exceptions_app
1922 end
2023 describe RestfulError [ 404 ] do
2124 let ( :status_code ) { 404 }
25+ include_context "html" do
26+ context 'default message' do
27+ let ( :exception ) { described_class . new }
28+ it do
29+ expect ( body ) . to include "Page not found"
30+ expect ( last_response . status ) . to eq status_code
31+ end
32+ end
33+ end
2234 include_context "json" do
2335 context 'default message' do
2436 let ( :exception ) { described_class . new }
You can’t perform that action at this time.
0 commit comments