##// END OF EJS Templates
add unit test to set project if project is nil at unit time entry test...
add unit test to set project if project is nil at unit time entry test git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7452 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r6492:ff1ba32b5ce3
r7332:5778c264349e
Show More
time_entry_reports_controller_test.rb
140 lines | 5.6 KiB | text/x-ruby | RubyLexer
/ test / functional / time_entry_reports_controller_test.rb
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 # -*- coding: utf-8 -*-
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118
class TimeEntryReportsControllerTest < ActionController::TestCase
fixtures :projects, :enabled_modules, :roles, :members, :member_roles, :issues, :time_entries, :users, :trackers, :enumerations, :issue_statuses, :custom_fields, :custom_values
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 def test_report_at_project_level
get :report, :project_id => 'ecookbook'
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 assert_response :success
assert_template 'report'
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 assert_tag :form,
:attributes => {:action => "/projects/ecookbook/time_entries/report", :id => 'query_form'}
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_all_projects
get :report
assert_response :success
assert_template 'report'
Jean-Philippe Lang
Changed timelogs filters to use non-AJAX requests (#1965)....
r5177 assert_tag :form,
:attributes => {:action => "/time_entries/report", :id => 'query_form'}
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_all_projects_denied
r = Role.anonymous
r.permissions.delete(:view_time_entries)
r.permissions_will_change!
r.save
get :report
assert_redirected_to '/login?back_url=http%3A%2F%2Ftest.host%2Ftime_entries%2Freport'
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_all_projects_one_criteria
get :report, :columns => 'week', :from => "2007-04-01", :to => "2007-04-30", :criterias => ['project']
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_equal "8.65", "%.2f" % assigns(:total_hours)
end
def test_report_all_time
get :report, :project_id => 1, :criterias => ['project', 'issue']
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_equal "162.90", "%.2f" % assigns(:total_hours)
end
def test_report_all_time_by_day
get :report, :project_id => 1, :criterias => ['project', 'issue'], :columns => 'day'
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_equal "162.90", "%.2f" % assigns(:total_hours)
assert_tag :tag => 'th', :content => '2007-03-12'
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_one_criteria
get :report, :project_id => 1, :columns => 'week', :from => "2007-04-01", :to => "2007-04-30", :criterias => ['project']
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_equal "8.65", "%.2f" % assigns(:total_hours)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_two_criterias
get :report, :project_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-12-31", :criterias => ["member", "activity"]
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_equal "162.90", "%.2f" % assigns(:total_hours)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_one_day
get :report, :project_id => 1, :columns => 'day', :from => "2007-03-23", :to => "2007-03-23", :criterias => ["member", "activity"]
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_equal "4.25", "%.2f" % assigns(:total_hours)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_at_issue_level
get :report, :project_id => 1, :issue_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-12-31", :criterias => ["member", "activity"]
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_equal "154.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/issues/1/time_entries/report", :id => 'query_form'}
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_custom_field_criteria
get :report, :project_id => 1, :criterias => ['project', 'cf_1', 'cf_7']
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_not_nil assigns(:criterias)
assert_equal 3, assigns(:criterias).size
assert_equal "162.90", "%.2f" % assigns(:total_hours)
# Custom field column
assert_tag :tag => 'th', :content => 'Database'
# Custom field row
assert_tag :tag => 'td', :content => 'MySQL',
:sibling => { :tag => 'td', :attributes => { :class => 'hours' },
:child => { :tag => 'span', :attributes => { :class => 'hours hours-int' },
:content => '1' }}
# Second custom field column
assert_tag :tag => 'th', :content => 'Billable'
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_one_criteria_no_result
get :report, :project_id => 1, :columns => 'week', :from => "1998-04-01", :to => "1998-04-30", :criterias => ['project']
assert_response :success
assert_template 'report'
assert_not_nil assigns(:total_hours)
assert_equal "0.00", "%.2f" % assigns(:total_hours)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_all_projects_csv_export
get :report, :columns => 'month', :from => "2007-01-01", :to => "2007-06-30", :criterias => ["project", "member", "activity"], :format => "csv"
assert_response :success
assert_equal 'text/csv', @response.content_type
lines = @response.body.chomp.split("\n")
# Headers
assert_equal 'Project,Member,Activity,2007-1,2007-2,2007-3,2007-4,2007-5,2007-6,Total', lines.first
# Total row
assert_equal 'Total,"","","","",154.25,8.65,"","",162.90', lines.last
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 def test_report_csv_export
get :report, :project_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-06-30", :criterias => ["project", "member", "activity"], :format => "csv"
assert_response :success
assert_equal 'text/csv', @response.content_type
lines = @response.body.chomp.split("\n")
# Headers
assert_equal 'Project,Member,Activity,2007-1,2007-2,2007-3,2007-4,2007-5,2007-6,Total', lines.first
# Total row
assert_equal 'Total,"","","","",154.25,8.65,"","",162.90', lines.last
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/time_entry_reports_controller_test.rb....
r6492
Eric Davis
Refactor: extract TimelogController#report to a new controller class...
r4118 end