Make sure that dates are stored as YYYY-MM-DD in journal details (#12713).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11117 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2013-01-04 15:38:52 +00:00
parent 9a66463ff8
commit 9adb0c61a9
2 changed files with 26 additions and 2 deletions

View File

@ -27,10 +27,13 @@ class JournalDetail < ActiveRecord::Base
end
def normalize(v)
if v == true
case v
when true
"1"
elsif v == false
when false
"0"
when Date
v.strftime("%Y-%m-%d")
else
v
end

View File

@ -154,4 +154,25 @@ class JournalTest < ActiveSupport::TestCase
# Admin should see issues on private projects that he does not belong to
assert journals.detect {|journal| !journal.issue.project.is_public?}
end
def test_details_should_normalize_dates
j = JournalDetail.create!(:old_value => Date.parse('2012-11-03'), :value => Date.parse('2013-01-02'))
j.reload
assert_equal '2012-11-03', j.old_value
assert_equal '2013-01-02', j.value
end
def test_details_should_normalize_true_values
j = JournalDetail.create!(:old_value => true, :value => true)
j.reload
assert_equal '1', j.old_value
assert_equal '1', j.value
end
def test_details_should_normalize_false_values
j = JournalDetail.create!(:old_value => false, :value => false)
j.reload
assert_equal '0', j.old_value
assert_equal '0', j.value
end
end