Sha256: 179d3e1fb71789769aeb50a6a12c7e31b2e7249951e948f1af931f235fd4a830

Contents?: true

Size: 1.66 KB

Versions: 2

Compression:

Stored size: 1.66 KB

Contents

require 'stackable_flash/test_helpers'   # Used in the definition of these matchers
require 'stackable_flash/rspec_matchers' # Not used here, but for convenience
require 'cacheable_flash/test_helpers'   # Used in the definition of these matchers

module CacheableFlash
  module RspecMatchers
    include StackableFlash::TestHelpers
    include CacheableFlash::TestHelpers
    RSpec::Matchers.define :have_flash_cookie do |flash_status, expecting|
      define_method :has_flash_cookie? do |response|
        flash_in_stack(testable_flash(response)[flash_status], expecting)
      end
      match{|response| has_flash_cookie?(response)}
      failure_message_for_should do |actual|
        "expected flash[:#{expected[0]}] to be or include #{expected[1].inspect}, but got #{testable_flash(actual)[expected[0]]}"
      end
      failure_message_for_should_not do |actual|
        "expected flash[:#{expected[0]}] to not be and not include #{expected[1].inspect}, but got #{testable_flash(actual)[expected[0]]}"
      end
    end

    RSpec::Matchers.define :have_cacheable_flash do |flash_status, expecting|
      define_method :has_cacheable_flash? do |response|
        flash_in_stack(testable_flash(response)[flash_status], expecting)
      end
      match{|response| has_cacheable_flash?(response)}
      failure_message_for_should do |actual|
        "expected flash[:#{expected[0]}] to be or include #{expected[1].inspect}, but got #{testable_flash(actual)[expected[0]]}"
      end
      failure_message_for_should_not do |actual|
        "expected flash[:#{expected[0]}] to not be and not include #{expected[1].inspect}, but got #{testable_flash(actual)[expected[0]]}"
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cacheable_flash-0.3.2 lib/cacheable_flash/rspec_matchers.rb
cacheable_flash-0.3.1 lib/cacheable_flash/rspec_matchers.rb