aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2006-02-09 09:17:40 +0000
committerMichael Koziarski <michael@koziarski.com>2006-02-09 09:17:40 +0000
commitd49a5fcb4cfe90824337dc3756bae7161cea768b (patch)
tree48af0b2f4c9301be8e0816e5ac759516862db2ef /actionpack/test/controller
parent803b9a41af46210da842afdba032c34109514942 (diff)
downloadrails-d49a5fcb4cfe90824337dc3756bae7161cea768b.tar.gz
rails-d49a5fcb4cfe90824337dc3756bae7161cea768b.tar.bz2
rails-d49a5fcb4cfe90824337dc3756bae7161cea768b.zip
* Fix pagination problems when using include
* Introduce Unit Tests for pagination * Allow count to work with :include by using count distinct. [Kevin Clark & Jeremy Hopple] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3553 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/test/controller')
-rw-r--r--actionpack/test/controller/active_record_assertions_test.rb127
1 files changed, 0 insertions, 127 deletions
diff --git a/actionpack/test/controller/active_record_assertions_test.rb b/actionpack/test/controller/active_record_assertions_test.rb
deleted file mode 100644
index b8b6309295..0000000000
--- a/actionpack/test/controller/active_record_assertions_test.rb
+++ /dev/null
@@ -1,127 +0,0 @@
-require "#{File.dirname(__FILE__)}/../abstract_unit"
-
-# Unfurl the safety net.
-path_to_ar = File.dirname(__FILE__) + '/../../../activerecord'
-if Object.const_defined?(:ActiveRecord) || File.exist?(path_to_ar)
- begin
-
-# These tests require Active Record, so you're going to need AR in a
-# sibling directory to AP and have SQLite installed.
-
-unless Object.const_defined?(:ActiveRecord)
- require "#{path_to_ar}/lib/active_record"
-end
-
-begin
- ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :dbfile => ':memory:')
- ActiveRecord::Base.connection
-rescue Object
- $stderr.puts 'SQLite 3 unavailable; falling to SQLite 2.'
- ActiveRecord::Base.establish_connection(:adapter => 'sqlite', :dbfile => ':memory:')
- ActiveRecord::Base.connection
-end
-
-# Set up company fixtures.
-$LOAD_PATH << "#{path_to_ar}/test"
-QUOTED_TYPE = ActiveRecord::Base.connection.quote_column_name('type') unless Object.const_defined?(:QUOTED_TYPE)
-require 'fixtures/company'
-File.read("#{path_to_ar}/test/fixtures/db_definitions/sqlite.sql").split(';').each do |sql|
- ActiveRecord::Base.connection.execute(sql) unless sql.blank?
-end
-
-# Add some validation rules to trip up the assertions.
-class Company
- protected
- def validate
- errors.add_on_empty('name')
- errors.add('rating', 'rating should not be 2') if rating == 2
- errors.add_to_base('oh oh') if rating == 3
- end
-end
-
-# A controller to host the assertions.
-class ActiveRecordAssertionsController < ActionController::Base
- self.template_root = "#{File.dirname(__FILE__)}/../fixtures/"
-
- # fail with 1 bad column
- def nasty_columns_1
- @company = Company.new
- @company.name = "B"
- @company.rating = 2
- render :inline => "snicker...."
- end
-
- # fail with 2 bad columns
- def nasty_columns_2
- @company = Company.new
- @company.name = ""
- @company.rating = 2
- render :inline => "double snicker...."
- end
-
- # this will pass validation
- def good_company
- @company = Company.new
- @company.name = "A"
- @company.rating = 69
- render :inline => "Goodness Gracious!"
- end
-
- # this will fail validation
- def bad_company
- @company = Company.new
- render :inline => "Who's Bad?"
- end
-
- # the safety dance......
- def rescue_action(e) raise; end
-end
-
-class ActiveRecordAssertionsControllerTest < Test::Unit::TestCase
- def setup
- @request = ActionController::TestRequest.new
- @response = ActionController::TestResponse.new
- @controller = ActiveRecordAssertionsController.new
- end
-
- # test for 1 bad apple column
- def test_some_invalid_columns
- process :nasty_columns_1
- assert_success
- assert_invalid_record 'company'
- assert_invalid_column_on_record 'company', 'rating'
- assert_valid_column_on_record 'company', 'name'
- assert_valid_column_on_record 'company', %w(name id)
- end
-
- # test for 2 bad apples columns
- def test_all_invalid_columns
- process :nasty_columns_2
- assert_success
- assert_invalid_record 'company'
- assert_invalid_column_on_record 'company', 'rating'
- assert_invalid_column_on_record 'company', 'name'
- assert_invalid_column_on_record 'company', %w(name rating)
- end
-
- # ensure we have no problems with an ActiveRecord
- def test_valid_record
- process :good_company
- assert_success
- assert_valid_record 'company'
- end
-
- # ensure we have problems with an ActiveRecord
- def test_invalid_record
- process :bad_company
- assert_success
- assert_invalid_record 'company'
- end
-end
-
-# End of safety net.
- rescue Object => e
- $stderr.puts "Skipping Active Record assertion tests: #{e}"
- #$stderr.puts " #{e.backtrace.join("\n ")}"
- end
-end