##// END OF EJS Templates
Add missing fixtures....
Jean-Philippe Lang -
r7898:63b7d7e4ac1d
parent child
Show More
@@ -1,151 +1,152
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 :projects,
4 fixtures :projects,
5 :trackers,
5 :trackers,
6 :projects_trackers,
6 :projects_trackers,
7 :roles,
7 :roles,
8 :member_roles,
8 :member_roles,
9 :members,
9 :members,
10 :auth_sources,
10 :auth_sources,
11 :enabled_modules,
11 :enabled_modules,
12 :workflows,
12 :workflows,
13 :journals, :journal_details,
13 :journals, :journal_details,
14 :versions,
14 :versions,
15 :issues, :issue_statuses, :issue_categories,
15 :issues, :issue_statuses, :issue_categories,
16 :users,
16 :users,
17 :enumerations
17 :enumerations,
18 :time_entries
18
19
19 def test_context_menu_one_issue
20 def test_context_menu_one_issue
20 @request.session[:user_id] = 2
21 @request.session[:user_id] = 2
21 get :issues, :ids => [1]
22 get :issues, :ids => [1]
22 assert_response :success
23 assert_response :success
23 assert_template 'context_menu'
24 assert_template 'context_menu'
24 assert_tag :tag => 'a', :content => 'Edit',
25 assert_tag :tag => 'a', :content => 'Edit',
25 :attributes => { :href => '/issues/1/edit',
26 :attributes => { :href => '/issues/1/edit',
26 :class => 'icon-edit' }
27 :class => 'icon-edit' }
27 assert_tag :tag => 'a', :content => 'Closed',
28 assert_tag :tag => 'a', :content => 'Closed',
28 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bstatus_id%5D=5',
29 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bstatus_id%5D=5',
29 :class => '' }
30 :class => '' }
30 assert_tag :tag => 'a', :content => 'Immediate',
31 assert_tag :tag => 'a', :content => 'Immediate',
31 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bpriority_id%5D=8',
32 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bpriority_id%5D=8',
32 :class => '' }
33 :class => '' }
33 assert_no_tag :tag => 'a', :content => 'Inactive Priority'
34 assert_no_tag :tag => 'a', :content => 'Inactive Priority'
34 # Versions
35 # Versions
35 assert_tag :tag => 'a', :content => '2.0',
36 assert_tag :tag => 'a', :content => '2.0',
36 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bfixed_version_id%5D=3',
37 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bfixed_version_id%5D=3',
37 :class => '' }
38 :class => '' }
38 assert_tag :tag => 'a', :content => 'eCookbook Subproject 1 - 2.0',
39 assert_tag :tag => 'a', :content => 'eCookbook Subproject 1 - 2.0',
39 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bfixed_version_id%5D=4',
40 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bfixed_version_id%5D=4',
40 :class => '' }
41 :class => '' }
41
42
42 assert_tag :tag => 'a', :content => 'Dave Lopper',
43 assert_tag :tag => 'a', :content => 'Dave Lopper',
43 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bassigned_to_id%5D=3',
44 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bassigned_to_id%5D=3',
44 :class => '' }
45 :class => '' }
45 assert_tag :tag => 'a', :content => 'Duplicate',
46 assert_tag :tag => 'a', :content => 'Duplicate',
46 :attributes => { :href => '/projects/ecookbook/issues/1/copy',
47 :attributes => { :href => '/projects/ecookbook/issues/1/copy',
47 :class => 'icon-duplicate' }
48 :class => 'icon-duplicate' }
48 assert_tag :tag => 'a', :content => 'Copy',
49 assert_tag :tag => 'a', :content => 'Copy',
49 :attributes => { :href => '/issues/move/new?copy_options%5Bcopy%5D=t&amp;ids%5B%5D=1',
50 :attributes => { :href => '/issues/move/new?copy_options%5Bcopy%5D=t&amp;ids%5B%5D=1',
50 :class => 'icon-copy' }
51 :class => 'icon-copy' }
51 assert_tag :tag => 'a', :content => 'Move',
52 assert_tag :tag => 'a', :content => 'Move',
52 :attributes => { :href => '/issues/move/new?ids%5B%5D=1',
53 :attributes => { :href => '/issues/move/new?ids%5B%5D=1',
53 :class => 'icon-move' }
54 :class => 'icon-move' }
54 assert_tag :tag => 'a', :content => 'Delete',
55 assert_tag :tag => 'a', :content => 'Delete',
55 :attributes => { :href => '/issues/destroy?ids%5B%5D=1',
56 :attributes => { :href => '/issues/destroy?ids%5B%5D=1',
56 :class => 'icon-del' }
57 :class => 'icon-del' }
57 end
58 end
58
59
59 def test_context_menu_one_issue_by_anonymous
60 def test_context_menu_one_issue_by_anonymous
60 get :issues, :ids => [1]
61 get :issues, :ids => [1]
61 assert_response :success
62 assert_response :success
62 assert_template 'context_menu'
63 assert_template 'context_menu'
63 assert_tag :tag => 'a', :content => 'Delete',
64 assert_tag :tag => 'a', :content => 'Delete',
64 :attributes => { :href => '#',
65 :attributes => { :href => '#',
65 :class => 'icon-del disabled' }
66 :class => 'icon-del disabled' }
66 end
67 end
67
68
68 def test_context_menu_multiple_issues_of_same_project
69 def test_context_menu_multiple_issues_of_same_project
69 @request.session[:user_id] = 2
70 @request.session[:user_id] = 2
70 get :issues, :ids => [1, 2]
71 get :issues, :ids => [1, 2]
71 assert_response :success
72 assert_response :success
72 assert_template 'context_menu'
73 assert_template 'context_menu'
73 assert_not_nil assigns(:issues)
74 assert_not_nil assigns(:issues)
74 assert_equal [1, 2], assigns(:issues).map(&:id).sort
75 assert_equal [1, 2], assigns(:issues).map(&:id).sort
75
76
76 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;')
77 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;')
77 assert_tag :tag => 'a', :content => 'Edit',
78 assert_tag :tag => 'a', :content => 'Edit',
78 :attributes => { :href => "/issues/bulk_edit?#{ids}",
79 :attributes => { :href => "/issues/bulk_edit?#{ids}",
79 :class => 'icon-edit' }
80 :class => 'icon-edit' }
80 assert_tag :tag => 'a', :content => 'Closed',
81 assert_tag :tag => 'a', :content => 'Closed',
81 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bstatus_id%5D=5",
82 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bstatus_id%5D=5",
82 :class => '' }
83 :class => '' }
83 assert_tag :tag => 'a', :content => 'Immediate',
84 assert_tag :tag => 'a', :content => 'Immediate',
84 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bpriority_id%5D=8",
85 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bpriority_id%5D=8",
85 :class => '' }
86 :class => '' }
86 assert_tag :tag => 'a', :content => 'Dave Lopper',
87 assert_tag :tag => 'a', :content => 'Dave Lopper',
87 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bassigned_to_id%5D=3",
88 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bassigned_to_id%5D=3",
88 :class => '' }
89 :class => '' }
89 assert_tag :tag => 'a', :content => 'Copy',
90 assert_tag :tag => 'a', :content => 'Copy',
90 :attributes => { :href => "/issues/move/new?copy_options%5Bcopy%5D=t&amp;#{ids}",
91 :attributes => { :href => "/issues/move/new?copy_options%5Bcopy%5D=t&amp;#{ids}",
91 :class => 'icon-copy' }
92 :class => 'icon-copy' }
92 assert_tag :tag => 'a', :content => 'Move',
93 assert_tag :tag => 'a', :content => 'Move',
93 :attributes => { :href => "/issues/move/new?#{ids}",
94 :attributes => { :href => "/issues/move/new?#{ids}",
94 :class => 'icon-move' }
95 :class => 'icon-move' }
95 assert_tag :tag => 'a', :content => 'Delete',
96 assert_tag :tag => 'a', :content => 'Delete',
96 :attributes => { :href => "/issues/destroy?#{ids}",
97 :attributes => { :href => "/issues/destroy?#{ids}",
97 :class => 'icon-del' }
98 :class => 'icon-del' }
98 end
99 end
99
100
100 def test_context_menu_multiple_issues_of_different_projects
101 def test_context_menu_multiple_issues_of_different_projects
101 @request.session[:user_id] = 2
102 @request.session[:user_id] = 2
102 get :issues, :ids => [1, 2, 6]
103 get :issues, :ids => [1, 2, 6]
103 assert_response :success
104 assert_response :success
104 assert_template 'context_menu'
105 assert_template 'context_menu'
105 assert_not_nil assigns(:issues)
106 assert_not_nil assigns(:issues)
106 assert_equal [1, 2, 6], assigns(:issues).map(&:id).sort
107 assert_equal [1, 2, 6], assigns(:issues).map(&:id).sort
107
108
108 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;')
109 ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&amp;')
109 assert_tag :tag => 'a', :content => 'Edit',
110 assert_tag :tag => 'a', :content => 'Edit',
110 :attributes => { :href => "/issues/bulk_edit?#{ids}",
111 :attributes => { :href => "/issues/bulk_edit?#{ids}",
111 :class => 'icon-edit' }
112 :class => 'icon-edit' }
112 assert_tag :tag => 'a', :content => 'Closed',
113 assert_tag :tag => 'a', :content => 'Closed',
113 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bstatus_id%5D=5",
114 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bstatus_id%5D=5",
114 :class => '' }
115 :class => '' }
115 assert_tag :tag => 'a', :content => 'Immediate',
116 assert_tag :tag => 'a', :content => 'Immediate',
116 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bpriority_id%5D=8",
117 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bpriority_id%5D=8",
117 :class => '' }
118 :class => '' }
118 assert_tag :tag => 'a', :content => 'John Smith',
119 assert_tag :tag => 'a', :content => 'John Smith',
119 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bassigned_to_id%5D=2",
120 :attributes => { :href => "/issues/bulk_edit?#{ids}&amp;issue%5Bassigned_to_id%5D=2",
120 :class => '' }
121 :class => '' }
121 assert_tag :tag => 'a', :content => 'Delete',
122 assert_tag :tag => 'a', :content => 'Delete',
122 :attributes => { :href => "/issues/destroy?#{ids}",
123 :attributes => { :href => "/issues/destroy?#{ids}",
123 :class => 'icon-del' }
124 :class => 'icon-del' }
124 end
125 end
125
126
126 def test_context_menu_issue_visibility
127 def test_context_menu_issue_visibility
127 get :issues, :ids => [1, 4]
128 get :issues, :ids => [1, 4]
128 assert_response :success
129 assert_response :success
129 assert_template 'context_menu'
130 assert_template 'context_menu'
130 assert_equal [1], assigns(:issues).collect(&:id)
131 assert_equal [1], assigns(:issues).collect(&:id)
131 end
132 end
132
133
133 def test_time_entries_context_menu
134 def test_time_entries_context_menu
134 @request.session[:user_id] = 2
135 @request.session[:user_id] = 2
135 get :time_entries, :ids => [1, 2]
136 get :time_entries, :ids => [1, 2]
136 assert_response :success
137 assert_response :success
137 assert_template 'time_entries'
138 assert_template 'time_entries'
138 assert_tag 'a', :content => 'Edit'
139 assert_tag 'a', :content => 'Edit'
139 assert_no_tag 'a', :content => 'Edit', :attributes => {:class => /disabled/}
140 assert_no_tag 'a', :content => 'Edit', :attributes => {:class => /disabled/}
140 end
141 end
141
142
142 def test_time_entries_context_menu_without_edit_permission
143 def test_time_entries_context_menu_without_edit_permission
143 @request.session[:user_id] = 2
144 @request.session[:user_id] = 2
144 Role.find_by_name('Manager').remove_permission! :edit_time_entries
145 Role.find_by_name('Manager').remove_permission! :edit_time_entries
145
146
146 get :time_entries, :ids => [1, 2]
147 get :time_entries, :ids => [1, 2]
147 assert_response :success
148 assert_response :success
148 assert_template 'time_entries'
149 assert_template 'time_entries'
149 assert_tag 'a', :content => 'Edit', :attributes => {:class => /disabled/}
150 assert_tag 'a', :content => 'Edit', :attributes => {:class => /disabled/}
150 end
151 end
151 end
152 end
General Comments 0
You need to be logged in to leave comments. Login now