From 60756ad4ece2298e85353ed50853f1d260e0d27a Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Fri, 20 Mar 2009 15:07:49 +0000 Subject: Move relevant validation tests from Active Record to Active Model --- .../validations/confirmation_validation_test.rb | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 activemodel/test/cases/validations/confirmation_validation_test.rb (limited to 'activemodel/test/cases/validations/confirmation_validation_test.rb') diff --git a/activemodel/test/cases/validations/confirmation_validation_test.rb b/activemodel/test/cases/validations/confirmation_validation_test.rb new file mode 100644 index 0000000000..c3caa63d0b --- /dev/null +++ b/activemodel/test/cases/validations/confirmation_validation_test.rb @@ -0,0 +1,51 @@ +# encoding: utf-8 +require 'cases/helper' +require 'cases/test_database' + +require 'models/topic' +require 'models/developer' + +class ConfirmationValidationTest < ActiveModel::TestCase + include ActiveModel::TestDatabase + include ActiveModel::ValidationsRepairHelper + + repair_validations(Topic) + + def test_no_title_confirmation + Topic.validates_confirmation_of(:title) + + t = Topic.new(:author_name => "Plutarch") + assert t.valid? + + t.title_confirmation = "Parallel Lives" + assert !t.valid? + + t.title_confirmation = nil + t.title = "Parallel Lives" + assert t.valid? + + t.title_confirmation = "Parallel Lives" + assert t.valid? + end + + def test_title_confirmation + Topic.validates_confirmation_of(:title) + + t = Topic.create("title" => "We should be confirmed","title_confirmation" => "") + assert !t.save + + t.title_confirmation = "We should be confirmed" + assert t.save + end + + def test_validates_confirmation_of_with_custom_error_using_quotes + repair_validations(Developer) do + Developer.validates_confirmation_of :name, :message=> "confirm 'single' and \"double\" quotes" + d = Developer.new + d.name = "John" + d.name_confirmation = "Johnny" + assert !d.valid? + assert_equal ["confirm 'single' and \"double\" quotes"], d.errors[:name] + end + end +end -- cgit v1.2.3