annotate test/functional/gantts_controller_test.rb @ 1471:d65e60e20a50 bug_531

Close obsolete branch bug_531
author Chris Cannam
date Fri, 23 Nov 2012 18:10:33 +0000
parents cbb26bc654de
children 433d4f72a19b
rev   line source
Chris@119 1 require File.expand_path('../../test_helper', __FILE__)
Chris@0 2
Chris@0 3 class GanttsControllerTest < ActionController::TestCase
Chris@909 4 fixtures :projects, :trackers, :issue_statuses, :issues,
Chris@909 5 :enumerations, :users, :issue_categories,
Chris@909 6 :projects_trackers,
Chris@909 7 :roles,
Chris@909 8 :member_roles,
Chris@909 9 :members,
Chris@909 10 :enabled_modules,
Chris@909 11 :workflows,
Chris@909 12 :versions
Chris@0 13
Chris@0 14 context "#gantt" do
Chris@0 15 should "work" do
chris@22 16 i2 = Issue.find(2)
chris@22 17 i2.update_attribute(:due_date, 1.month.from_now)
Chris@909 18
Chris@0 19 get :show, :project_id => 1
Chris@0 20 assert_response :success
Chris@909 21 assert_template 'gantts/show'
Chris@0 22 assert_not_nil assigns(:gantt)
Chris@0 23 # Issue with start and due dates
Chris@0 24 i = Issue.find(1)
Chris@0 25 assert_not_nil i.due_date
chris@22 26 assert_select "div a.issue", /##{i.id}/
chris@22 27 # Issue with on a targeted version should not be in the events but loaded in the html
Chris@0 28 i = Issue.find(2)
chris@22 29 assert_select "div a.issue", /##{i.id}/
Chris@0 30 end
Chris@909 31
chris@37 32 should "work without issue due dates" do
chris@37 33 Issue.update_all("due_date = NULL")
Chris@909 34
chris@37 35 get :show, :project_id => 1
chris@37 36 assert_response :success
Chris@909 37 assert_template 'gantts/show'
chris@37 38 assert_not_nil assigns(:gantt)
chris@37 39 end
Chris@909 40
chris@37 41 should "work without issue and version due dates" do
chris@37 42 Issue.update_all("due_date = NULL")
chris@37 43 Version.update_all("effective_date = NULL")
Chris@909 44
chris@37 45 get :show, :project_id => 1
chris@37 46 assert_response :success
Chris@909 47 assert_template 'gantts/show'
chris@37 48 assert_not_nil assigns(:gantt)
chris@37 49 end
Chris@0 50
Chris@0 51 should "work cross project" do
Chris@0 52 get :show
Chris@0 53 assert_response :success
Chris@909 54 assert_template 'gantts/show'
Chris@0 55 assert_not_nil assigns(:gantt)
chris@22 56 assert_not_nil assigns(:gantt).query
chris@22 57 assert_nil assigns(:gantt).project
Chris@0 58 end
Chris@0 59
Chris@119 60 should "not disclose private projects" do
Chris@119 61 get :show
Chris@119 62 assert_response :success
Chris@909 63 assert_template 'gantts/show'
Chris@909 64
Chris@119 65 assert_tag 'a', :content => /eCookbook/
Chris@119 66 # Root private project
Chris@119 67 assert_no_tag 'a', {:content => /OnlineStore/}
Chris@119 68 # Private children of a public project
Chris@119 69 assert_no_tag 'a', :content => /Private child of eCookbook/
Chris@119 70 end
Chris@119 71
Chris@0 72 should "export to pdf" do
Chris@0 73 get :show, :project_id => 1, :format => 'pdf'
Chris@0 74 assert_response :success
Chris@0 75 assert_equal 'application/pdf', @response.content_type
Chris@0 76 assert @response.body.starts_with?('%PDF')
Chris@0 77 assert_not_nil assigns(:gantt)
Chris@0 78 end
Chris@0 79
Chris@0 80 should "export to pdf cross project" do
Chris@0 81 get :show, :format => 'pdf'
Chris@0 82 assert_response :success
Chris@0 83 assert_equal 'application/pdf', @response.content_type
Chris@0 84 assert @response.body.starts_with?('%PDF')
Chris@0 85 assert_not_nil assigns(:gantt)
Chris@0 86 end
Chris@909 87
Chris@0 88 should "export to png" do
Chris@0 89 get :show, :project_id => 1, :format => 'png'
Chris@0 90 assert_response :success
Chris@0 91 assert_equal 'image/png', @response.content_type
Chris@0 92 end if Object.const_defined?(:Magick)
Chris@0 93
Chris@0 94 end
Chris@0 95 end