context_menus_controller_test.rb
119 lines
| 6.3 KiB
| text/x-ruby
|
RubyLexer
|
r4395 | require File.expand_path('../../test_helper', __FILE__) | ||
|
r3892 | |||
class ContextMenusControllerTest < ActionController::TestCase | ||||
fixtures :all | ||||
def test_context_menu_one_issue | ||||
@request.session[:user_id] = 2 | ||||
get :issues, :ids => [1] | ||||
assert_response :success | ||||
assert_template 'context_menu' | ||||
assert_tag :tag => 'a', :content => 'Edit', | ||||
:attributes => { :href => '/issues/1/edit', | ||||
:class => 'icon-edit' } | ||||
assert_tag :tag => 'a', :content => 'Closed', | ||||
|
r3941 | :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&issue%5Bstatus_id%5D=5', | ||
|
r3892 | :class => '' } | ||
assert_tag :tag => 'a', :content => 'Immediate', | ||||
:attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&issue%5Bpriority_id%5D=8', | ||||
:class => '' } | ||||
|
r5950 | assert_no_tag :tag => 'a', :content => 'Inactive Priority' | ||
|
r3892 | # Versions | ||
assert_tag :tag => 'a', :content => '2.0', | ||||
:attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&issue%5Bfixed_version_id%5D=3', | ||||
:class => '' } | ||||
assert_tag :tag => 'a', :content => 'eCookbook Subproject 1 - 2.0', | ||||
:attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&issue%5Bfixed_version_id%5D=4', | ||||
:class => '' } | ||||
assert_tag :tag => 'a', :content => 'Dave Lopper', | ||||
:attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&issue%5Bassigned_to_id%5D=3', | ||||
:class => '' } | ||||
assert_tag :tag => 'a', :content => 'Duplicate', | ||||
:attributes => { :href => '/projects/ecookbook/issues/1/copy', | ||||
:class => 'icon-duplicate' } | ||||
assert_tag :tag => 'a', :content => 'Copy', | ||||
:attributes => { :href => '/issues/move/new?copy_options%5Bcopy%5D=t&ids%5B%5D=1', | ||||
:class => 'icon-copy' } | ||||
assert_tag :tag => 'a', :content => 'Move', | ||||
:attributes => { :href => '/issues/move/new?ids%5B%5D=1', | ||||
:class => 'icon-move' } | ||||
assert_tag :tag => 'a', :content => 'Delete', | ||||
:attributes => { :href => '/issues/destroy?ids%5B%5D=1', | ||||
:class => 'icon-del' } | ||||
end | ||||
def test_context_menu_one_issue_by_anonymous | ||||
get :issues, :ids => [1] | ||||
assert_response :success | ||||
assert_template 'context_menu' | ||||
assert_tag :tag => 'a', :content => 'Delete', | ||||
:attributes => { :href => '#', | ||||
:class => 'icon-del disabled' } | ||||
end | ||||
|
r6700 | |||
|
r3892 | def test_context_menu_multiple_issues_of_same_project | ||
@request.session[:user_id] = 2 | ||||
get :issues, :ids => [1, 2] | ||||
assert_response :success | ||||
assert_template 'context_menu' | ||||
|
r4553 | assert_not_nil assigns(:issues) | ||
assert_equal [1, 2], assigns(:issues).map(&:id).sort | ||||
|
r6700 | |||
|
r4553 | ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&') | ||
|
r3892 | assert_tag :tag => 'a', :content => 'Edit', | ||
|
r4553 | :attributes => { :href => "/issues/bulk_edit?#{ids}", | ||
|
r3892 | :class => 'icon-edit' } | ||
|
r3941 | assert_tag :tag => 'a', :content => 'Closed', | ||
|
r4553 | :attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bstatus_id%5D=5", | ||
|
r3941 | :class => '' } | ||
|
r3892 | assert_tag :tag => 'a', :content => 'Immediate', | ||
|
r4553 | :attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bpriority_id%5D=8", | ||
|
r3892 | :class => '' } | ||
assert_tag :tag => 'a', :content => 'Dave Lopper', | ||||
|
r4553 | :attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bassigned_to_id%5D=3", | ||
|
r3892 | :class => '' } | ||
assert_tag :tag => 'a', :content => 'Copy', | ||||
|
r4553 | :attributes => { :href => "/issues/move/new?copy_options%5Bcopy%5D=t&#{ids}", | ||
|
r3892 | :class => 'icon-copy' } | ||
assert_tag :tag => 'a', :content => 'Move', | ||||
|
r4553 | :attributes => { :href => "/issues/move/new?#{ids}", | ||
|
r3892 | :class => 'icon-move' } | ||
assert_tag :tag => 'a', :content => 'Delete', | ||||
|
r4553 | :attributes => { :href => "/issues/destroy?#{ids}", | ||
|
r3892 | :class => 'icon-del' } | ||
end | ||||
|
r4122 | def test_context_menu_multiple_issues_of_different_projects | ||
|
r3892 | @request.session[:user_id] = 2 | ||
|
r4122 | get :issues, :ids => [1, 2, 6] | ||
|
r3892 | assert_response :success | ||
assert_template 'context_menu' | ||||
|
r4553 | assert_not_nil assigns(:issues) | ||
assert_equal [1, 2, 6], assigns(:issues).map(&:id).sort | ||||
|
r6700 | |||
|
r4553 | ids = assigns(:issues).map(&:id).map {|i| "ids%5B%5D=#{i}"}.join('&') | ||
|
r4128 | assert_tag :tag => 'a', :content => 'Edit', | ||
:attributes => { :href => "/issues/bulk_edit?#{ids}", | ||||
:class => 'icon-edit' } | ||||
assert_tag :tag => 'a', :content => 'Closed', | ||||
:attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bstatus_id%5D=5", | ||||
:class => '' } | ||||
assert_tag :tag => 'a', :content => 'Immediate', | ||||
:attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bpriority_id%5D=8", | ||||
:class => '' } | ||||
assert_tag :tag => 'a', :content => 'John Smith', | ||||
:attributes => { :href => "/issues/bulk_edit?#{ids}&issue%5Bassigned_to_id%5D=2", | ||||
:class => '' } | ||||
|
r3892 | assert_tag :tag => 'a', :content => 'Delete', | ||
|
r4122 | :attributes => { :href => "/issues/destroy?#{ids}", | ||
:class => 'icon-del' } | ||||
|
r3892 | end | ||
|
r6700 | |||
|
r4466 | def test_context_menu_issue_visibility | ||
get :issues, :ids => [1, 4] | ||||
assert_response :success | ||||
assert_template 'context_menu' | ||||
assert_equal [1], assigns(:issues).collect(&:id) | ||||
end | ||||
|
r3892 | end | ||