Chris@14
|
1 require File.dirname(__FILE__) + '/../test_helper'
|
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&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&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&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&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&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&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@14
|
59 assert_tag :tag => 'a', :content => 'Edit',
|
Chris@14
|
60 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&ids%5B%5D=2',
|
Chris@14
|
61 :class => 'icon-edit' }
|
chris@22
|
62 assert_tag :tag => 'a', :content => 'Closed',
|
chris@22
|
63 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&ids%5B%5D=2&issue%5Bstatus_id%5D=5',
|
chris@22
|
64 :class => '' }
|
Chris@14
|
65 assert_tag :tag => 'a', :content => 'Immediate',
|
Chris@14
|
66 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&ids%5B%5D=2&issue%5Bpriority_id%5D=8',
|
Chris@14
|
67 :class => '' }
|
Chris@14
|
68 assert_tag :tag => 'a', :content => 'Dave Lopper',
|
Chris@14
|
69 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&ids%5B%5D=2&issue%5Bassigned_to_id%5D=3',
|
Chris@14
|
70 :class => '' }
|
Chris@14
|
71 assert_tag :tag => 'a', :content => 'Copy',
|
Chris@14
|
72 :attributes => { :href => '/issues/move/new?copy_options%5Bcopy%5D=t&ids%5B%5D=1&ids%5B%5D=2',
|
Chris@14
|
73 :class => 'icon-copy' }
|
Chris@14
|
74 assert_tag :tag => 'a', :content => 'Move',
|
Chris@14
|
75 :attributes => { :href => '/issues/move/new?ids%5B%5D=1&ids%5B%5D=2',
|
Chris@14
|
76 :class => 'icon-move' }
|
Chris@14
|
77 assert_tag :tag => 'a', :content => 'Delete',
|
Chris@14
|
78 :attributes => { :href => '/issues/destroy?ids%5B%5D=1&ids%5B%5D=2',
|
Chris@14
|
79 :class => 'icon-del' }
|
Chris@14
|
80 end
|
Chris@14
|
81
|
chris@37
|
82 def test_context_menu_multiple_issues_of_different_projects
|
Chris@14
|
83 @request.session[:user_id] = 2
|
chris@37
|
84 get :issues, :ids => [1, 2, 6]
|
Chris@14
|
85 assert_response :success
|
Chris@14
|
86 assert_template 'context_menu'
|
chris@37
|
87 ids = "ids%5B%5D=1&ids%5B%5D=2&ids%5B%5D=6"
|
chris@37
|
88 assert_tag :tag => 'a', :content => 'Edit',
|
chris@37
|
89 :attributes => { :href => "/issues/bulk_edit?#{ids}",
|
chris@37
|
90 :class => 'icon-edit' }
|
chris@37
|
91 assert_tag :tag => 'a', :content => 'Closed',
|
chris@37
|
92 :attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bstatus_id%5D=5",
|
chris@37
|
93 :class => '' }
|
chris@37
|
94 assert_tag :tag => 'a', :content => 'Immediate',
|
chris@37
|
95 :attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bpriority_id%5D=8",
|
chris@37
|
96 :class => '' }
|
chris@37
|
97 assert_tag :tag => 'a', :content => 'John Smith',
|
chris@37
|
98 :attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bassigned_to_id%5D=2",
|
chris@37
|
99 :class => '' }
|
Chris@14
|
100 assert_tag :tag => 'a', :content => 'Delete',
|
chris@37
|
101 :attributes => { :href => "/issues/destroy?#{ids}",
|
chris@37
|
102 :class => 'icon-del' }
|
Chris@14
|
103 end
|
Chris@14
|
104
|
Chris@14
|
105 end
|