diff options
Diffstat (limited to 'activerecord/test')
| -rw-r--r-- | activerecord/test/cases/relation/record_fetch_warning_test.rb | 34 | 
1 files changed, 23 insertions, 11 deletions
diff --git a/activerecord/test/cases/relation/record_fetch_warning_test.rb b/activerecord/test/cases/relation/record_fetch_warning_test.rb index 53daf436e5..0e0e23b24b 100644 --- a/activerecord/test/cases/relation/record_fetch_warning_test.rb +++ b/activerecord/test/cases/relation/record_fetch_warning_test.rb @@ -1,28 +1,40 @@  require 'cases/helper'  require 'models/post' +require 'active_record/relation/record_fetch_warning'  module ActiveRecord    class RecordFetchWarningTest < ActiveRecord::TestCase      fixtures :posts -    def test_warn_on_records_fetched_greater_than -      original_logger = ActiveRecord::Base.logger -      original_warn_on_records_fetched_greater_than = ActiveRecord::Base.warn_on_records_fetched_greater_than +    def setup +      @original_logger = ActiveRecord::Base.logger +      @original_warn_on_records_fetched_greater_than = ActiveRecord::Base.warn_on_records_fetched_greater_than +      @log = StringIO.new +    end + +    def teardown +      ActiveRecord::Base.logger = @original_logger +      ActiveRecord::Base.warn_on_records_fetched_greater_than = @original_warn_on_records_fetched_greater_than +    end -      log = StringIO.new -      ActiveRecord::Base.logger = ActiveSupport::Logger.new(log) +    def test_warn_on_records_fetched_greater_than_allowed_limit +      ActiveRecord::Base.logger = ActiveSupport::Logger.new(@log)        ActiveRecord::Base.logger.level = Logger::WARN +      ActiveRecord::Base.warn_on_records_fetched_greater_than = 1 -      require 'active_record/relation/record_fetch_warning' +      Post.all.to_a -      ActiveRecord::Base.warn_on_records_fetched_greater_than = 1 +      assert_match(/Query fetched/, @log.string) +    end + +    def test_does_not_warn_on_records_fetched_less_than_allowed_limit +      ActiveRecord::Base.logger = ActiveSupport::Logger.new(@log) +      ActiveRecord::Base.logger.level = Logger::WARN +      ActiveRecord::Base.warn_on_records_fetched_greater_than = 100        Post.all.to_a -      assert_match(/Query fetched/, log.string) -    ensure -      ActiveRecord::Base.logger = original_logger -      ActiveRecord::Base.warn_on_records_fetched_greater_than = original_warn_on_records_fetched_greater_than +      assert_no_match(/Query fetched/, @log.string)      end    end  end  | 
