From 3e4b6e34abc4addc2bf258e2b51459910a03e04a Mon Sep 17 00:00:00 2001 From: jonatack Date: Tue, 3 Feb 2015 00:08:21 +0100 Subject: [PATCH] Improve test method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - allow different operators & attributes for use with other tests - replace `send("quoted_#{value}”)` with `quote(value)` - cache #expected_query to a local var --- spec/ransack/predicate_spec.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/spec/ransack/predicate_spec.rb b/spec/ransack/predicate_spec.rb index a28ba37..f3b893b 100644 --- a/spec/ransack/predicate_spec.rb +++ b/spec/ransack/predicate_spec.rb @@ -362,9 +362,10 @@ module Ransack private def test_boolean_equality_for(boolean_value) + query = expected_query(boolean_value) test_values_for(boolean_value).each do |value| s = Search.new(Person, awesome_eq: value) - expect(s.result.to_sql).to match expected_boolean_query(boolean_value) + expect(s.result.to_sql).to match query end end @@ -377,10 +378,10 @@ module Ransack end end - def expected_boolean_query(boolean_value) - field = "#{quote_table_name("people")}.#{quote_column_name("awesome")}" - condition = ActiveRecord::Base.connection.send("quoted_#{boolean_value}") - /#{field} = #{condition}/ + def expected_query(value, attribute = 'awesome', operator = '=') + field = "#{quote_table_name("people")}.#{quote_column_name(attribute)}" + quoted_value = ActiveRecord::Base.connection.quote(value) + /#{field} #{operator} #{quoted_value}/ end end