Module: Cell::RailsExtensions::Testing
- Defined in:
- lib/cell/rails/testing.rb
Overview
This modules overrides Cell::Testing#controller_for and provides Rails-specific logic.
Constant Summary collapse
- RAILS_8_0 =
Gem::Version.new("8.0.0")
- RAILS_5_1 =
Gem::Version.new("5.1.0")
- RAILS_5_0 =
Gem::Version.new("5.0.0")
Instance Method Summary collapse
- #action_controller_test_request(controller_class) ⇒ Object
- #controller_for(controller_class) ⇒ Object
Instance Method Details
#action_controller_test_request(controller_class) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/cell/rails/testing.rb', line 18 def action_controller_test_request(controller_class) version = ::Rails.gem_version if version >= RAILS_5_1 && version < RAILS_8_0 ::ActionController::TestRequest.create(controller_class) elsif version >= RAILS_5_0 && version < RAILS_5_1 ::ActionController::TestRequest.create else ::ActionController::TestRequest.new end end |
#controller_for(controller_class) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/cell/rails/testing.rb', line 9 def controller_for(controller_class) return unless controller_class controller_class.new.tap do |ctl| ctl.request = action_controller_test_request(controller_class) ctl.instance_variable_set :@routes, ::Rails.application.routes.url_helpers end end |