Sha256: ca33ad28c5af752e805e5c7a822314054df37b0650127e4f9199b8b6eeca57ce
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
require File.join(File.dirname(File.expand_path(__FILE__)), "spec_helper") describe "filter_having extension" do before do @dataset = Sequel.mock[:test].extension(:empty_array_ignore_nulls) end it "should handle all types of IN/NOT IN queries with empty arrays" do @dataset.filter(:id => []).sql.must_equal "SELECT * FROM test WHERE (1 = 0)" @dataset.filter([:id1, :id2] => []).sql.must_equal "SELECT * FROM test WHERE (1 = 0)" @dataset.exclude(:id => []).sql.must_equal "SELECT * FROM test WHERE (1 = 1)" @dataset.exclude([:id1, :id2] => []).sql.must_equal "SELECT * FROM test WHERE (1 = 1)" end it "should handle IN/NOT IN queries with multiple columns and an empty dataset where the database doesn't support it" do @dataset.meta_def(:supports_multiple_column_in?){false} db = Sequel.mock d1 = db[:test].select(:id1, :id2).filter(:region=>'Asia').columns(:id1, :id2) @dataset.filter([:id1, :id2] => d1).sql.must_equal "SELECT * FROM test WHERE (1 = 0)" db.sqls.must_equal ["SELECT id1, id2 FROM test WHERE (region = 'Asia')"] @dataset.exclude([:id1, :id2] => d1).sql.must_equal "SELECT * FROM test WHERE (1 = 1)" db.sqls.must_equal ["SELECT id1, id2 FROM test WHERE (region = 'Asia')"] end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sequel-4.24.0 | spec/extensions/empty_array_ignore_nulls_spec.rb |
sequel-4.23.0 | spec/extensions/empty_array_ignore_nulls_spec.rb |