mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
fd6aaaa0c3
We are planning to remove mocha from our test suite because of performance problems. To make this possible we should stop require mocha on ActionSupport::TestCase. This should not affect applications since users still need to add mocha to Gemfile and this already load mocha. Added FIXME notes to place that still need mocha removal
57 lines
1.4 KiB
Ruby
57 lines
1.4 KiB
Ruby
require 'abstract_unit'
|
|
require 'mocha/setup' # FIXME: stop using mocha
|
|
|
|
module ActionController
|
|
class Base
|
|
include ActionController::Testing
|
|
end
|
|
end
|
|
|
|
class InfoControllerTest < ActionController::TestCase
|
|
tests Rails::InfoController
|
|
|
|
def setup
|
|
Rails.application.routes.draw do
|
|
get '/rails/info/properties' => "rails/info#properties"
|
|
get '/rails/info/routes' => "rails/info#routes"
|
|
end
|
|
@controller.stubs(:local_request? => true)
|
|
@routes = Rails.application.routes
|
|
|
|
Rails::InfoController.send(:include, @routes.url_helpers)
|
|
end
|
|
|
|
test "info controller does not allow remote requests" do
|
|
@controller.stubs(local_request?: false)
|
|
get :properties
|
|
assert_response :forbidden
|
|
end
|
|
|
|
test "info controller renders an error message when request was forbidden" do
|
|
@controller.stubs(local_request?: false)
|
|
get :properties
|
|
assert_select 'p'
|
|
end
|
|
|
|
test "info controller allows requests when all requests are considered local" do
|
|
@controller.stubs(local_request?: true)
|
|
get :properties
|
|
assert_response :success
|
|
end
|
|
|
|
test "info controller allows local requests" do
|
|
get :properties
|
|
assert_response :success
|
|
end
|
|
|
|
test "info controller renders a table with properties" do
|
|
get :properties
|
|
assert_select 'table'
|
|
end
|
|
|
|
test "info controller renders with routes" do
|
|
get :routes
|
|
assert_response :success
|
|
end
|
|
|
|
end
|