Fixed: Circular loop when using relations and subtasks (#8794).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11641 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -1531,6 +1531,36 @@ class IssueTest < ActiveSupport::TestCase
|
||||
assert child.save
|
||||
end
|
||||
|
||||
def test_setting_parent_to_a_dependent_issue_should_not_validate
|
||||
set_language_if_valid 'en'
|
||||
issue1 = Issue.generate!
|
||||
issue2 = Issue.generate!
|
||||
issue3 = Issue.generate!
|
||||
IssueRelation.create!(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_PRECEDES)
|
||||
IssueRelation.create!(:issue_from => issue3, :issue_to => issue1, :relation_type => IssueRelation::TYPE_PRECEDES)
|
||||
issue3.reload
|
||||
issue3.parent_issue_id = issue2.id
|
||||
assert !issue3.valid?
|
||||
assert_include 'Parent task is invalid', issue3.errors.full_messages
|
||||
end
|
||||
|
||||
def test_setting_parent_should_not_allow_circular_dependency
|
||||
set_language_if_valid 'en'
|
||||
issue1 = Issue.generate!
|
||||
issue2 = Issue.generate!
|
||||
IssueRelation.create!(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_PRECEDES)
|
||||
issue3 = Issue.generate!
|
||||
issue2.reload
|
||||
issue2.parent_issue_id = issue3.id
|
||||
issue2.save!
|
||||
issue4 = Issue.generate!
|
||||
IssueRelation.create!(:issue_from => issue3, :issue_to => issue4, :relation_type => IssueRelation::TYPE_PRECEDES)
|
||||
issue4.reload
|
||||
issue4.parent_issue_id = issue1.id
|
||||
assert !issue4.valid?
|
||||
assert_include 'Parent task is invalid', issue4.errors.full_messages
|
||||
end
|
||||
|
||||
def test_overdue
|
||||
assert Issue.new(:due_date => 1.day.ago.to_date).overdue?
|
||||
assert !Issue.new(:due_date => Date.today).overdue?
|
||||
|
||||
Reference in New Issue
Block a user