diff options
author | eileencodes <eileencodes@gmail.com> | 2016-11-06 18:55:15 -0500 |
---|---|---|
committer | eileencodes <eileencodes@gmail.com> | 2017-02-20 15:07:33 -0500 |
commit | 5bf0aa6745db27c45c0778f9f6e9046f9ee9fb94 (patch) | |
tree | 7ba85a8ea15146725c68ce6b9e5a94ebac6d0c9c /actionsystemtest/test | |
parent | a21e18d5080a2c4808330271885f5664a725d3f3 (diff) | |
download | rails-5bf0aa6745db27c45c0778f9f6e9046f9ee9fb94.tar.gz rails-5bf0aa6745db27c45c0778f9f6e9046f9ee9fb94.tar.bz2 rails-5bf0aa6745db27c45c0778f9f6e9046f9ee9fb94.zip |
Turn system testing into it's own gem and rename
Renames `Rails::SystemTestCase` to `ActionSystemTest` and moves it to a
gem under the Rails name.
We need to name the class `ActionSystemTestCase` because the gem expects
a module but tests themselves expect a class.
Adds MIT-LICENSE, CHANGELOG, and README for the future.
Diffstat (limited to 'actionsystemtest/test')
-rw-r--r-- | actionsystemtest/test/abstract_unit.rb | 13 | ||||
-rw-r--r-- | actionsystemtest/test/cases/capybara_driver_test.rb | 39 | ||||
-rw-r--r-- | actionsystemtest/test/cases/driver_adapter_test.rb | 13 | ||||
-rw-r--r-- | actionsystemtest/test/cases/rails_selenium_driver_test.rb | 11 | ||||
-rw-r--r-- | actionsystemtest/test/cases/screenshot_helper_test.rb | 20 |
5 files changed, 96 insertions, 0 deletions
diff --git a/actionsystemtest/test/abstract_unit.rb b/actionsystemtest/test/abstract_unit.rb new file mode 100644 index 0000000000..26da9c7ccb --- /dev/null +++ b/actionsystemtest/test/abstract_unit.rb @@ -0,0 +1,13 @@ +require "active_support/testing/autorun" +require "action_controller" +require "action_dispatch" +require "action_system_test" + +# Skips the current run on Rubinius using Minitest::Assertions#skip +def rubinius_skip(message = "") + skip message if RUBY_ENGINE == "rbx" +end +# Skips the current run on JRuby using Minitest::Assertions#skip +def jruby_skip(message = "") + skip message if defined?(JRUBY_VERSION) +end diff --git a/actionsystemtest/test/cases/capybara_driver_test.rb b/actionsystemtest/test/cases/capybara_driver_test.rb new file mode 100644 index 0000000000..33337ad18b --- /dev/null +++ b/actionsystemtest/test/cases/capybara_driver_test.rb @@ -0,0 +1,39 @@ +require "abstract_unit" + +class CapybaraDriverTest < ActiveSupport::TestCase + def setup + ActionSystemTest.driver = :poltergeist + end + + def test_default_driver_adapter + assert_kind_of ActionSystemTest::DriverAdapters::CapybaraDriver, ActionSystemTest.driver + end + + def test_default_settings + assert_equal :poltergeist, ActionSystemTest.driver.name + assert_equal :puma, ActionSystemTest.driver.server + assert_equal 28100, ActionSystemTest.driver.port + end + + def test_setting_driver + ActionSystemTest.driver = :webkit + + assert_equal :webkit, ActionSystemTest.driver.name + end + + def test_setting_server + ActionSystemTest.driver = ActionSystemTest::DriverAdapters::CapybaraDriver.new( + server: :webrick + ) + + assert_equal :webrick, ActionSystemTest.driver.server + end + + def test_setting_port + ActionSystemTest.driver = ActionSystemTest::DriverAdapters::CapybaraDriver.new( + port: 3000 + ) + + assert_equal 3000, ActionSystemTest.driver.port + end +end diff --git a/actionsystemtest/test/cases/driver_adapter_test.rb b/actionsystemtest/test/cases/driver_adapter_test.rb new file mode 100644 index 0000000000..cecaa5b958 --- /dev/null +++ b/actionsystemtest/test/cases/driver_adapter_test.rb @@ -0,0 +1,13 @@ +require "abstract_unit" + +class DriverAdapterTest < ActiveSupport::TestCase + test "only registered adapters are accepted" do + assert_raises(NameError) do + ActionSystemTest.driver = :whatever + end + + assert_nothing_raised do + ActionSystemTest.driver = :rack_test + end + end +end diff --git a/actionsystemtest/test/cases/rails_selenium_driver_test.rb b/actionsystemtest/test/cases/rails_selenium_driver_test.rb new file mode 100644 index 0000000000..1a8e875f52 --- /dev/null +++ b/actionsystemtest/test/cases/rails_selenium_driver_test.rb @@ -0,0 +1,11 @@ +require "abstract_unit" + +class RailsSeleniumDriverTest < ActiveSupport::TestCase + def setup + ActionSystemTest.driver = :rails_selenium_driver + end + + def test_default_driver_adapter + assert_kind_of ActionSystemTest::DriverAdapters::RailsSeleniumDriver, ActionSystemTest.driver + end +end diff --git a/actionsystemtest/test/cases/screenshot_helper_test.rb b/actionsystemtest/test/cases/screenshot_helper_test.rb new file mode 100644 index 0000000000..43b24cba21 --- /dev/null +++ b/actionsystemtest/test/cases/screenshot_helper_test.rb @@ -0,0 +1,20 @@ +require "abstract_unit" + +class ScreenshotHelperTest < ActiveSupport::TestCase + def test_driver_support_for_screenshots + ActionSystemTest.driver = :rails_selenium_driver + assert ActionSystemTest.driver.supports_screenshots? + + ActionSystemTest.driver = :rack_test + assert_not ActionSystemTest.driver.supports_screenshots? + + ActionSystemTest.driver = :selenium + assert ActionSystemTest.driver.supports_screenshots? + + ActionSystemTest.driver = :webkit + assert ActionSystemTest.driver.supports_screenshots? + + ActionSystemTest.driver = :poltergeist + assert ActionSystemTest.driver.supports_screenshots? + end +end |