Actually block issues from closing when a blocking issue isn't closed (#1740).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2800 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2009-07-04 12:07:03 +00:00
parent 85f634481e
commit 6994d1c23b
4 changed files with 73 additions and 3 deletions
+27 -1
View File
@@ -20,7 +20,7 @@ require File.dirname(__FILE__) + '/../test_helper'
class IssueTest < Test::Unit::TestCase
fixtures :projects, :users, :members, :member_roles,
:trackers, :projects_trackers,
:issue_statuses, :issue_categories,
:issue_statuses, :issue_categories, :issue_relations, :workflows,
:enumerations,
:issues,
:custom_fields, :custom_fields_projects, :custom_fields_trackers, :custom_values,
@@ -234,6 +234,32 @@ class IssueTest < Test::Unit::TestCase
assert_nil TimeEntry.find_by_issue_id(1)
end
def test_blocked
blocked_issue = Issue.find(9)
blocking_issue = Issue.find(10)
assert blocked_issue.blocked?
assert !blocking_issue.blocked?
end
def test_blocked_issues_dont_allow_closed_statuses
blocked_issue = Issue.find(9)
allowed_statuses = blocked_issue.new_statuses_allowed_to(users(:users_002))
assert !allowed_statuses.empty?
closed_statuses = allowed_statuses.select {|st| st.is_closed?}
assert closed_statuses.empty?
end
def test_unblocked_issues_allow_closed_statuses
blocking_issue = Issue.find(10)
allowed_statuses = blocking_issue.new_statuses_allowed_to(users(:users_002))
assert !allowed_statuses.empty?
closed_statuses = allowed_statuses.select {|st| st.is_closed?}
assert !closed_statuses.empty?
end
def test_overdue
assert Issue.new(:due_date => 1.day.ago.to_date).overdue?
assert !Issue.new(:due_date => Date.today).overdue?