From 45c93340b78da811d151f16177eeaa59064988f4 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 5 Jan 2013 16:34:41 +0000 Subject: [PATCH] Negative estimated hours should not be valid (#12735). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11125 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/issue.rb | 2 +- test/unit/issue_test.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/models/issue.rb b/app/models/issue.rb index 8a0ef7fa8..998030331 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -67,7 +67,7 @@ class Issue < ActiveRecord::Base validates_length_of :subject, :maximum => 255 validates_inclusion_of :done_ratio, :in => 0..100 - validates_numericality_of :estimated_hours, :allow_nil => true + validates :estimated_hours, :numericality => {:greater_than_or_equal_to => 0, :allow_nil => true, :message => :invalid} validates :start_date, :date => true validates :due_date, :date => true validate :validate_issue, :validate_required_fields diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb index 1ef94c636..cb89d37a5 100644 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -79,6 +79,15 @@ class IssueTest < ActiveSupport::TestCase assert_include 'Due date must be greater than start date', issue.errors.full_messages end + def test_estimated_hours_should_be_validated + set_language_if_valid 'en' + ['-2'].each do |invalid| + issue = Issue.new(:estimated_hours => invalid) + assert !issue.valid? + assert_include 'Estimated time is invalid', issue.errors.full_messages + end + end + def test_create_with_required_custom_field set_language_if_valid 'en' field = IssueCustomField.find_by_name('Database') -- 2.39.5