spec/extensions/auto_validations_spec.rb in sequel-5.16.0 vs spec/extensions/auto_validations_spec.rb in sequel-5.17.0

- old
+ new

@@ -94,35 +94,62 @@ end it "should allow skipping validations by type" do @c = Class.new(@c) @m = @c.new + @m.skip_auto_validations(:not_null) do + @m.valid?.must_equal true + @m.nnd = nil + @m.valid?.must_equal true + end + @m.set(:nnd => 'nnd') @c.skip_auto_validations(:not_null) @m.valid?.must_equal true @m.nnd = nil @m.valid?.must_equal true @m.set(:d=>'/', :num=>'a', :name=>'1') @m.valid?.must_equal false @m.errors.must_equal(:d=>["is not a valid date"], :num=>["is not a valid integer"]) + @m.skip_auto_validations(:types, :unique) do + @m.valid?.must_equal true + end + @m.skip_auto_validations(:types) do + @m.valid?.must_equal false + @m.errors.must_equal([:name, :num]=>["is already taken"]) + end @c.skip_auto_validations(:types) @m.valid?.must_equal false @m.errors.must_equal([:name, :num]=>["is already taken"]) + @m.skip_auto_validations(:unique) do + @m.valid?.must_equal true + end @c.skip_auto_validations(:unique) @m.valid?.must_equal true @m.set(:name=>'a'*51) @m.valid?.must_equal false @m.errors.must_equal(:name=>["is longer than 50 characters"]) + @m.skip_auto_validations(:max_length) do + @m.valid?.must_equal true + end @c.skip_auto_validations(:max_length) @m.valid?.must_equal true end it "should allow skipping all auto validations" do @c = Class.new(@c) + @m = @c.new + @m.skip_auto_validations(:all) do + @m.valid?.must_equal true + @m.set(:d=>'/', :num=>'a', :name=>'1') + @m.valid?.must_equal true + @m.set(:name=>'a'*51) + @m.valid?.must_equal true + end @m = @c.new @c.skip_auto_validations(:all) @m.valid?.must_equal true @m.set(:d=>'/', :num=>'a', :name=>'1') @m.valid?.must_equal true