diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index 08c30ef..6f75b56 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -84,6 +84,6 @@ class ReportsController < ApplicationController private def find_issue_statuses - @statuses = IssueStatus.sorted.to_a + @statuses = @project.rolled_up_statuses.sorted.to_a end end diff --git a/test/functional/reports_controller_test.rb b/test/functional/reports_controller_test.rb index a08e512..63a882a 100644 --- a/test/functional/reports_controller_test.rb +++ b/test/functional/reports_controller_test.rb @@ -44,6 +44,32 @@ class ReportsControllerTest < Redmine::ControllerTest end end + def test_get_issue_report_details_by_tracker_should_show_only_statuses_used_by_the_project + WorkflowTransition.delete_all + WorkflowTransition.create(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 5) + WorkflowTransition.create(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 4) + WorkflowTransition.create(:role_id => 1, :tracker_id => 1, :old_status_id => 2, :new_status_id => 5) + WorkflowTransition.create(:role_id => 1, :tracker_id => 2, :old_status_id => 1, :new_status_id => 6) + + get :issue_report_details, :params => { + :id => 1, + :detail => 'tracker' + } + + assert_response :success + assert_select 'table.list tbody :nth-child(1)' do + assert_select 'td', :text => 'Bug' + assert_select ':nth-child(2)', :text => '3' # status:1 + assert_select ':nth-child(3)', :text => '-' # status:2 + assert_select ':nth-child(4)', :text => '-' # status:4 + assert_select ':nth-child(5)', :text => '3' # status:5 + assert_select ':nth-child(6)', :text => '-' # status:6 + assert_select ':nth-child(7)', :text => '3' # open + assert_select ':nth-child(8)', :text => '3' # closed + assert_select ':nth-child(9)', :text => '6' # total + end + end + def test_get_issue_report_details_by_tracker_should_show_issue_count Issue.delete_all Issue.generate!(:tracker_id => 1)