annotate test/functional/activities_controller_test.rb @ 1465:ab8bd24eeb65 bug_635

Close obsolete branch bug_635
author Chris Cannam
date Fri, 19 Jul 2013 12:13:20 +0100
parents 3e4c3460b6ca
children 622f24f53b42
rev   line source
Chris@119 1 require File.expand_path('../../test_helper', __FILE__)
chris@22 2
chris@22 3 class ActivitiesControllerTest < ActionController::TestCase
Chris@909 4 fixtures :projects, :trackers, :issue_statuses, :issues,
Chris@909 5 :enumerations, :users, :issue_categories,
Chris@909 6 :projects_trackers,
Chris@909 7 :roles,
Chris@909 8 :member_roles,
Chris@909 9 :members,
Chris@909 10 :groups_users,
Chris@909 11 :enabled_modules,
Chris@909 12 :workflows,
Chris@909 13 :journals, :journal_details
Chris@909 14
chris@22 15
chris@22 16 def test_project_index
chris@22 17 get :index, :id => 1, :with_subprojects => 0
chris@22 18 assert_response :success
chris@22 19 assert_template 'index'
chris@22 20 assert_not_nil assigns(:events_by_day)
Chris@441 21
Chris@441 22 assert_tag :tag => "h3",
chris@22 23 :content => /#{2.days.ago.to_date.day}/,
chris@22 24 :sibling => { :tag => "dl",
chris@22 25 :child => { :tag => "dt",
chris@22 26 :attributes => { :class => /issue-edit/ },
chris@22 27 :child => { :tag => "a",
chris@22 28 :content => /(#{IssueStatus.find(2).name})/,
chris@22 29 }
chris@22 30 }
chris@22 31 }
chris@22 32 end
Chris@441 33
Chris@909 34 def test_project_index_with_invalid_project_id_should_respond_404
Chris@909 35 get :index, :id => 299
Chris@909 36 assert_response 404
Chris@909 37 end
Chris@909 38
chris@22 39 def test_previous_project_index
Chris@1294 40 get :index, :id => 1, :from => 2.days.ago.to_date
chris@22 41 assert_response :success
chris@22 42 assert_template 'index'
chris@22 43 assert_not_nil assigns(:events_by_day)
Chris@441 44
Chris@441 45 assert_tag :tag => "h3",
chris@22 46 :content => /#{3.day.ago.to_date.day}/,
chris@22 47 :sibling => { :tag => "dl",
chris@22 48 :child => { :tag => "dt",
chris@22 49 :attributes => { :class => /issue/ },
chris@22 50 :child => { :tag => "a",
Chris@1115 51 :content => /Can&#x27;t print recipes/,
chris@22 52 }
chris@22 53 }
chris@22 54 }
chris@22 55 end
Chris@441 56
chris@22 57 def test_global_index
Chris@1115 58 @request.session[:user_id] = 1
chris@22 59 get :index
chris@22 60 assert_response :success
chris@22 61 assert_template 'index'
chris@22 62 assert_not_nil assigns(:events_by_day)
Chris@441 63
Chris@1115 64 i5 = Issue.find(5)
Chris@1115 65 d5 = User.find(1).time_to_date(i5.created_on)
Chris@441 66 assert_tag :tag => "h3",
Chris@1115 67 :content => /#{d5.day}/,
chris@22 68 :sibling => { :tag => "dl",
chris@22 69 :child => { :tag => "dt",
chris@22 70 :attributes => { :class => /issue/ },
chris@22 71 :child => { :tag => "a",
Chris@1115 72 :content => /Subproject issue/,
chris@22 73 }
chris@22 74 }
chris@22 75 }
chris@22 76 end
Chris@441 77
chris@22 78 def test_user_index
Chris@1115 79 @request.session[:user_id] = 1
chris@22 80 get :index, :user_id => 2
chris@22 81 assert_response :success
chris@22 82 assert_template 'index'
chris@22 83 assert_not_nil assigns(:events_by_day)
Chris@441 84
Chris@1115 85 assert_select 'h2 a[href=/users/2]', :text => 'John Smith'
Chris@1115 86
Chris@1115 87 i1 = Issue.find(1)
Chris@1115 88 d1 = User.find(1).time_to_date(i1.created_on)
Chris@1115 89
Chris@441 90 assert_tag :tag => "h3",
Chris@1115 91 :content => /#{d1.day}/,
chris@22 92 :sibling => { :tag => "dl",
chris@22 93 :child => { :tag => "dt",
chris@22 94 :attributes => { :class => /issue/ },
chris@22 95 :child => { :tag => "a",
Chris@1115 96 :content => /Can&#x27;t print recipes/,
chris@22 97 }
chris@22 98 }
chris@22 99 }
chris@22 100 end
Chris@441 101
Chris@909 102 def test_user_index_with_invalid_user_id_should_respond_404
Chris@909 103 get :index, :user_id => 299
Chris@909 104 assert_response 404
Chris@909 105 end
Chris@909 106
chris@22 107 def test_index_atom_feed
Chris@1115 108 get :index, :format => 'atom', :with_subprojects => 0
chris@22 109 assert_response :success
Chris@1115 110 assert_template 'common/feed'
Chris@1115 111
Chris@1115 112 assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil },
Chris@1115 113 :attributes => {:rel => 'self', :href => 'http://test.host/activity.atom?with_subprojects=0'}
Chris@1115 114 assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil },
Chris@1115 115 :attributes => {:rel => 'alternate', :href => 'http://test.host/activity?with_subprojects=0'}
Chris@1115 116
Chris@1115 117 assert_tag :tag => 'entry', :child => {
Chris@1115 118 :tag => 'link',
Chris@1115 119 :attributes => {:href => 'http://test.host/issues/11'}}
Chris@1115 120 end
Chris@1115 121
Chris@1115 122 def test_index_atom_feed_with_explicit_selection
Chris@1115 123 get :index, :format => 'atom', :with_subprojects => 0,
Chris@1115 124 :show_changesets => 1,
Chris@1115 125 :show_documents => 1,
Chris@1115 126 :show_files => 1,
Chris@1115 127 :show_issues => 1,
Chris@1115 128 :show_messages => 1,
Chris@1115 129 :show_news => 1,
Chris@1115 130 :show_time_entries => 1,
Chris@1115 131 :show_wiki_edits => 1
Chris@1115 132
Chris@1115 133 assert_response :success
Chris@1115 134 assert_template 'common/feed'
Chris@1115 135
Chris@1115 136 assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil },
Chris@1115 137 :attributes => {:rel => 'self', :href => 'http://test.host/activity.atom?show_changesets=1&amp;show_documents=1&amp;show_files=1&amp;show_issues=1&amp;show_messages=1&amp;show_news=1&amp;show_time_entries=1&amp;show_wiki_edits=1&amp;with_subprojects=0'}
Chris@1115 138 assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil },
Chris@1115 139 :attributes => {:rel => 'alternate', :href => 'http://test.host/activity?show_changesets=1&amp;show_documents=1&amp;show_files=1&amp;show_issues=1&amp;show_messages=1&amp;show_news=1&amp;show_time_entries=1&amp;show_wiki_edits=1&amp;with_subprojects=0'}
Chris@1115 140
chris@22 141 assert_tag :tag => 'entry', :child => {
chris@22 142 :tag => 'link',
chris@22 143 :attributes => {:href => 'http://test.host/issues/11'}}
chris@22 144 end
Chris@909 145
Chris@909 146 def test_index_atom_feed_with_one_item_type
Chris@909 147 get :index, :format => 'atom', :show_issues => '1'
Chris@909 148 assert_response :success
Chris@1115 149 assert_template 'common/feed'
Chris@909 150 assert_tag :tag => 'title', :content => /Issues/
Chris@909 151 end
Chris@1115 152
Chris@1115 153 def test_index_should_show_private_notes_with_permission_only
Chris@1115 154 journal = Journal.create!(:journalized => Issue.find(2), :notes => 'Private notes with searchkeyword', :private_notes => true)
Chris@1115 155 @request.session[:user_id] = 2
Chris@1115 156
Chris@1115 157 get :index
Chris@1115 158 assert_response :success
Chris@1115 159 assert_include journal, assigns(:events_by_day).values.flatten
Chris@1115 160
Chris@1115 161 Role.find(1).remove_permission! :view_private_notes
Chris@1115 162 get :index
Chris@1115 163 assert_response :success
Chris@1115 164 assert_not_include journal, assigns(:events_by_day).values.flatten
Chris@1115 165 end
chris@22 166 end