Mercurial > hg > soundsoftware-site
view test/functional/gantts_controller_test.rb @ 1082:997f6d7738f7 bug_531
In repo controller entry action, show the page for the file even if it's binary (so user still has access to history etc links). This makes it possible to use the entry action as the default when a file is clicked on
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Thu, 22 Nov 2012 18:04:17 +0000 |
parents | cbb26bc654de |
children | 433d4f72a19b |
line wrap: on
line source
require File.expand_path('../../test_helper', __FILE__) class GanttsControllerTest < ActionController::TestCase fixtures :projects, :trackers, :issue_statuses, :issues, :enumerations, :users, :issue_categories, :projects_trackers, :roles, :member_roles, :members, :enabled_modules, :workflows, :versions 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 'gantts/show' 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 without issue due dates" do Issue.update_all("due_date = NULL") get :show, :project_id => 1 assert_response :success assert_template 'gantts/show' assert_not_nil assigns(:gantt) end should "work without issue and version due dates" do Issue.update_all("due_date = NULL") Version.update_all("effective_date = NULL") get :show, :project_id => 1 assert_response :success assert_template 'gantts/show' assert_not_nil assigns(:gantt) end should "work cross project" do get :show assert_response :success assert_template 'gantts/show' assert_not_nil assigns(:gantt) assert_not_nil assigns(:gantt).query assert_nil assigns(:gantt).project end should "not disclose private projects" do get :show assert_response :success assert_template 'gantts/show' assert_tag 'a', :content => /eCookbook/ # Root private project assert_no_tag 'a', {:content => /OnlineStore/} # Private children of a public project assert_no_tag 'a', :content => /Private child of eCookbook/ 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