Skip to content

Commit

Permalink
unify into ActionView::-scoped assertions
Browse files Browse the repository at this point in the history
  • Loading branch information
seanpdoyle committed Dec 1, 2023
1 parent 4c76202 commit fa8c2a6
Show file tree
Hide file tree
Showing 11 changed files with 23 additions and 48 deletions.
6 changes: 4 additions & 2 deletions actionpack/lib/action_controller/railtie.rb
Expand Up @@ -148,9 +148,11 @@ class Railtie < Rails::Railtie # :nodoc:

case assertions
when :capybara
include ActionDispatch::CapybaraAssertions
include ActionView::CapybaraAssertions
when :rails_dom_testing
include ActionDispatch::RailsDomTestingAssertions
include ActionView::RailsDomTestingAssertions
when :none
# do nothing
else
raise ArgumentError.new("unrecognized value #{assertions.inspect} for config.action_controller.assertions")
end
Expand Down
2 changes: 0 additions & 2 deletions actionpack/lib/action_dispatch.rb
Expand Up @@ -121,8 +121,6 @@ def self.resolve_store(session_store) # :nodoc:

autoload_under "testing" do
autoload :Assertions
autoload :CapybaraAssertions
autoload :RailsDomTestingAssertions
autoload :Integration
autoload :IntegrationTest, "action_dispatch/testing/integration"
autoload :TestProcess
Expand Down
6 changes: 4 additions & 2 deletions actionpack/lib/action_dispatch/railtie.rb
Expand Up @@ -78,9 +78,11 @@ class Railtie < Rails::Railtie # :nodoc:
ActiveSupport.on_load(:action_dispatch_integration_test) do
case assertions
when :capybara
include ActionDispatch::CapybaraAssertions
include ActionView::CapybaraAssertions
when :rails_dom_testing
include ActionDispatch::RailsDomTestingAssertions
include ActionView::RailsDomTestingAssertions
when :none
# do nothing
else
raise ArgumentError.new("unrecognized value #{assertions.inspect} for config.action_dispatch.assertions")
end
Expand Down
18 changes: 0 additions & 18 deletions actionpack/lib/action_dispatch/testing/capybara_assertions.rb

This file was deleted.

This file was deleted.

4 changes: 2 additions & 2 deletions actionpack/test/abstract_unit.rb
Expand Up @@ -112,11 +112,11 @@ def config
end

ActiveSupport.on_load :action_controller_test_case do
include ActionDispatch::RailsDomTestingAssertions
include ActionView::RailsDomTestingAssertions
end

class ActionDispatch::IntegrationTest < ActiveSupport::TestCase
include ActionDispatch::RailsDomTestingAssertions
include ActionView::RailsDomTestingAssertions

def self.build_app(routes = nil)
RoutedRackApp.new(routes || ActionDispatch::Routing::RouteSet.new) do |middleware|
Expand Down
4 changes: 2 additions & 2 deletions actionpack/test/dispatch/capybara_assertions_test.rb
Expand Up @@ -9,7 +9,7 @@ def create
end

class ControllerCapybaraAssertionsTest < ActionController::TestCase
include ActionDispatch::CapybaraAssertions
include ActionView::CapybaraAssertions

setup do
@controller = RendersController.new
Expand Down Expand Up @@ -75,7 +75,7 @@ class ControllerCapybaraAssertionsTest < ActionController::TestCase
end

class IntegrationCapybaraAssertionsTest < ActionDispatch::IntegrationTest
include ActionDispatch::CapybaraAssertions
include ActionView::CapybaraAssertions

APP = build_app(ActionDispatch::Routing::RouteSet.new.tap { |routes|
routes.draw { post "/", to: "renders#create" }
Expand Down
2 changes: 2 additions & 0 deletions actionview/lib/action_view/railtie.rb
Expand Up @@ -115,6 +115,8 @@ class Railtie < Rails::Engine # :nodoc:
include ActionView::CapybaraAssertions
when :rails_dom_testing
include ActionView::RailsDomTestingAssertions
when :none
# do nothing
else
raise ArgumentError.new("unrecognized value #{assertions.inspect} for config.action_view.assertions")
end
Expand Down
4 changes: 2 additions & 2 deletions actionview/test/abstract_unit.rb
Expand Up @@ -106,7 +106,7 @@ def config
end

class ActionDispatch::IntegrationTest < ActiveSupport::TestCase
include ActionDispatch::RailsDomTestingAssertions
include ActionView::RailsDomTestingAssertions

def self.build_app(routes = nil)
routes ||= ActionDispatch::Routing::RouteSet.new.tap { |rs|
Expand Down Expand Up @@ -151,7 +151,7 @@ def self.test_routes(&block)

class TestCase
include ActionDispatch::TestProcess
include ActionDispatch::RailsDomTestingAssertions
include ActionView::RailsDomTestingAssertions

def self.with_routes(&block)
routes = ActionDispatch::Routing::RouteSet.new
Expand Down
6 changes: 6 additions & 0 deletions guides/source/configuring.md
Expand Up @@ -1664,6 +1664,8 @@ When set to `:rails_dom_testing`, tests will have access to assertions provided

When set to `:capybara`, tests will have access to assertions provided by the [capybara](https://rubydoc.info/github/teamcapybara/capybara/master/Capybara/Minitest/Assertions) gem.

When set to `:none`, tests won't include any built-in assertions.

Defaults to `:rails_dom_testing`.

#### `config.action_controller.asset_host`
Expand Down Expand Up @@ -1820,6 +1822,8 @@ When set to `:rails_dom_testing`, tests will have access to assertions provided

When set to `:capybara`, tests will have access to assertions provided by the [capybara](https://rubydoc.info/github/teamcapybara/capybara/master/Capybara/Minitest/Assertions) gem.

When set to `:none`, tests won't include any built-in assertions.

Defaults to `:rails_dom_testing`.

#### `config.action_dispatch.cookies_serializer`
Expand Down Expand Up @@ -2028,6 +2032,8 @@ When set to `:rails_dom_testing`, tests will have access to assertions provided

When set to `:capybara`, tests will have access to assertions provided by the [capybara](https://rubydoc.info/github/teamcapybara/capybara/master/Capybara/Minitest/Assertions) gem.

When set to `:none`, tests won't include any built-in assertions.

Defaults to `:rails_dom_testing`.

#### `config.action_view.cache_template_loading`
Expand Down
2 changes: 1 addition & 1 deletion railties/test/abstract_unit.rb
Expand Up @@ -25,7 +25,7 @@ class ActiveSupport::TestCase
end

ActiveSupport.on_load(:action_controller_test_case) do
include ActionDispatch::RailsDomTestingAssertions
include ActionView::RailsDomTestingAssertions
end

require_relative "../../tools/test_common"

0 comments on commit fa8c2a6

Please sign in to comment.