Moving all the functional tests to the Rails 2 way, which uses less code by having an additional sub-class to take care of the duplicate code in every test. There is a bug in rails 2.0.2, which means that super doesn't get called in the setup method in the functional tests. This is fixed in Rails 2.1.2, thus a version bump should really be done.

This commit is contained in:
Shaun McDonald 2008-10-28 12:27:10 +00:00
parent e18c33f733
commit 427becc1db
12 changed files with 13 additions and 111 deletions

View file

@ -1,16 +1,11 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'api_controller' require 'api_controller'
# Re-raise errors caught by the controller. class ApiControllerTest < ActionController::TestCase
class ApiController; def rescue_action(e) raise e end; end
class ApiControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup def setup
@controller = ApiController.new super
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
@badbigbbox = %w{ -0.1,-0.1,1.1,1.1 10,10,11,11 } @badbigbbox = %w{ -0.1,-0.1,1.1,1.1 10,10,11,11 }
@badmalformedbbox = %w{ -0.1 hello @badmalformedbbox = %w{ -0.1 hello
10N2W10.1N2.1W } 10N2W10.1N2.1W }

View file

@ -1,19 +1,8 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'browse_controller' require 'browse_controller'
# Re-raise errors caught by the controller. class BrowseControllerTest < ActionController::TestCase
class BrowseController; def rescue_action(e) raise e end; end
class BrowseControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup
@controller = BrowseController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
def basic_authorization(user, pass) def basic_authorization(user, pass)
@request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}") @request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}")

View file

@ -1,19 +1,8 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'changeset_controller' require 'changeset_controller'
# Re-raise errors caught by the controller. class ChangesetControllerTest < ActionController::TestCase
class ChangesetController; def rescue_action(e) raise e end; end
class ChangesetControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup
@controller = ChangesetController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
def basic_authorization(user, pass) def basic_authorization(user, pass)
@request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}") @request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}")

View file

@ -1,15 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'geocoder_controller' require 'geocoder_controller'
# Re-raise errors caught by the controller. class GeocoderControllerTest < ActionController::TestCase
class GeocoderController; def rescue_action(e) raise e end; end
class GeocoderControllerTest < Test::Unit::TestCase
def setup
@controller = GeocoderController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
# Replace this with your real tests. # Replace this with your real tests.
def test_truth def test_truth

View file

@ -1,15 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'message_controller' require 'message_controller'
# Re-raise errors caught by the controller. class MessageControllerTest < ActionController::TestCase
class MessageController; def rescue_action(e) raise e end; end
class MessageControllerTest < Test::Unit::TestCase
def setup
@controller = MessageController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
# Replace this with your real tests. # Replace this with your real tests.
def test_truth def test_truth

View file

@ -1,18 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'node_controller' require 'node_controller'
# Re-raise errors caught by the controller. class NodeControllerTest < ActionController::TestCase
class NodeController; def rescue_action(e) raise e end; end
class NodeControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup
@controller = NodeController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
def test_create def test_create
# cannot read password from fixture as it is stored as MD5 digest # cannot read password from fixture as it is stored as MD5 digest
basic_authorization(users(:normal_user).email, "test"); basic_authorization(users(:normal_user).email, "test");

View file

@ -1,18 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'old_node_controller' require 'old_node_controller'
# Re-raise errors caught by the controller. class OldNodeControllerTest < ActionController::TestCase
class OldNodeController; def rescue_action(e) raise e end; end
class OldNodeControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup
@controller = OldNodeController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
# #
# TODO: test history # TODO: test history
# #

View file

@ -1,22 +1,12 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'old_relation_controller' require 'old_relation_controller'
# Re-raise errors caught by the controller. class OldRelationControllerTest < ActionController::TestCase
#class OldRelationController; def rescue_action(e) raise e end; end
class OldRelationControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup
@controller = OldRelationController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
# ------------------------------------- # -------------------------------------
# Test reading old relations. # Test reading old relations.
# ------------------------------------- # -------------------------------------
def test_history def test_history
# check that a visible relations is returned properly # check that a visible relations is returned properly
get :history, :id => relations(:visible_relation).id get :history, :id => relations(:visible_relation).id

View file

@ -1,18 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'old_way_controller' require 'old_way_controller'
# Re-raise errors caught by the controller. class OldWayControllerTest < ActionController::TestCase
class OldWayController; def rescue_action(e) raise e end; end
class OldWayControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup
@controller = OldWayController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
# ------------------------------------- # -------------------------------------
# Test reading old ways. # Test reading old ways.
# ------------------------------------- # -------------------------------------

View file

@ -1,18 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'relation_controller' require 'relation_controller'
# Re-raise errors caught by the controller. class RelationControllerTest < ActionController::TestCase
class RelationController; def rescue_action(e) raise e end; end
class RelationControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup
@controller = RelationController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
def basic_authorization(user, pass) def basic_authorization(user, pass)
@request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}") @request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}")
end end

View file

@ -1,18 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
require 'way_controller' require 'way_controller'
# Re-raise errors caught by the controller. class WayControllerTest < ActionController::TestCase
class WayController; def rescue_action(e) raise e end; end
class WayControllerTest < Test::Unit::TestCase
api_fixtures api_fixtures
def setup
@controller = WayController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
def basic_authorization(user, pass) def basic_authorization(user, pass)
@request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}") @request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}")
end end

View file

@ -27,7 +27,7 @@ class Test::Unit::TestCase
# Load standard fixtures needed to test API methods # Load standard fixtures needed to test API methods
def self.api_fixtures def self.api_fixtures
print "setting up the api_fixtures" #print "setting up the api_fixtures"
fixtures :users, :changesets fixtures :users, :changesets
fixtures :current_nodes, :nodes fixtures :current_nodes, :nodes