aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/test_case.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/test_case.rb')
-rw-r--r--activerecord/lib/active_record/test_case.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/test_case.rb b/activerecord/lib/active_record/test_case.rb
new file mode 100644
index 0000000000..d5126849be
--- /dev/null
+++ b/activerecord/lib/active_record/test_case.rb
@@ -0,0 +1,35 @@
+require "active_support/test_case"
+
+module ActiveRecord
+ class TestCase < ActiveSupport::TestCase #:nodoc:
+ self.fixture_path = FIXTURES_ROOT
+ self.use_instantiated_fixtures = false
+
+ def create_fixtures(*table_names, &block)
+ Fixtures.create_fixtures(FIXTURES_ROOT, table_names, {}, &block)
+ end
+
+ def assert_date_from_db(expected, actual, message = nil)
+ # SQL Server doesn't have a separate column type just for dates,
+ # so the time is in the string and incorrectly formatted
+ if current_adapter?(:SQLServerAdapter)
+ assert_equal expected.strftime("%Y/%m/%d 00:00:00"), actual.strftime("%Y/%m/%d 00:00:00")
+ elsif current_adapter?(:SybaseAdapter)
+ assert_equal expected.to_s, actual.to_date.to_s, message
+ else
+ assert_equal expected.to_s, actual.to_s, message
+ end
+ end
+
+ def assert_queries(num = 1)
+ $query_count = 0
+ yield
+ ensure
+ assert_equal num, $query_count, "#{$query_count} instead of #{num} queries were executed."
+ end
+
+ def assert_no_queries(&block)
+ assert_queries(0, &block)
+ end
+ end
+end