summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2015-04-14 17:16:52 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2015-04-14 17:16:52 +0000
commit9415eff064fdd63c30eb0f985b5e3342bf688d37 (patch)
treee7dd66150c818801d7e80bc1a5cbef2e9769acf5 /test
parenta9f052532e3ea4267714610307036558929ea672 (diff)
downloadredmine-9415eff064fdd63c30eb0f985b5e3342bf688d37.tar.gz
redmine-9415eff064fdd63c30eb0f985b5e3342bf688d37.zip
When changing tracker, clear the attributes that are disabled for the new tracker (#17527).
git-svn-id: http://svn.redmine.org/redmine/trunk@14180 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r--test/unit/issue_test.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb
index fca74cdbc..bb4eb2848 100644
--- a/test/unit/issue_test.rb
+++ b/test/unit/issue_test.rb
@@ -502,6 +502,38 @@ class IssueTest < ActiveSupport::TestCase
assert_equal 'MySQL', issue.custom_field_value(1)
end
+ def test_changing_tracker_should_clear_disabled_core_fields
+ tracker = Tracker.find(2)
+ tracker.core_fields = tracker.core_fields - %w(due_date)
+ tracker.save!
+
+ issue = Issue.generate!(:tracker_id => 1, :start_date => Date.today, :due_date => Date.today)
+ issue.save!
+
+ issue.tracker_id = 2
+ issue.save!
+ assert_not_nil issue.start_date
+ assert_nil issue.due_date
+ end
+
+ def test_changing_tracker_should_not_add_cleared_fields_to_journal
+ tracker = Tracker.find(2)
+ tracker.core_fields = tracker.core_fields - %w(due_date)
+ tracker.save!
+
+ issue = Issue.generate!(:tracker_id => 1, :due_date => Date.today)
+ issue.save!
+
+ assert_difference 'Journal.count' do
+ issue.init_journal User.find(1)
+ issue.tracker_id = 2
+ issue.save!
+ assert_nil issue.due_date
+ end
+ journal = Journal.order('id DESC').first
+ assert_equal 1, journal.details.count
+ end
+
def test_reload_should_reload_custom_field_values
issue = Issue.generate!
issue.custom_field_values = {'2' => 'Foo'}