MohHeader / rspec-rails-deep-ignore-order-matcher

RSpec Deep Matcher

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RSpec Deep Matcher

Gem Version

This gem adds a custom matcher to RSpec to recursively compare nested Ruby data-structures consisting of Hash and Array elements. An order of elements in an array is ignored.

Install

gem install rspec-rails-deep-ignore-order-matcher

or add to your Gemfile

gem 'rspec-rails-deep-ignore-order-matcher'

and run

bundle install

Example

require 'rspec-deep-ignore-order-matcher'

describe 'Products' do
	it "should ignore order of product's tags" do
		expected = [{ :product => { :title => 'Product 1', :tags => ['large', 'blue', 'heavy'] } }]
		actual = [{ :product => { :title => 'Product 1', :tags => ['blue', 'large', 'heavy'] } }]
		expect(actual).to be_deep_equal(expected)
	end
end

About

RSpec Deep Matcher

License:MIT License


Languages

Language:Ruby 100.0%