aboutsummaryrefslogtreecommitdiffstats
path: root/actionsystemtest/test
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2016-11-06 18:55:15 -0500
committereileencodes <eileencodes@gmail.com>2017-02-20 15:07:33 -0500
commit5bf0aa6745db27c45c0778f9f6e9046f9ee9fb94 (patch)
tree7ba85a8ea15146725c68ce6b9e5a94ebac6d0c9c /actionsystemtest/test
parenta21e18d5080a2c4808330271885f5664a725d3f3 (diff)
downloadrails-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.rb13
-rw-r--r--actionsystemtest/test/cases/capybara_driver_test.rb39
-rw-r--r--actionsystemtest/test/cases/driver_adapter_test.rb13
-rw-r--r--actionsystemtest/test/cases/rails_selenium_driver_test.rb11
-rw-r--r--actionsystemtest/test/cases/screenshot_helper_test.rb20
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