Sha256: e8de1725ae43cd7955e0c0c267f4d02075d9264f1b2be6661077988c55b5cbfd

Contents?: true

Size: 1.21 KB

Versions: 25

Compression:

Stored size: 1.21 KB

Contents

module Spree
  module TestingSupport
    module Caching
      def cache_writes
        @cache_write_events
      end

      def assert_written_to_cache(key)
        unless @cache_write_events.detect { |event| event[:key].starts_with?(key) }
          fail %Q{Expected to find #{key} in the cache, but didn't.

  Cache writes:
  #{@cache_write_events.join("\n")}
          }
        end
      end

      def clear_cache_events
        @cache_read_events = []
        @cache_write_events = []
      end
    end
  end
end

RSpec.configure do |config|
  config.include Spree::TestingSupport::Caching, caching: true

  config.before(:each, caching: true) do
    ActionController::Base.perform_caching = true

    ActiveSupport::Notifications.subscribe("read_fragment.action_controller") do |event, start_time, finish_time, _, details|
      @cache_read_events ||= []
      @cache_read_events << details 
    end

    ActiveSupport::Notifications.subscribe("write_fragment.action_controller") do |event, start_time, finish_time, _, details|
      @cache_write_events ||= []
      @cache_write_events << details
    end
  end

  config.after(:each, caching: true) do
    ActionController::Base.perform_caching = false
    Rails.cache.clear
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
goca-spree-core-3.1.14.rails.5.0.1 lib/spree/testing_support/caching.rb
spree_core-3.2.9 lib/spree/testing_support/caching.rb
spree_core-3.3.6 lib/spree/testing_support/caching.rb
spree_core-3.2.8 lib/spree/testing_support/caching.rb
spree_core-3.3.5 lib/spree/testing_support/caching.rb
spree_core-3.3.4 lib/spree/testing_support/caching.rb
spree_core-3.2.7 lib/spree/testing_support/caching.rb
spree_core-3.3.3 lib/spree/testing_support/caching.rb
spree_core-3.2.6 lib/spree/testing_support/caching.rb
spree_core-3.3.2 lib/spree/testing_support/caching.rb
spree_core-3.2.5 lib/spree/testing_support/caching.rb
spree_core-3.3.1 lib/spree/testing_support/caching.rb
spree_core-3.2.4 lib/spree/testing_support/caching.rb
spree_core-3.3.0 lib/spree/testing_support/caching.rb
spree_core-3.3.0.rc4 lib/spree/testing_support/caching.rb
spree_core-3.3.0.rc3 lib/spree/testing_support/caching.rb
spree_core-3.2.3 lib/spree/testing_support/caching.rb
spree_core-3.2.2 lib/spree/testing_support/caching.rb
spree_core-3.3.0.rc2 lib/spree/testing_support/caching.rb
spree_core-3.3.0.rc1 lib/spree/testing_support/caching.rb