From bba20c5008094debe58a0135db5039d6cc94ff50 Mon Sep 17 00:00:00 2001 From: Marcel Eeken Date: Tue, 18 Aug 2015 10:30:24 +0200 Subject: [PATCH] Add failing tests for passing boolean values to scopes. - Small typo fix (@MarcelEeken). - Update the TODO comment (@jonatack). These tests are related to issue #566. Closes PR #575. --- spec/ransack/adapters/active_record/base_spec.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/spec/ransack/adapters/active_record/base_spec.rb b/spec/ransack/adapters/active_record/base_spec.rb index 73c04ea..3bc85e6 100644 --- a/spec/ransack/adapters/active_record/base_spec.rb +++ b/spec/ransack/adapters/active_record/base_spec.rb @@ -63,6 +63,20 @@ module Ransack expect(s.result.to_sql).to (include 'age > 18') end + # TODO: Implement a way to pass true/false values like 0 or 1 to + # scopes (e.g. with `in` / `not_in` predicates), without Ransack + # converting them to true/false boolean values instead. + + # it 'passes true values to scopes', focus: true do + # s = Person.ransack('over_age' => 1) + # expect(s.result.to_sql).to (include 'age > 1') + # end + + # it 'passes false values to scopes', focus: true do + # s = Person.ransack('over_age' => 0) + # expect(s.result.to_sql).to (include 'age > 0') + # end + it "chains scopes" do s = Person.ransack('over_age' => 18, 'active' => true) expect(s.result.to_sql).to (include 'age > 18')