annotate test/functional/context_menus_controller_test.rb @ 1174:928c0d0f624e bug_365

Close obsolete branch bug_365
author Chris Cannam
date Fri, 03 Feb 2012 14:03:51 +0000
parents cd2282d2aa55
children 5e80956cc792
rev   line source
Chris@119 1 require File.expand_path('../../test_helper', __FILE__)
Chris@14 2
Chris@14 3 class ContextMenusControllerTest < ActionController::TestCase
Chris@14 4 fixtures :all
Chris@14 5
Chris@14 6 def test_context_menu_one_issue
Chris@14 7 @request.session[:user_id] = 2
Chris@14 8 get :issues, :ids => [1]
Chris@14 9 assert_response :success
Chris@14 10 assert_template 'context_menu'
Chris@14 11 assert_tag :tag => 'a', :content => 'Edit',
Chris@14 12 :attributes => { :href => '/issues/1/edit',
Chris@14 13 :class => 'icon-edit' }
Chris@14 14 assert_tag :tag => 'a', :content => 'Closed',
chris@22 15 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bstatus_id%5D=5',
Chris@14 16 :class => '' }
Chris@14 17 assert_tag :tag => 'a', :content => 'Immediate',
Chris@14 18 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bpriority_id%5D=8',
Chris@14 19 :class => '' }
Chris@14 20 # Versions
Chris@14 21 assert_tag :tag => 'a', :content => '2.0',
Chris@14 22 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bfixed_version_id%5D=3',
Chris@14 23 :class => '' }
Chris@14 24 assert_tag :tag => 'a', :content => 'eCookbook Subproject 1 - 2.0',
Chris@14 25 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bfixed_version_id%5D=4',
Chris@14 26 :class => '' }
Chris@14 27
Chris@14 28 assert_tag :tag => 'a', :content => 'Dave Lopper',
Chris@14 29 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bassigned_to_id%5D=3',
Chris@14 30 :class => '' }
Chris@14 31 assert_tag :tag => 'a', :content => 'Duplicate',
Chris@14 32 :attributes => { :href => '/projects/ecookbook/issues/1/copy',
Chris@14 33 :class => 'icon-duplicate' }
Chris@14 34 assert_tag :tag => 'a', :content => 'Copy',
Chris@14 35 :attributes => { :href => '/issues/move/new?copy_options%5Bcopy%5D=t&amp;ids%5B%5D=1',
Chris@14 36 :class => 'icon-copy' }
Chris@14 37 assert_tag :tag => 'a', :content => 'Move',
Chris@14 38 :attributes => { :href => '/issues/move/new?ids%5B%5D=1',
Chris@14 39 :class => 'icon-move' }
Chris@14 40 assert_tag :tag => 'a', :content => 'Delete',
Chris@14 41 :attributes => { :href => '/issues/destroy?ids%5B%5D=1',
Chris@14 42 :class => 'icon-del' }
Chris@14 43 end
Chris@14 44
Chris@14 45 def test_context_menu_one_issue_by_anonymous
Chris@14 46 get :issues, :ids => [1]
Chris@14 47 assert_response :success
Chris@14 48 assert_template 'context_menu'
Chris@14 49 assert_tag :tag => 'a', :content => 'Delete',
Chris@14 50 :attributes => { :href => '#',
Chris@14 51 :class => 'icon-del disabled' }
Chris@14 52 end
Chris@14 53
Chris@14 54 def test_context_menu_multiple_issues_of_same_project
Chris@14 55 @request.session[:user_id] = 2
Chris@14 56 get :issues, :ids => [1, 2]
Chris@14 57 assert_response :success
Chris@14 58 assert_template 'context_menu'
Chris@119 59 assert_not_nil assigns(:issues)
Chris@119 60 assert_equal [1, 2], assigns(:issues).map(&:id).sort
Chris@119 61
Chris@119 62 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;')
Chris@14 63 assert_tag :tag => 'a', :content => 'Edit',
Chris@119 64 :attributes => { :href => "/issues/bulk_edit?#{ids}",
Chris@14 65 :class => 'icon-edit' }
chris@22 66 assert_tag :tag => 'a', :content => 'Closed',
Chris@119 67 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bstatus_id%5D=5",
chris@22 68 :class => '' }
Chris@14 69 assert_tag :tag => 'a', :content => 'Immediate',
Chris@119 70 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bpriority_id%5D=8",
Chris@14 71 :class => '' }
Chris@14 72 assert_tag :tag => 'a', :content => 'Dave Lopper',
Chris@119 73 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bassigned_to_id%5D=3",
Chris@14 74 :class => '' }
Chris@14 75 assert_tag :tag => 'a', :content => 'Copy',
Chris@119 76 :attributes => { :href => "/issues/move/new?copy_options%5Bcopy%5D=t&amp;#{ids}",
Chris@14 77 :class => 'icon-copy' }
Chris@14 78 assert_tag :tag => 'a', :content => 'Move',
Chris@119 79 :attributes => { :href => "/issues/move/new?#{ids}",
Chris@14 80 :class => 'icon-move' }
Chris@14 81 assert_tag :tag => 'a', :content => 'Delete',
Chris@119 82 :attributes => { :href => "/issues/destroy?#{ids}",
Chris@14 83 :class => 'icon-del' }
Chris@14 84 end
Chris@14 85
chris@37 86 def test_context_menu_multiple_issues_of_different_projects
Chris@14 87 @request.session[:user_id] = 2
chris@37 88 get :issues, :ids => [1, 2, 6]
Chris@14 89 assert_response :success
Chris@14 90 assert_template 'context_menu'
Chris@119 91 assert_not_nil assigns(:issues)
Chris@119 92 assert_equal [1, 2, 6], assigns(:issues).map(&:id).sort
Chris@119 93
Chris@119 94 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;')
chris@37 95 assert_tag :tag => 'a', :content => 'Edit',
chris@37 96 :attributes => { :href => "/issues/bulk_edit?#{ids}",
chris@37 97 :class => 'icon-edit' }
chris@37 98 assert_tag :tag => 'a', :content => 'Closed',
chris@37 99 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bstatus_id%5D=5",
chris@37 100 :class => '' }
chris@37 101 assert_tag :tag => 'a', :content => 'Immediate',
chris@37 102 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bpriority_id%5D=8",
chris@37 103 :class => '' }
chris@37 104 assert_tag :tag => 'a', :content => 'John Smith',
chris@37 105 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bassigned_to_id%5D=2",
chris@37 106 :class => '' }
Chris@14 107 assert_tag :tag => 'a', :content => 'Delete',
chris@37 108 :attributes => { :href => "/issues/destroy?#{ids}",
chris@37 109 :class => 'icon-del' }
Chris@14 110 end
Chris@14 111
Chris@119 112 def test_context_menu_issue_visibility
Chris@119 113 get :issues, :ids => [1, 4]
Chris@119 114 assert_response :success
Chris@119 115 assert_template 'context_menu'
Chris@119 116 assert_equal [1], assigns(:issues).collect(&:id)
Chris@119 117 end
Chris@14 118 end