Index: test/unit/issue_relation_test.rb =================================================================== diff --git a/branches/2.5-stable/test/unit/issue_relation_test.rb b/branches/2.5-stable/test/unit/issue_relation_test.rb --- a/branches/2.5-stable/test/unit/issue_relation_test.rb (Revision 13182) +++ b/branches/2.5-stable/test/unit/issue_relation_test.rb (Arbeitskopie) @@ -118,6 +118,40 @@ assert_not_equal [], r.errors[:base] end + def test_validates_no_circular_dependency_for_relates + IssueRelation.delete_all + assert IssueRelation.create!( + :issue_from => Issue.find(1), :issue_to => Issue.find(2), + :relation_type => IssueRelation::TYPE_RELATES + ) + assert IssueRelation.create!( + :issue_from => Issue.find(2), :issue_to => Issue.find(3), + :relation_type => IssueRelation::TYPE_RELATES + ) + r = IssueRelation.new( + :issue_from => Issue.find(3), :issue_to => Issue.find(1), + :relation_type => IssueRelation::TYPE_RELATES + ) + assert r.save + end + + def test_validates_no_circular_dependency_for_relates_reverse_last + IssueRelation.delete_all + assert IssueRelation.create!( + :issue_from => Issue.find(1), :issue_to => Issue.find(2), + :relation_type => IssueRelation::TYPE_RELATES + ) + assert IssueRelation.create!( + :issue_from => Issue.find(2), :issue_to => Issue.find(3), + :relation_type => IssueRelation::TYPE_RELATES + ) + r = IssueRelation.new( + :issue_from => Issue.find(1), :issue_to => Issue.find(3), + :relation_type => IssueRelation::TYPE_RELATES + ) + assert r.save + end + def test_validates_circular_dependency_of_subtask set_language_if_valid 'en' issue1 = Issue.generate!