Fixed that IssueRelation should not be responsible for calling Issue#init_journal (#18237).

git-svn-id: http://svn.redmine.org/redmine/trunk@13534 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2014-11-02 15:38:11 +00:00
parent 43f6914f52
commit 32b79b6fd4
7 changed files with 67 additions and 33 deletions

View File

@@ -169,13 +169,14 @@ class IssueRelationTest < ActiveSupport::TestCase
assert_not_equal [], r.errors[:base]
end
def test_create_should_make_journal_entry
def test_create_with_initialized_journals_should_create_journals
from = Issue.find(1)
to = Issue.find(2)
from_journals = from.journals.size
to_journals = to.journals.size
relation = IssueRelation.new(:issue_from => from, :issue_to => to,
:relation_type => IssueRelation::TYPE_PRECEDES)
relation.init_journals User.find(1)
assert relation.save
from.reload
to.reload
@@ -192,12 +193,13 @@ class IssueRelationTest < ActiveSupport::TestCase
assert_nil to.journals.last.details.last.old_value
end
def test_delete_should_make_journal_entry
def test_destroy_with_initialized_journals_should_create_journals
relation = IssueRelation.find(1)
from = relation.issue_from
to = relation.issue_to
from_journals = from.journals.size
to_journals = to.journals.size
relation.init_journals User.find(1)
assert relation.destroy
from.reload
to.reload

View File

@@ -207,17 +207,15 @@ class JournalTest < ActiveSupport::TestCase
def test_visible_details_should_include_relations_to_visible_issues_only
issue = Issue.generate!
visible_issue = Issue.generate!
IssueRelation.create!(:issue_from => issue, :issue_to => visible_issue, :relation_type => 'relates')
hidden_issue = Issue.generate!(:is_private => true)
IssueRelation.create!(:issue_from => issue, :issue_to => hidden_issue, :relation_type => 'relates')
issue.reload
assert_equal 1, issue.journals.size
journal = issue.journals.first
assert_equal 2, journal.details.size
journal = Journal.new
journal.details << JournalDetail.new(:property => 'relation', :prop_key => 'relates', :value => visible_issue.id)
journal.details << JournalDetail.new(:property => 'relation', :prop_key => 'relates', :value => hidden_issue.id)
visible_details = journal.visible_details(User.anonymous)
assert_equal 1, visible_details.size
assert_equal visible_issue.id.to_s, visible_details.first.value
assert_equal visible_issue.id.to_s, visible_details.first.value.to_s
visible_details = journal.visible_details(User.find(2))
assert_equal 2, visible_details.size

View File

@@ -410,6 +410,7 @@ class MailerTest < ActiveSupport::TestCase
def test_issue_edit_with_relation_should_notify_users_who_can_see_the_related_issue
issue = Issue.generate!
issue.init_journal(User.find(1))
private_issue = Issue.generate!(:is_private => true)
IssueRelation.create!(:issue_from => issue, :issue_to => private_issue, :relation_type => 'relates')
issue.reload