diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/fixtures/admin.yml | 5 | ||||
-rw-r--r-- | test/fixtures/location.yml | 5 | ||||
-rw-r--r-- | test/fixtures/person.yml | 5 | ||||
-rw-r--r-- | test/fixtures/sa.yml | 5 | ||||
-rw-r--r-- | test/functional/export_controller_test.rb | 18 | ||||
-rw-r--r-- | test/functional/location_controller_test.rb | 88 | ||||
-rw-r--r-- | test/functional/person_controller_test.rb | 88 | ||||
-rw-r--r-- | test/test_helper.rb | 28 | ||||
-rw-r--r-- | test/unit/admin_test.rb | 10 | ||||
-rw-r--r-- | test/unit/location_test.rb | 10 | ||||
-rw-r--r-- | test/unit/person_test.rb | 10 |
11 files changed, 272 insertions, 0 deletions
diff --git a/test/fixtures/admin.yml b/test/fixtures/admin.yml new file mode 100644 index 0000000..b49c4eb --- /dev/null +++ b/test/fixtures/admin.yml @@ -0,0 +1,5 @@ +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html +one: + id: 1 +two: + id: 2 diff --git a/test/fixtures/location.yml b/test/fixtures/location.yml new file mode 100644 index 0000000..8794d28 --- /dev/null +++ b/test/fixtures/location.yml @@ -0,0 +1,5 @@ +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html +first: + id: 1 +another: + id: 2 diff --git a/test/fixtures/person.yml b/test/fixtures/person.yml new file mode 100644 index 0000000..8794d28 --- /dev/null +++ b/test/fixtures/person.yml @@ -0,0 +1,5 @@ +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html +first: + id: 1 +another: + id: 2 diff --git a/test/fixtures/sa.yml b/test/fixtures/sa.yml new file mode 100644 index 0000000..b49c4eb --- /dev/null +++ b/test/fixtures/sa.yml @@ -0,0 +1,5 @@ +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html +one: + id: 1 +two: + id: 2 diff --git a/test/functional/export_controller_test.rb b/test/functional/export_controller_test.rb new file mode 100644 index 0000000..897e329 --- /dev/null +++ b/test/functional/export_controller_test.rb @@ -0,0 +1,18 @@ +require File.dirname(__FILE__) + '/../test_helper' +require 'export_controller' + +# Re-raise errors caught by the controller. +class ExportController; def rescue_action(e) raise e end; end + +class ExportControllerTest < Test::Unit::TestCase + def setup + @controller = ExportController.new + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + end + + # Replace this with your real tests. + def test_truth + assert true + end +end diff --git a/test/functional/location_controller_test.rb b/test/functional/location_controller_test.rb new file mode 100644 index 0000000..685df54 --- /dev/null +++ b/test/functional/location_controller_test.rb @@ -0,0 +1,88 @@ +require File.dirname(__FILE__) + '/../test_helper' +require 'location_controller' + +# Re-raise errors caught by the controller. +class LocationController; def rescue_action(e) raise e end; end + +class LocationControllerTest < Test::Unit::TestCase + fixtures :location + + def setup + @controller = LocationController.new + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + end + + def test_index + get :index + assert_response :success + assert_template 'list' + end + + def test_list + get :list + + assert_response :success + assert_template 'list' + + assert_not_nil assigns(:locations) + end + + def test_show + get :show, :id => 1 + + assert_response :success + assert_template 'show' + + assert_not_nil assigns(:location) + assert assigns(:location).valid? + end + + def test_new + get :new + + assert_response :success + assert_template 'new' + + assert_not_nil assigns(:location) + end + + def test_create + num_locations = Location.count + + post :create, :location => {} + + assert_response :redirect + assert_redirected_to :action => 'list' + + assert_equal num_locations + 1, Location.count + end + + def test_edit + get :edit, :id => 1 + + assert_response :success + assert_template 'edit' + + assert_not_nil assigns(:location) + assert assigns(:location).valid? + end + + def test_update + post :update, :id => 1 + assert_response :redirect + assert_redirected_to :action => 'show', :id => 1 + end + + def test_destroy + assert_not_nil Location.find(1) + + post :destroy, :id => 1 + assert_response :redirect + assert_redirected_to :action => 'list' + + assert_raise(ActiveRecord::RecordNotFound) { + Location.find(1) + } + end +end diff --git a/test/functional/person_controller_test.rb b/test/functional/person_controller_test.rb new file mode 100644 index 0000000..62c55e5 --- /dev/null +++ b/test/functional/person_controller_test.rb @@ -0,0 +1,88 @@ +require File.dirname(__FILE__) + '/../test_helper' +require 'person_controller' + +# Re-raise errors caught by the controller. +class PersonController; def rescue_action(e) raise e end; end + +class PersonControllerTest < Test::Unit::TestCase + fixtures :person + + def setup + @controller = PersonController.new + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + end + + def test_index + get :index + assert_response :success + assert_template 'list' + end + + def test_list + get :list + + assert_response :success + assert_template 'list' + + assert_not_nil assigns(:people) + end + + def test_show + get :show, :id => 1 + + assert_response :success + assert_template 'show' + + assert_not_nil assigns(:person) + assert assigns(:person).valid? + end + + def test_new + get :new + + assert_response :success + assert_template 'new' + + assert_not_nil assigns(:person) + end + + def test_create + num_people = Person.count + + post :create, :person => {} + + assert_response :redirect + assert_redirected_to :action => 'list' + + assert_equal num_people + 1, Person.count + end + + def test_edit + get :edit, :id => 1 + + assert_response :success + assert_template 'edit' + + assert_not_nil assigns(:person) + assert assigns(:person).valid? + end + + def test_update + post :update, :id => 1 + assert_response :redirect + assert_redirected_to :action => 'show', :id => 1 + end + + def test_destroy + assert_not_nil Person.find(1) + + post :destroy, :id => 1 + assert_response :redirect + assert_redirected_to :action => 'list' + + assert_raise(ActiveRecord::RecordNotFound) { + Person.find(1) + } + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 0000000..a299c7f --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,28 @@ +ENV["RAILS_ENV"] = "test" +require File.expand_path(File.dirname(__FILE__) + "/../config/environment") +require 'test_help' + +class Test::Unit::TestCase + # Transactional fixtures accelerate your tests by wrapping each test method + # in a transaction that's rolled back on completion. This ensures that the + # test database remains unchanged so your fixtures don't have to be reloaded + # between every test method. Fewer database queries means faster tests. + # + # Read Mike Clark's excellent walkthrough at + # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting + # + # Every Active Record database supports transactions except MyISAM tables + # in MySQL. Turn off transactional fixtures in this case; however, if you + # don't care one way or the other, switching from MyISAM to InnoDB tables + # is recommended. + self.use_transactional_fixtures = true + + # Instantiated fixtures are slow, but give you @david where otherwise you + # would need people(:david). If you don't want to migrate your existing + # test cases which use the @david style and don't mind the speed hit (each + # instantiated fixtures translates to a database query per test method), + # then set this back to true. + self.use_instantiated_fixtures = false + + # Add more helper methods to be used by all tests here... +end diff --git a/test/unit/admin_test.rb b/test/unit/admin_test.rb new file mode 100644 index 0000000..20b31b1 --- /dev/null +++ b/test/unit/admin_test.rb @@ -0,0 +1,10 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class AdminTest < Test::Unit::TestCase + fixtures :admin + + # Replace this with your real tests. + def test_truth + assert true + end +end diff --git a/test/unit/location_test.rb b/test/unit/location_test.rb new file mode 100644 index 0000000..c69b7a1 --- /dev/null +++ b/test/unit/location_test.rb @@ -0,0 +1,10 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class LocationTest < Test::Unit::TestCase + fixtures :location + + # Replace this with your real tests. + def test_truth + assert true + end +end diff --git a/test/unit/person_test.rb b/test/unit/person_test.rb new file mode 100644 index 0000000..3b9434b --- /dev/null +++ b/test/unit/person_test.rb @@ -0,0 +1,10 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class PersonTest < Test::Unit::TestCase + fixtures :person + + # Replace this with your real tests. + def test_truth + assert true + end +end |