def test_destroy_issue_with_no_time_entries
assert_nil TimeEntry.find_by_issue_id(2)
@request.session[:user_id] = 2
- delete :destroy, :id => 2
+
+ assert_difference 'Issue.count', -1 do
+ delete :destroy, :id => 2
+ end
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
assert_nil Issue.find_by_id(2)
end
def test_destroy_issues_with_time_entries
@request.session[:user_id] = 2
- delete :destroy, :ids => [1, 3]
+
+ assert_no_difference 'Issue.count' do
+ delete :destroy, :ids => [1, 3]
+ end
assert_response :success
assert_template 'destroy'
assert_not_nil assigns(:hours)
def test_destroy_issues_and_destroy_time_entries
@request.session[:user_id] = 2
- delete :destroy, :ids => [1, 3], :todo => 'destroy'
+
+ assert_difference 'Issue.count', -2 do
+ assert_difference 'TimeEntry.count', -3 do
+ delete :destroy, :ids => [1, 3], :todo => 'destroy'
+ end
+ end
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
assert !(Issue.find_by_id(1) || Issue.find_by_id(3))
assert_nil TimeEntry.find_by_id([1, 2])
def test_destroy_issues_and_assign_time_entries_to_project
@request.session[:user_id] = 2
- delete :destroy, :ids => [1, 3], :todo => 'nullify'
+
+ assert_difference 'Issue.count', -2 do
+ assert_no_difference 'TimeEntry.count' do
+ delete :destroy, :ids => [1, 3], :todo => 'nullify'
+ end
+ end
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
assert !(Issue.find_by_id(1) || Issue.find_by_id(3))
assert_nil TimeEntry.find(1).issue_id
def test_destroy_issues_and_reassign_time_entries_to_another_issue
@request.session[:user_id] = 2
- delete :destroy, :ids => [1, 3], :todo => 'reassign', :reassign_to_id => 2
+
+ assert_difference 'Issue.count', -2 do
+ assert_no_difference 'TimeEntry.count' do
+ delete :destroy, :ids => [1, 3], :todo => 'reassign', :reassign_to_id => 2
+ end
+ end
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
assert !(Issue.find_by_id(1) || Issue.find_by_id(3))
assert_equal 2, TimeEntry.find(1).issue_id
def test_destroy_issues_from_different_projects
@request.session[:user_id] = 2
- delete :destroy, :ids => [1, 2, 6], :todo => 'destroy'
+
+ assert_difference 'Issue.count', -3 do
+ delete :destroy, :ids => [1, 2, 6], :todo => 'destroy'
+ end
assert_redirected_to :controller => 'issues', :action => 'index'
assert !(Issue.find_by_id(1) || Issue.find_by_id(2) || Issue.find_by_id(6))
end