Sha256: 3ff3b6ccb2d8be78e681bfa54ed3d6a649eb40ede52747e3fa93dba7fae9b80d
Contents?: true
Size: 1.98 KB
Versions: 2
Compression:
Stored size: 1.98 KB
Contents
require 'spec_helper' if !mongoid? && active_record? describe Bullet::Detector::CounterCache do before(:each) do Bullet.start_request end after(:each) do Bullet.end_request end it "should need counter cache with all cities" do Country.all.each do |country| country.cities.size end expect(Bullet.collected_counter_cache_notifications).not_to be_empty end it "should not need counter cache if already define counter_cache" do Person.all.each do |person| person.pets.size end expect(Bullet.collected_counter_cache_notifications).to be_empty end it "should not need counter cache with only one object" do Country.first.cities.size expect(Bullet.collected_counter_cache_notifications).to be_empty end it "should need counter cache for has_many through" do Client.all.each do |client| client.firms.size end expect(Bullet.collected_counter_cache_notifications).not_to be_empty end it "should not need counter cache with part of cities" do Country.all.each do |country| country.cities.where(:name => 'first').size end expect(Bullet.collected_counter_cache_notifications).to be_empty end context "disable" do before { Bullet.counter_cache_enable = false } after { Bullet.counter_cache_enable = true } it "should not detect counter cache" do Country.all.each do |country| country.cities.size end expect(Bullet.collected_counter_cache_notifications).to be_empty end end context "whitelist" do before { Bullet.add_whitelist :type => :counter_cache, :class_name => "Country", :association => :cities } after { Bullet.clear_whitelist } it "should not detect counter cache" do Country.all.each do |country| country.cities.size end expect(Bullet.collected_counter_cache_notifications).to be_empty end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bullet-4.14.10 | spec/integration/counter_cache_spec.rb |
bullet-4.14.9 | spec/integration/counter_cache_spec.rb |