diff options
author | Yves Senn <yves.senn@gmail.com> | 2013-03-25 16:00:24 +0100 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-04-24 17:37:15 -0500 |
commit | 7fe5ae8d237c8f821bc5e984f98d9d7eb7c35266 (patch) | |
tree | 067d4d6c9c0119740814ce74865d56412247b4bb /activerecord/test/cases/validations/length_validation_test.rb | |
parent | 960707aeda1909c5a56d21e6fa5200acc47cf459 (diff) | |
download | rails-7fe5ae8d237c8f821bc5e984f98d9d7eb7c35266.tar.gz rails-7fe5ae8d237c8f821bc5e984f98d9d7eb7c35266.tar.bz2 rails-7fe5ae8d237c8f821bc5e984f98d9d7eb7c35266.zip |
move AR length validation tests into separate test-case.
Conflicts:
activerecord/test/cases/validations/association_validation_test.rb
Diffstat (limited to 'activerecord/test/cases/validations/length_validation_test.rb')
-rw-r--r-- | activerecord/test/cases/validations/length_validation_test.rb | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/activerecord/test/cases/validations/length_validation_test.rb b/activerecord/test/cases/validations/length_validation_test.rb new file mode 100644 index 0000000000..4a92da38ce --- /dev/null +++ b/activerecord/test/cases/validations/length_validation_test.rb @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +require "cases/helper" +require 'models/owner' +require 'models/pet' + +class LengthValidationTest < ActiveRecord::TestCase + fixtures :owners + repair_validations(Owner) + + def test_validates_size_of_association + repair_validations Owner do + assert_nothing_raised { Owner.validates_size_of :pets, :minimum => 1 } + o = Owner.new('name' => 'nopets') + assert !o.save + assert o.errors[:pets].any? + o.pets.build('name' => 'apet') + assert o.valid? + end + end + + def test_validates_size_of_association_using_within + repair_validations Owner do + assert_nothing_raised { Owner.validates_size_of :pets, :within => 1..2 } + o = Owner.new('name' => 'nopets') + assert !o.save + assert o.errors[:pets].any? + + o.pets.build('name' => 'apet') + assert o.valid? + + 2.times { o.pets.build('name' => 'apet') } + assert !o.save + assert o.errors[:pets].any? + end + end + + def test_validates_size_of_association_utf8 + repair_validations Owner do + assert_nothing_raised { Owner.validates_size_of :pets, :minimum => 1 } + o = Owner.new('name' => 'あいうえおかきくけこ') + assert !o.save + assert o.errors[:pets].any? + o.pets.build('name' => 'あいうえおかきくけこ') + assert o.valid? + end + end +end |