Defect #34108 » fixed-34108.patch
app/models/issue_relation.rb | ||
---|---|---|
239 | 239 |
issue_from.blocks? issue_to |
240 | 240 |
when 'blocks' |
241 | 241 |
issue_to.blocks? issue_from |
242 |
when 'duplicated' |
|
243 |
self.class.where(issue_from_id: issue_from, issue_to_id: issue_to, relation_type: TYPE_DUPLICATES).exists? |
|
244 |
when 'duplicates' |
|
245 |
self.class.where(issue_from_id: issue_to, issue_to_id: issue_from, relation_type: TYPE_DUPLICATES).exists? |
|
242 | 246 |
when 'relates' |
243 | 247 |
self.class.where(issue_from_id: issue_to, issue_to_id: issue_from).present? |
244 | 248 |
else |
test/unit/issue_relation_test.rb | ||
---|---|---|
189 | 189 |
assert_not_equal [], r.errors[:base] |
190 | 190 |
end |
191 | 191 | |
192 |
def test_validates_circular_dependency_on_reverse_relations_using_duplicates |
|
193 |
with_locale 'en' do |
|
194 |
IssueRelation.delete_all |
|
195 |
issue1 = issues(:issues_001) |
|
196 |
issue2 = issues(:issues_002) |
|
197 |
assert IssueRelation.create!( |
|
198 |
:issue_from => issue1, :issue_to => issue2, |
|
199 |
:relation_type => IssueRelation::TYPE_DUPLICATES |
|
200 |
) |
|
201 |
r = IssueRelation.new( |
|
202 |
:issue_from => issue2, :issue_to => issue1, |
|
203 |
:relation_type => IssueRelation::TYPE_DUPLICATES |
|
204 |
) |
|
205 |
assert !r.save |
|
206 |
assert_include 'This relation would create a circular dependency', r.errors.full_messages |
|
207 |
end |
|
208 |
end |
|
209 | ||
192 | 210 |
def test_create_with_initialized_journals_should_create_journals |
193 | 211 |
from = Issue.find(1) |
194 | 212 |
to = Issue.find(2) |