aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/integration_test.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-02-22 09:28:10 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-02-22 09:28:10 +0000
commit236fe10fe9fd2ee3138784bf0cd5e4248c6b5d5e (patch)
treed992b1c3d61aabb630151c3547d298d6bf0d0122 /actionpack/test/controller/integration_test.rb
parentf425bba9cf6c6a7268a906cb888a8a3af4f9abcb (diff)
downloadrails-236fe10fe9fd2ee3138784bf0cd5e4248c6b5d5e.tar.gz
rails-236fe10fe9fd2ee3138784bf0cd5e4248c6b5d5e.tar.bz2
rails-236fe10fe9fd2ee3138784bf0cd5e4248c6b5d5e.zip
Integration tests: introduce methods for other HTTP methods. Closes #6353.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6203 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/test/controller/integration_test.rb')
-rw-r--r--actionpack/test/controller/integration_test.rb39
1 files changed, 38 insertions, 1 deletions
diff --git a/actionpack/test/controller/integration_test.rb b/actionpack/test/controller/integration_test.rb
index a26b6eb259..3bea949867 100644
--- a/actionpack/test/controller/integration_test.rb
+++ b/actionpack/test/controller/integration_test.rb
@@ -9,7 +9,7 @@ uses_mocha 'integration' do
module ActionController
module Integration
class Session
- def process
+ def process(*args)
end
def generic_url_rewriter
@@ -143,6 +143,43 @@ class SessionTest < Test::Unit::TestCase
end
end
+class IntegrationTestTest < Test::Unit::TestCase
+
+ def setup
+ @test = ::ActionController::IntegrationTest.new(:default_test)
+ @test.class.stubs(:fixture_table_names).returns([])
+ @session = @test.open_session
+ end
+
+ def test_opens_new_session
+ @test.class.expects(:fixture_table_names).times(2).returns(['foo'])
+
+ session1 = @test.open_session { |sess| }
+ session2 = @test.open_session # implicit session
+
+ assert_equal ::ActionController::Integration::Session, session1.class
+ assert_equal ::ActionController::Integration::Session, session2.class
+ assert_not_equal session1, session2
+ end
+
+end
+
+# Tests that integration tests don't call Controller test methods for processing.
+# Integration tests have their own setup and teardown.
+class IntegrationTestUsesCorrectClass < ActionController::IntegrationTest
+
+ def self.fixture_table_names
+ []
+ end
+
+ def test_integration_methods_called
+ %w( get post head put delete ).each do |verb|
+ assert_nothing_raised("'#{verb}' should use integration test methods") { send(verb, '/') }
+ end
+ end
+
+end
+
# TODO
# class MockCGITest < Test::Unit::TestCase
# end