##// END OF EJS Templates
Fix generation of blank local link when no title is specified in wiki link....
Fix generation of blank local link when no title is specified in wiki link. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7560 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r6504:f4eb05a26ecb
r7440:ac2dbde135f7
Show More
timelog_controller_test.rb
329 lines | 12.1 KiB | text/x-ruby | RubyLexer
/ test / functional / timelog_controller_test.rb
Eric Davis
Added an active field track if an Enumeration is active on the frontend view....
r2832 # -*- coding: utf-8 -*-
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Added time report....
r569 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504 #
Jean-Philippe Lang
Added time report....
r569 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504 #
Jean-Philippe Lang
Added time report....
r569 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Added time report....
r569 require 'timelog_controller'
# Re-raise errors caught by the controller.
class TimelogController; def rescue_action(e) raise e end; end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class TimelogControllerTest < ActionController::TestCase
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 fixtures :projects, :enabled_modules, :roles, :members, :member_roles, :issues, :time_entries, :users, :trackers, :enumerations, :issue_statuses, :custom_fields, :custom_values
Jean-Philippe Lang
Added time report....
r569
def setup
@controller = TimelogController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: extract TimelogController#new from #edit...
r4125 def test_get_new
Jean-Philippe Lang
Fixed: IssueController#edit doesn't set default Activity as default (#1302)....
r1447 @request.session[:user_id] = 3
Eric Davis
Refactor: extract TimelogController#new from #edit...
r4125 get :new, :project_id => 1
Jean-Philippe Lang
Fixed: IssueController#edit doesn't set default Activity as default (#1302)....
r1447 assert_response :success
assert_template 'edit'
# Default activity selected
assert_tag :tag => 'option', :attributes => { :selected => 'selected' },
:content => 'Development'
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: extract TimelogController#new from #edit...
r4125 def test_get_new_should_only_show_active_time_entry_activities
@request.session[:user_id] = 3
get :new, :project_id => 1
assert_response :success
assert_template 'edit'
assert_no_tag :tag => 'option', :content => 'Inactive Activity'
end
Jean-Philippe Lang
Fixes broken action url on time edit form (#2707)....
r2373 def test_get_edit_existing_time
@request.session[:user_id] = 2
get :edit, :id => 2, :project_id => nil
assert_response :success
assert_template 'edit'
# Default activity selected
Eric Davis
Refactor: convert timelogs to a REST resource (:time_entries)...
r4136 assert_tag :tag => 'form', :attributes => { :action => '/projects/ecookbook/time_entries/2' }
Jean-Philippe Lang
Fixes broken action url on time edit form (#2707)....
r2373 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Added an active field track if an Enumeration is active on the frontend view....
r2832 def test_get_edit_with_an_existing_time_entry_with_inactive_activity
te = TimeEntry.find(1)
te.activity = TimeEntryActivity.find_by_name("Inactive Activity")
te.save!
@request.session[:user_id] = 1
get :edit, :project_id => 1, :id => 1
assert_response :success
assert_template 'edit'
# Blank option since nothing is pre-selected
assert_tag :tag => 'option', :content => '--- Please select ---'
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: extract TimelogController#create from TimelogController#edit...
r4130 def test_post_create
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 # TODO: should POST to issues’ time log instead of project. change form
# and routing
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 @request.session[:user_id] = 3
Eric Davis
Refactor: extract TimelogController#create from TimelogController#edit...
r4130 post :create, :project_id => 1,
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 :time_entry => {:comments => 'Some work on TimelogControllerTest',
Jean-Philippe Lang
Fixed: time entries created with the default activity even if a different one is specified (#1302)....
r1519 # Not the default activity
:activity_id => '11',
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 :spent_on => '2008-03-14',
:issue_id => '1',
:hours => '7.3'}
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 i = Issue.find(1)
t = TimeEntry.find_by_comments('Some work on TimelogControllerTest')
assert_not_nil t
Jean-Philippe Lang
Fixed: time entries created with the default activity even if a different one is specified (#1302)....
r1519 assert_equal 11, t.activity_id
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 assert_equal 7.3, t.hours
assert_equal 3, t.user_id
assert_equal i, t.issue
assert_equal i.project, t.project
end
Jean-Philippe Lang
Fixed: 404 when entering time with blank issue id (#7099)....
r4397
def test_post_create_with_blank_issue
# TODO: should POST to issues’ time log instead of project. change form
# and routing
@request.session[:user_id] = 3
post :create, :project_id => 1,
:time_entry => {:comments => 'Some work on TimelogControllerTest',
# Not the default activity
:activity_id => '11',
:issue_id => '',
:spent_on => '2008-03-14',
:hours => '7.3'}
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Jean-Philippe Lang
Fixed: 404 when entering time with blank issue id (#7099)....
r4397 t = TimeEntry.find_by_comments('Some work on TimelogControllerTest')
assert_not_nil t
assert_equal 11, t.activity_id
assert_equal 7.3, t.hours
assert_equal 3, t.user_id
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 def test_update
entry = TimeEntry.find(1)
assert_equal 1, entry.issue_id
assert_equal 2, entry.user_id
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 @request.session[:user_id] = 1
Eric Davis
Refactor: extract TimelogController#edit to #update...
r4134 put :update, :id => 1,
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 :time_entry => {:issue_id => '2',
:hours => '8'}
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 entry.reload
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 assert_equal 8, entry.hours
assert_equal 2, entry.issue_id
assert_equal 2, entry.user_id
end
Toshi MARUYAMA
add functional tests for bulk edit time entries (#7996)....
r5195
def test_get_bulk_edit
@request.session[:user_id] = 2
get :bulk_edit, :ids => [1, 2]
assert_response :success
assert_template 'bulk_edit'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Toshi MARUYAMA
add functional tests for bulk edit time entries (#7996)....
r5195 # System wide custom field
assert_tag :select, :attributes => {:name => 'time_entry[custom_field_values][10]'}
end
def test_get_bulk_edit_on_different_projects
@request.session[:user_id] = 2
get :bulk_edit, :ids => [1, 2, 6]
assert_response :success
assert_template 'bulk_edit'
end
def test_bulk_update
@request.session[:user_id] = 2
# update time entry activity
post :bulk_update, :ids => [1, 2], :time_entry => { :activity_id => 9}
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Toshi MARUYAMA
add functional tests for bulk edit time entries (#7996)....
r5195 assert_response 302
# check that the issues were updated
assert_equal [9, 9], TimeEntry.find_all_by_id([1, 2]).collect {|i| i.activity_id}
end
def test_bulk_update_on_different_projects
@request.session[:user_id] = 2
# update time entry activity
post :bulk_update, :ids => [1, 2, 4], :time_entry => { :activity_id => 9 }
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Toshi MARUYAMA
add functional tests for bulk edit time entries (#7996)....
r5195 assert_response 302
# check that the issues were updated
assert_equal [9, 9, 9], TimeEntry.find_all_by_id([1, 2, 4]).collect {|i| i.activity_id}
end
def test_bulk_update_on_different_projects_without_rights
@request.session[:user_id] = 3
user = User.find(3)
action = { :controller => "timelog", :action => "bulk_update" }
assert user.allowed_to?(action, TimeEntry.find(1).project)
assert ! user.allowed_to?(action, TimeEntry.find(5).project)
post :bulk_update, :ids => [1, 5], :time_entry => { :activity_id => 9 }
assert_response 403
end
def test_bulk_update_custom_field
@request.session[:user_id] = 2
post :bulk_update, :ids => [1, 2], :time_entry => { :custom_field_values => {'10' => '0'} }
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Toshi MARUYAMA
add functional tests for bulk edit time entries (#7996)....
r5195 assert_response 302
assert_equal ["0", "0"], TimeEntry.find_all_by_id([1, 2]).collect {|i| i.custom_value_for(10).value}
end
def test_post_bulk_update_should_redirect_back_using_the_back_url_parameter
@request.session[:user_id] = 2
post :bulk_update, :ids => [1,2], :back_url => '/time_entries'
assert_response :redirect
assert_redirected_to '/time_entries'
end
def test_post_bulk_update_should_not_redirect_back_using_the_back_url_parameter_off_the_host
@request.session[:user_id] = 2
post :bulk_update, :ids => [1,2], :back_url => 'http://google.com'
assert_response :redirect
assert_redirected_to :controller => 'timelog', :action => 'index', :project_id => Project.find(1).identifier
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Jean-Philippe Lang
Adds cross-project time reports support (#994)....
r1777 def test_destroy
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 @request.session[:user_id] = 2
Eric Davis
Refactor: convert timelogs to a REST resource (:time_entries)...
r4136 delete :destroy, :id => 1
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Eric Davis
Handle unsuccessful destroys in TimelogController. #5700...
r3691 assert_equal I18n.t(:notice_successful_delete), flash[:notice]
Jean-Philippe Lang
Adds 2 permissions (closes #859):...
r1235 assert_nil TimeEntry.find_by_id(1)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Handle unsuccessful destroys in TimelogController. #5700...
r3691 def test_destroy_should_fail
# simulate that this fails (e.g. due to a plugin), see #5700
Jean-Philippe Lang
Code cleanup....
r5199 TimeEntry.any_instance.expects(:destroy).returns(false)
Eric Davis
Handle unsuccessful destroys in TimelogController. #5700...
r3691
@request.session[:user_id] = 2
Eric Davis
Refactor: convert timelogs to a REST resource (:time_entries)...
r4136 delete :destroy, :id => 1
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Eric Davis
Handle unsuccessful destroys in TimelogController. #5700...
r3691 assert_equal I18n.t(:notice_unable_delete_time_entry), flash[:error]
assert_not_nil TimeEntry.find_by_id(1)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_all_projects
get :index
Jean-Philippe Lang
Adds cross-project time reports support (#994)....
r1777 assert_response :success
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_template 'index'
Jean-Philippe Lang
Adds cross-project time reports support (#994)....
r1777 assert_not_nil assigns(:total_hours)
assert_equal "162.90", "%.2f" % assigns(:total_hours)
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 assert_tag :form,
:attributes => {:action => "/time_entries", :id => 'query_form'}
Jean-Philippe Lang
Adds cross-project time reports support (#994)....
r1777 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_at_project_level
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 get :index, :project_id => 'ecookbook'
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_response :success
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_template 'index'
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_not_nil assigns(:entries)
Jean-Philippe Lang
Propagates time tracking to the parent project (closes #433). Time report enhancements....
r1162 assert_equal 4, assigns(:entries).size
# project and subproject
assert_equal [1, 3], assigns(:entries).collect(&:project_id).uniq.sort
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_not_nil assigns(:total_hours)
Jean-Philippe Lang
Propagates time tracking to the parent project (closes #433). Time report enhancements....
r1162 assert_equal "162.90", "%.2f" % assigns(:total_hours)
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 # display all time by default
Eric Davis
Change the TimelogController's to/from dates based on the project time entries...
r3973 assert_equal '2007-03-12'.to_date, assigns(:from)
Jean-Philippe Lang
Various timelog report enhancements:...
r1311 assert_equal '2007-04-22'.to_date, assigns(:to)
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 assert_tag :form,
:attributes => {:action => "/projects/ecookbook/time_entries", :id => 'query_form'}
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_at_project_level_with_date_range
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 get :index, :project_id => 'ecookbook', :from => '2007-03-20', :to => '2007-04-30'
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_response :success
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_template 'index'
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_not_nil assigns(:entries)
Jean-Philippe Lang
Propagates time tracking to the parent project (closes #433). Time report enhancements....
r1162 assert_equal 3, assigns(:entries).size
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_not_nil assigns(:total_hours)
Jean-Philippe Lang
Propagates time tracking to the parent project (closes #433). Time report enhancements....
r1162 assert_equal "12.90", "%.2f" % assigns(:total_hours)
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_equal '2007-03-20'.to_date, assigns(:from)
assert_equal '2007-04-30'.to_date, assigns(:to)
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 assert_tag :form,
:attributes => {:action => "/projects/ecookbook/time_entries", :id => 'query_form'}
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 end
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_at_project_level_with_period
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 get :index, :project_id => 'ecookbook', :period => '7_days'
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_response :success
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_template 'index'
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_not_nil assigns(:entries)
assert_not_nil assigns(:total_hours)
assert_equal Date.today - 7, assigns(:from)
assert_equal Date.today, assigns(:to)
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 assert_tag :form,
:attributes => {:action => "/projects/ecookbook/time_entries", :id => 'query_form'}
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 end
Jean-Philippe Lang
Fixed: first day of date range is not included in time report with SQLite (#3112)....
r2895
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_one_day
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 get :index, :project_id => 'ecookbook', :from => "2007-03-23", :to => "2007-03-23"
Jean-Philippe Lang
Fixed: first day of date range is not included in time report with SQLite (#3112)....
r2895 assert_response :success
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_template 'index'
Jean-Philippe Lang
Fixed: first day of date range is not included in time report with SQLite (#3112)....
r2895 assert_not_nil assigns(:total_hours)
assert_equal "4.25", "%.2f" % assigns(:total_hours)
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 assert_tag :form,
:attributes => {:action => "/projects/ecookbook/time_entries", :id => 'query_form'}
Jean-Philippe Lang
Fixed: first day of date range is not included in time report with SQLite (#3112)....
r2895 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_at_issue_level
get :index, :issue_id => 1
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_response :success
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 assert_template 'index'
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 assert_not_nil assigns(:entries)
assert_equal 2, assigns(:entries).size
assert_not_nil assigns(:total_hours)
assert_equal 154.25, assigns(:total_hours)
Eric Davis
Change the TimelogController's to/from dates based on the project time entries...
r3973 # display all time based on what's been logged
assert_equal '2007-03-12'.to_date, assigns(:from)
Jean-Philippe Lang
Various timelog report enhancements:...
r1311 assert_equal '2007-04-22'.to_date, assigns(:to)
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 # TODO: remove /projects/:project_id/issues/:issue_id/time_entries routes
# to use /issues/:issue_id/time_entries
assert_tag :form,
:attributes => {:action => "/projects/ecookbook/issues/1/time_entries", :id => 'query_form'}
Jean-Philippe Lang
Adds date range filter and pagination on time entries detail view (closes #434)....
r1159 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_atom_feed
get :index, :project_id => 1, :format => 'atom'
Jean-Philippe Lang
Adds atom feed on time entries details (#1479)....
r1546 assert_response :success
assert_equal 'application/atom+xml', @response.content_type
assert_not_nil assigns(:items)
assert assigns(:items).first.is_a?(TimeEntry)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_all_projects_csv_export
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 Setting.date_format = '%m/%d/%Y'
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 get :index, :format => 'csv'
Jean-Philippe Lang
Adds cross-project time reports support (#994)....
r1777 assert_response :success
assert_equal 'text/csv', @response.content_type
Toshi MARUYAMA
add functional tests for bulk edit time entries (#7996)....
r5195 assert @response.body.include?("Date,User,Activity,Project,Issue,Tracker,Subject,Hours,Comment,Overtime\n")
assert @response.body.include?("\n04/21/2007,redMine Admin,Design,eCookbook,3,Bug,Error 281 when updating a recipe,1.0,\"\",\"\"\n")
Jean-Philippe Lang
Adds cross-project time reports support (#994)....
r1777 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/timelog_controller_test.rb....
r6504
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 def test_index_csv_export
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 Setting.date_format = '%m/%d/%Y'
Eric Davis
Refactor: rename TimelogController#details to #index...
r4121 get :index, :project_id => 1, :format => 'csv'
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 assert_response :success
assert_equal 'text/csv', @response.content_type
Toshi MARUYAMA
add functional tests for bulk edit time entries (#7996)....
r5195 assert @response.body.include?("Date,User,Activity,Project,Issue,Tracker,Subject,Hours,Comment,Overtime\n")
assert @response.body.include?("\n04/21/2007,redMine Admin,Design,eCookbook,3,Bug,Error 281 when updating a recipe,1.0,\"\",\"\"\n")
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 end
Jean-Philippe Lang
Added time report....
r569 end