From 5ef49e550e0cdbfcd1f52917a494402a8230d6d3 Mon Sep 17 00:00:00 2001 From: Manfred Stienstra Date: Sun, 11 Jan 2009 13:37:25 +0100 Subject: [PATCH] Add tests for ActiveRecord::TestCase#assert_queries. --- activerecord/test/cases/test_case_test.rb | 38 +++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) create mode 100644 activerecord/test/cases/test_case_test.rb diff --git a/activerecord/test/cases/test_case_test.rb b/activerecord/test/cases/test_case_test.rb new file mode 100644 index 0000000..dae4433 --- /dev/null +++ b/activerecord/test/cases/test_case_test.rb @@ -0,0 +1,38 @@ +require "cases/helper" + +class AssertionTest < ActiveRecord::TestCase + def test_nothing + end +end + +class TestCaseTest < ActiveRecord::TestCase + def setup + @test_case = AssertionTest.new(:test_nothing) + end + + test "assert_queries should succeed when the expected numer of queries is executed" do + @test_case.expects(:assert_equal).with(2, 2, "2 instead of 2 queries were executed.\nQueries:\nSELECT 1\nSELECT 2") + @test_case.assert_queries(2) do + $queries_executed = ["SELECT 1", "SELECT 2"] + end + end + + test "assert_queries should fail when the executed number of queries is not equal to the expected number" do + @test_case.expects(:assert_equal).with(1, 2, "2 instead of 1 queries were executed.\nQueries:\nSELECT 1\nSELECT 2") + @test_case.assert_queries(1) do + $queries_executed = ["SELECT 1", "SELECT 2"] + end + end + + test "assert_queries should not count transaction queries" do + @test_case.expects(:assert_equal).with(3, 2, "2 instead of 3 queries were executed.\nQueries:\nSELECT 1\nUPDATE `people` SET 'name' = 'David'") + @test_case.assert_queries(3) do + $queries_executed = [ + "SELECT 1", + "BEGIN", + "UPDATE `people` SET 'name' = 'David'", + "COMMIT" + ] + end + end +end \ No newline at end of file -- 1.6.0