diff options
Diffstat (limited to 'activerecord/test/query_cache_test.rb')
-rw-r--r-- | activerecord/test/query_cache_test.rb | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/activerecord/test/query_cache_test.rb b/activerecord/test/query_cache_test.rb index 12b52f6a35..242223161c 100644 --- a/activerecord/test/query_cache_test.rb +++ b/activerecord/test/query_cache_test.rb @@ -3,10 +3,12 @@ require 'fixtures/topic' require 'fixtures/reply' require 'fixtures/task' require 'fixtures/course' +require 'fixtures/category' +require 'fixtures/post' class QueryCacheTest < ActiveSupport::TestCase - fixtures :tasks, :topics + fixtures :tasks, :topics, :categories, :posts, :categories_posts def test_find_queries assert_queries(2) { Task.find(1); Task.find(1) } @@ -99,6 +101,24 @@ class QueryCacheExpiryTest < ActiveSupport::TestCase Task.create! end end + + def test_cache_is_expired_by_habtm_update + ActiveRecord::Base.connection.expects(:clear_query_cache).times(2) + ActiveRecord::Base.cache do + c = Category.find(:first) + p = Post.find(:first) + p.categories << c + end + end + + def test_cache_is_expired_by_habtm_delete + ActiveRecord::Base.connection.expects(:clear_query_cache).times(2) + ActiveRecord::Base.cache do + c = Category.find(:first) + p = Post.find(:first) + p.categories.delete_all + end + end end end |