diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2007-02-22 09:28:10 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2007-02-22 09:28:10 +0000 |
commit | 236fe10fe9fd2ee3138784bf0cd5e4248c6b5d5e (patch) | |
tree | d992b1c3d61aabb630151c3547d298d6bf0d0122 /actionpack/test | |
parent | f425bba9cf6c6a7268a906cb888a8a3af4f9abcb (diff) | |
download | rails-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')
-rw-r--r-- | actionpack/test/controller/integration_test.rb | 39 |
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 |