diff --git a/bin/setup b/bin/setup index dce67d8..a06e351 100755 --- a/bin/setup +++ b/bin/setup @@ -4,5 +4,5 @@ IFS=$'\n\t' set -vx bundle install - +bundle exec appraisal install # Do any other automated setup that you need to do here diff --git a/spec/active_record_intergration_spec.rb b/spec/active_record_intergration_spec.rb index 36e28fc..e1e2be1 100644 --- a/spec/active_record_intergration_spec.rb +++ b/spec/active_record_intergration_spec.rb @@ -32,7 +32,7 @@ class Child < ActiveRecord::Base end it "doesn't modify query if filter has no values" do - filter = filter_class.new({}) + filter = filter_class.new expect(Parent.all.merge(filter).to_sql).to eq("SELECT \"parents\".* FROM \"parents\"") end diff --git a/spec/filtered_spec.rb b/spec/filtered_spec.rb index dd3dc88..8bb85be 100644 --- a/spec/filtered_spec.rb +++ b/spec/filtered_spec.rb @@ -37,7 +37,7 @@ class MyFilter < Filtered::Base filter = MyFilter.new(status: "pending") - expect(filter.to_hash).to eq(status: "pending") + expect(filter).to have_filter_value(status: "pending") end it "works when no value present" do @@ -47,7 +47,7 @@ class MyFilter < Filtered::Base filter = MyFilter.new(status: "") - expect(filter.to_hash).to eq({}) + expect(filter).to have_filter_value({}) end end @@ -61,7 +61,7 @@ class MyFilter < Filtered::Base filter = MyFilter.new(status: "pending") - expect(filter.to_hash).to eq(status: "pending") + expect(filter).to have_filter_value(status: "pending") end it "gives access to filter instance" do @@ -77,7 +77,7 @@ def prefixed(value) filter = MyFilter.new(status: "pending") - expect(filter.to_hash).to eq(status: "pending") + expect(filter).to have_filter_value(status: "pending") end xit "raises an error if field definition doesn't return lambda" do @@ -105,7 +105,7 @@ def use_field? filter = MyFilter.new(status: "pending") - expect(filter.to_hash).to eq({}) + expect(filter).to have_filter_value({}) end xit "supports 'unless: :method_name'" do @@ -119,7 +119,7 @@ def skip_field? filter = MyFilter.new(status: "pending") - expect(filter.to_hash).to eq({}) + expect(filter).to have_filter_value({}) end it "supports 'if: ->() {...}'" do @@ -129,7 +129,7 @@ class MyFilter < Filtered::Base filter = MyFilter.new(status: "pending") - expect(filter.to_hash).to eq({}) + expect(filter).to have_filter_value({}) end it "supports 'if: ->() {...}'" do @@ -139,7 +139,7 @@ class MyFilter < Filtered::Base filter = MyFilter.new(status: "pending") - expect(filter.to_hash).to eq(status: "pending") + expect(filter).to have_filter_value(status: "pending") end end @@ -153,7 +153,7 @@ class MyFilter < Filtered::Base filter = MyFilter.new(status: "") - expect(filter.to_hash).to eq(status: "") + expect(filter).to have_filter_value(status: "") end end end @@ -167,7 +167,7 @@ class MyFilter < Filtered::Base filter = MyFilter.new(status: nil) - expect(filter.to_hash).to eq(status: nil) + expect(filter).to have_filter_value(status: nil) end end end @@ -180,7 +180,7 @@ class MyNewFilter < Filtered::Base filter = MyNewFilter.new - expect(filter.to_hash).to eq(year: 2019) + expect(filter).to have_filter_value(year: 2019) end it "supports 'default' as proc" do @@ -194,7 +194,7 @@ class MyNewFilter < Filtered::Base f.default_year = 2019 end - expect(filter.to_hash).to eq(year: 2019) + expect(filter).to have_filter_value(year: 2019) end it "supports 'default' as method name" do @@ -208,14 +208,11 @@ def default_year filter = MyNewFilter.new - expect(filter.to_hash).to eq(year: 2019) + expect(filter).to have_filter_value(year: 2019) end end end - - - end end end diff --git a/spec/support/matchers.rb b/spec/support/matchers.rb new file mode 100644 index 0000000..c56bb12 --- /dev/null +++ b/spec/support/matchers.rb @@ -0,0 +1,6 @@ +RSpec::Matchers.define :have_filter_value do |expected| + match do |actual| + actual.to_hash == expected + end + +end