aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/models
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2009-03-20 15:07:49 +0000
committerPratik Naik <pratiknaik@gmail.com>2009-03-20 15:07:49 +0000
commit60756ad4ece2298e85353ed50853f1d260e0d27a (patch)
tree0caa0e62b956a2db414a1d1b51c69eb50b8d6467 /activemodel/test/models
parente945bcfe4a519e6cf7349443c48fecce2e8c9d67 (diff)
downloadrails-60756ad4ece2298e85353ed50853f1d260e0d27a.tar.gz
rails-60756ad4ece2298e85353ed50853f1d260e0d27a.tar.bz2
rails-60756ad4ece2298e85353ed50853f1d260e0d27a.zip
Move relevant validation tests from Active Record to Active Model
Diffstat (limited to 'activemodel/test/models')
-rw-r--r--activemodel/test/models/developer.rb4
-rw-r--r--activemodel/test/models/reply.rb30
-rw-r--r--activemodel/test/models/topic.rb9
3 files changed, 43 insertions, 0 deletions
diff --git a/activemodel/test/models/developer.rb b/activemodel/test/models/developer.rb
new file mode 100644
index 0000000000..a839fe1135
--- /dev/null
+++ b/activemodel/test/models/developer.rb
@@ -0,0 +1,4 @@
+class Developer < ActiveRecord::Base
+ validates_inclusion_of :salary, :in => 50000..200000
+ validates_length_of :name, :within => 3..20
+end
diff --git a/activemodel/test/models/reply.rb b/activemodel/test/models/reply.rb
new file mode 100644
index 0000000000..cfe256034c
--- /dev/null
+++ b/activemodel/test/models/reply.rb
@@ -0,0 +1,30 @@
+require 'models/topic'
+
+class Reply < Topic
+ validate :errors_on_empty_content
+ validate_on_create :title_is_wrong_create
+
+ attr_accessible :title, :author_name, :author_email_address, :written_on, :content, :last_read
+
+ def validate
+ errors[:title] << "Empty" unless attribute_present?("title")
+ end
+
+ def errors_on_empty_content
+ errors[:content] << "Empty" unless attribute_present?("content")
+ end
+
+ def validate_on_create
+ if attribute_present?("title") && attribute_present?("content") && content == "Mismatch"
+ errors[:title] << "is Content Mismatch"
+ end
+ end
+
+ def title_is_wrong_create
+ errors[:title] << "is Wrong Create" if attribute_present?("title") && title == "Wrong Create"
+ end
+
+ def validate_on_update
+ errors[:title] << "is Wrong Update" if attribute_present?("title") && title == "Wrong Update"
+ end
+end
diff --git a/activemodel/test/models/topic.rb b/activemodel/test/models/topic.rb
new file mode 100644
index 0000000000..1350aa17e7
--- /dev/null
+++ b/activemodel/test/models/topic.rb
@@ -0,0 +1,9 @@
+class Topic < ActiveRecord::Base
+ def condition_is_true
+ true
+ end
+
+ def condition_is_true_but_its_not
+ false
+ end
+end