spec/extensions/auto_validations_spec.rb in sequel-4.9.0 vs spec/extensions/auto_validations_spec.rb in sequel-4.10.0
- old
+ new
@@ -13,10 +13,11 @@
[:d, {:primary_key=>false, :type=>:date, :allow_null=>false}],
[:nnd, {:primary_key=>false, :type=>:string, :allow_null=>false, :ruby_default=>'nnd'}]]
end
def db.supports_index_parsing?() true end
def db.indexes(t, *)
+ raise if t.is_a?(Sequel::Dataset)
return [] if t != :test
{:a=>{:columns=>[:name, :num], :unique=>true}, :b=>{:columns=>[:num], :unique=>false}}
end
@c = Class.new(Sequel::Model(db[:test]))
@c.send(:def_column_accessor, :id, :name, :num, :d, :nnd)
@@ -46,9 +47,14 @@
it "should handle databases that don't support index parsing" do
def (@m.db).supports_index_parsing?() false end
@m.model.send(:setup_auto_validations)
@m.set(:d=>Date.today, :num=>1, :name=>'1')
@m.valid?.should == true
+ end
+
+ it "should handle models that select from subqueries" do
+ @c.set_dataset @c.dataset.from_self
+ proc{@c.send(:setup_auto_validations)}.should_not raise_error
end
it "should support :not_null=>:presence option" do
@c.plugin :auto_validations, :not_null=>:presence
@m.set(:d=>Date.today, :num=>'')