aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/validations/length_validation_test.rb
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2013-03-25 16:00:24 +0100
committerYves Senn <yves.senn@gmail.com>2014-04-24 17:37:15 -0500
commit7fe5ae8d237c8f821bc5e984f98d9d7eb7c35266 (patch)
tree067d4d6c9c0119740814ce74865d56412247b4bb /activerecord/test/cases/validations/length_validation_test.rb
parent960707aeda1909c5a56d21e6fa5200acc47cf459 (diff)
downloadrails-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.rb47
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