Sha256: f432085ad0b8277507f40aea14537a15f0c114f7f00dd1ba2f2ef396f192ccd7

Contents?: true

Size: 760 Bytes

Versions: 2

Compression:

Stored size: 760 Bytes

Contents

require 'rspec/matchers' rescue nil
if defined? RSpec::Matchers
  RSpec::Matchers.define :have_categories do |*expected|

    match do |results|
      extract_categories(actual) == expected
    end

    failure_message_for_should do |results|
      "expected categories #{extract_categories(results)} to be named and ordered as #{expected}"
    end

    failure_message_for_should_not do |results|
      "expected categories #{extract_categories(results)} not to be named and ordered as #{expected}"
    end

    description do
      "be categories named and ordered as #{expected}"
    end

    def extract_categories results
      results.allocations.map do |allocation|
        allocation[3].map { |combination| combination[0] }
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
picky-client-4.19.6 lib/picky-client/spec/support/matchers/have_categories.rb
picky-client-4.19.5 lib/picky-client/spec/support/matchers/have_categories.rb