mirror of
				https://github.com/redmine/redmine.git
				synced 2025-10-31 18:36:07 +01:00 
			
		
		
		
	This version of the Gantt chart supports nested charts. So Projects, Versions, and Issues will be nested underneath their parents correctly. Additional features: * Move all Gantt code to Redmine::Helpers::Gantt class instead of having it in the Gantt class, controller, and view * Recursive and nest sub-projects * Recursive and nest versions * Recursive and nest issues * Draw a line showing when a Project is active and it's progress * Draw a line showing when a Version is active and it's progress * Show a version's % complete * Change the color of Projects, Versions, and Issues if they are late or behind schedule * Added Project#start_date and #due_date * Added Project#completed_percent * Use a mini-gravatar on the Gantt chart * Added tests for the Gantt rendering git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4072 e93f8b46-1217-0410-a6f0-8f06a7374b81
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require File.dirname(__FILE__) + '/../test_helper'
 | |
| 
 | |
| class GanttsControllerTest < ActionController::TestCase
 | |
|   fixtures :all
 | |
| 
 | |
|   context "#gantt" do
 | |
|     should "work" do
 | |
|       i2 = Issue.find(2)
 | |
|       i2.update_attribute(:due_date, 1.month.from_now)
 | |
|       
 | |
|       get :show, :project_id => 1
 | |
|       assert_response :success
 | |
|       assert_template 'show.html.erb'
 | |
|       assert_not_nil assigns(:gantt)
 | |
|       # Issue with start and due dates
 | |
|       i = Issue.find(1)
 | |
|       assert_not_nil i.due_date
 | |
|       assert_select "div a.issue", /##{i.id}/
 | |
|       # Issue with on a targeted version should not be in the events but loaded in the html
 | |
|       i = Issue.find(2)
 | |
|       assert_select "div a.issue", /##{i.id}/
 | |
|     end
 | |
| 
 | |
|     should "work cross project" do
 | |
|       get :show
 | |
|       assert_response :success
 | |
|       assert_template 'show.html.erb'
 | |
|       assert_not_nil assigns(:gantt)
 | |
|       assert_not_nil assigns(:gantt).query
 | |
|       assert_nil assigns(:gantt).project
 | |
|     end
 | |
| 
 | |
|     should "export to pdf" do
 | |
|       get :show, :project_id => 1, :format => 'pdf'
 | |
|       assert_response :success
 | |
|       assert_equal 'application/pdf', @response.content_type
 | |
|       assert @response.body.starts_with?('%PDF')
 | |
|       assert_not_nil assigns(:gantt)
 | |
|     end
 | |
| 
 | |
|     should "export to pdf cross project" do
 | |
|       get :show, :format => 'pdf'
 | |
|       assert_response :success
 | |
|       assert_equal 'application/pdf', @response.content_type
 | |
|       assert @response.body.starts_with?('%PDF')
 | |
|       assert_not_nil assigns(:gantt)
 | |
|     end
 | |
|     
 | |
|     should "export to png" do
 | |
|       get :show, :project_id => 1, :format => 'png'
 | |
|       assert_response :success
 | |
|       assert_equal 'image/png', @response.content_type
 | |
|     end if Object.const_defined?(:Magick)
 | |
| 
 | |
|   end
 | |
| end
 |