diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-01-28 11:16:58 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-01-28 11:16:58 +0000 |
commit | 83e7ee6729cd0207219719556b3e2aed0a33f360 (patch) | |
tree | 8fa089641bcaa6baec5aee080431e4e38c731a51 /test/unit/custom_value_test.rb | |
parent | d4d27bd2d8b57e5d2597b75fbb7b963b6c3e37f7 (diff) | |
download | redmine-83e7ee6729cd0207219719556b3e2aed0a33f360.tar.gz redmine-83e7ee6729cd0207219719556b3e2aed0a33f360.zip |
Extracts custom field values validation from CustomValue so that they can be validated globally from the customized object (#1189).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8717 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/custom_value_test.rb')
-rw-r--r-- | test/unit/custom_value_test.rb | 88 |
1 files changed, 1 insertions, 87 deletions
diff --git a/test/unit/custom_value_test.rb b/test/unit/custom_value_test.rb index 95931d277..5155c5efc 100644 --- a/test/unit/custom_value_test.rb +++ b/test/unit/custom_value_test.rb @@ -1,5 +1,5 @@ # Redmine - project management software -# Copyright (C) 2006-2011 Jean-Philippe Lang +# Copyright (C) 2006-2012 Jean-Philippe Lang # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -20,92 +20,6 @@ require File.expand_path('../../test_helper', __FILE__) class CustomValueTest < ActiveSupport::TestCase fixtures :custom_fields, :custom_values, :users - def test_string_field_validation_with_blank_value - f = CustomField.new(:field_format => 'string') - v = CustomValue.new(:custom_field => f) - - v.value = nil - assert v.valid? - v.value = '' - assert v.valid? - - f.is_required = true - v.value = nil - assert !v.valid? - v.value = '' - assert !v.valid? - end - - def test_string_field_validation_with_min_and_max_lengths - f = CustomField.new(:field_format => 'string', :min_length => 2, :max_length => 5) - v = CustomValue.new(:custom_field => f, :value => '') - assert v.valid? - v.value = 'a' - assert !v.valid? - v.value = 'a' * 2 - assert v.valid? - v.value = 'a' * 6 - assert !v.valid? - end - - def test_string_field_validation_with_regexp - f = CustomField.new(:field_format => 'string', :regexp => '^[A-Z0-9]*$') - v = CustomValue.new(:custom_field => f, :value => '') - assert v.valid? - v.value = 'abc' - assert !v.valid? - v.value = 'ABC' - assert v.valid? - end - - def test_date_field_validation - f = CustomField.new(:field_format => 'date') - v = CustomValue.new(:custom_field => f, :value => '') - assert v.valid? - v.value = 'abc' - assert !v.valid? - v.value = '1975-07-33' - assert !v.valid? - v.value = '1975-07-14' - assert v.valid? - end - - def test_list_field_validation - f = CustomField.new(:field_format => 'list', :possible_values => ['value1', 'value2']) - v = CustomValue.new(:custom_field => f, :value => '') - assert v.valid? - v.value = 'abc' - assert !v.valid? - v.value = 'value2' - assert v.valid? - end - - def test_int_field_validation - f = CustomField.new(:field_format => 'int') - v = CustomValue.new(:custom_field => f, :value => '') - assert v.valid? - v.value = 'abc' - assert !v.valid? - v.value = '123' - assert v.valid? - v.value = '+123' - assert v.valid? - v.value = '-123' - assert v.valid? - end - - def test_float_field_validation - v = CustomValue.new(:customized => User.find(:first), :custom_field => UserCustomField.find_by_name('Money')) - v.value = '11.2' - assert v.save - v.value = '' - assert v.save - v.value = '-6.250' - assert v.save - v.value = '6a' - assert !v.save - end - def test_default_value field = CustomField.find_by_default_value('Default string') assert_not_nil field |