comparison test/functional/context_menus_controller_test.rb @ 909:cbb26bc654de redmine-1.3

Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author Chris Cannam
date Fri, 24 Feb 2012 19:09:32 +0000
parents 8661b858af72
children 5e80956cc792 433d4f72a19b
comparison
equal deleted inserted replaced
908:c6c2cbd0afee 909:cbb26bc654de
1 require File.expand_path('../../test_helper', __FILE__) 1 require File.expand_path('../../test_helper', __FILE__)
2 2
3 class ContextMenusControllerTest < ActionController::TestCase 3 class ContextMenusControllerTest < ActionController::TestCase
4 fixtures :all 4 fixtures :projects,
5 :trackers,
6 :projects_trackers,
7 :roles,
8 :member_roles,
9 :members,
10 :auth_sources,
11 :enabled_modules,
12 :workflows,
13 :journals, :journal_details,
14 :versions,
15 :issues, :issue_statuses, :issue_categories,
16 :users,
17 :enumerations
5 18
6 def test_context_menu_one_issue 19 def test_context_menu_one_issue
7 @request.session[:user_id] = 2 20 @request.session[:user_id] = 2
8 get :issues, :ids => [1] 21 get :issues, :ids => [1]
9 assert_response :success 22 assert_response :success
15 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bstatus_id%5D=5', 28 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bstatus_id%5D=5',
16 :class => '' } 29 :class => '' }
17 assert_tag :tag => 'a', :content => 'Immediate', 30 assert_tag :tag => 'a', :content => 'Immediate',
18 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bpriority_id%5D=8', 31 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bpriority_id%5D=8',
19 :class => '' } 32 :class => '' }
33 assert_no_tag :tag => 'a', :content => 'Inactive Priority'
20 # Versions 34 # Versions
21 assert_tag :tag => 'a', :content => '2.0', 35 assert_tag :tag => 'a', :content => '2.0',
22 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bfixed_version_id%5D=3', 36 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bfixed_version_id%5D=3',
23 :class => '' } 37 :class => '' }
24 assert_tag :tag => 'a', :content => 'eCookbook Subproject 1 - 2.0', 38 assert_tag :tag => 'a', :content => 'eCookbook Subproject 1 - 2.0',
48 assert_template 'context_menu' 62 assert_template 'context_menu'
49 assert_tag :tag => 'a', :content => 'Delete', 63 assert_tag :tag => 'a', :content => 'Delete',
50 :attributes => { :href => '#', 64 :attributes => { :href => '#',
51 :class => 'icon-del disabled' } 65 :class => 'icon-del disabled' }
52 end 66 end
53 67
54 def test_context_menu_multiple_issues_of_same_project 68 def test_context_menu_multiple_issues_of_same_project
55 @request.session[:user_id] = 2 69 @request.session[:user_id] = 2
56 get :issues, :ids => [1, 2] 70 get :issues, :ids => [1, 2]
57 assert_response :success 71 assert_response :success
58 assert_template 'context_menu' 72 assert_template 'context_menu'
59 assert_not_nil assigns(:issues) 73 assert_not_nil assigns(:issues)
60 assert_equal [1, 2], assigns(:issues).map(&:id).sort 74 assert_equal [1, 2], assigns(:issues).map(&:id).sort
61 75
62 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;') 76 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;')
63 assert_tag :tag => 'a', :content => 'Edit', 77 assert_tag :tag => 'a', :content => 'Edit',
64 :attributes => { :href => "/issues/bulk_edit?#{ids}", 78 :attributes => { :href => "/issues/bulk_edit?#{ids}",
65 :class => 'icon-edit' } 79 :class => 'icon-edit' }
66 assert_tag :tag => 'a', :content => 'Closed', 80 assert_tag :tag => 'a', :content => 'Closed',
88 get :issues, :ids => [1, 2, 6] 102 get :issues, :ids => [1, 2, 6]
89 assert_response :success 103 assert_response :success
90 assert_template 'context_menu' 104 assert_template 'context_menu'
91 assert_not_nil assigns(:issues) 105 assert_not_nil assigns(:issues)
92 assert_equal [1, 2, 6], assigns(:issues).map(&:id).sort 106 assert_equal [1, 2, 6], assigns(:issues).map(&:id).sort
93 107
94 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;') 108 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;')
95 assert_tag :tag => 'a', :content => 'Edit', 109 assert_tag :tag => 'a', :content => 'Edit',
96 :attributes => { :href => "/issues/bulk_edit?#{ids}", 110 :attributes => { :href => "/issues/bulk_edit?#{ids}",
97 :class => 'icon-edit' } 111 :class => 'icon-edit' }
98 assert_tag :tag => 'a', :content => 'Closed', 112 assert_tag :tag => 'a', :content => 'Closed',
106 :class => '' } 120 :class => '' }
107 assert_tag :tag => 'a', :content => 'Delete', 121 assert_tag :tag => 'a', :content => 'Delete',
108 :attributes => { :href => "/issues/destroy?#{ids}", 122 :attributes => { :href => "/issues/destroy?#{ids}",
109 :class => 'icon-del' } 123 :class => 'icon-del' }
110 end 124 end
111 125
112 def test_context_menu_issue_visibility 126 def test_context_menu_issue_visibility
113 get :issues, :ids => [1, 4] 127 get :issues, :ids => [1, 4]
114 assert_response :success 128 assert_response :success
115 assert_template 'context_menu' 129 assert_template 'context_menu'
116 assert_equal [1], assigns(:issues).collect(&:id) 130 assert_equal [1], assigns(:issues).collect(&:id)
117 end 131 end
132
133 def test_time_entries_context_menu
134 @request.session[:user_id] = 2
135 get :time_entries, :ids => [1, 2]
136 assert_response :success
137 assert_template 'time_entries'
138 assert_tag 'a', :content => 'Edit'
139 assert_no_tag 'a', :content => 'Edit', :attributes => {:class => /disabled/}
140 end
141
142 def test_time_entries_context_menu_without_edit_permission
143 @request.session[:user_id] = 2
144 Role.find_by_name('Manager').remove_permission! :edit_time_entries
145
146 get :time_entries, :ids => [1, 2]
147 assert_response :success
148 assert_template 'time_entries'
149 assert_tag 'a', :content => 'Edit', :attributes => {:class => /disabled/}
150 end
118 end 151 end