From c129b8a06fe53eb06aaf3b37770b954487383500 Mon Sep 17 00:00:00 2001 From: Reinier Balt Date: Mon, 13 Apr 2015 15:48:20 +0200 Subject: [PATCH] fix a few more timezone issues with the use of localtime --- .../recurring_todos_controller_test.rb | 16 ++--- test/controllers/stats_controller_test.rb | 68 +++++++++---------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/test/controllers/recurring_todos_controller_test.rb b/test/controllers/recurring_todos_controller_test.rb index c9c2bce7..cccadb24 100644 --- a/test/controllers/recurring_todos_controller_test.rb +++ b/test/controllers/recurring_todos_controller_test.rb @@ -184,7 +184,7 @@ class RecurringTodosControllerTest < ActionController::TestCase # mark as active xhr :post, :toggle_check, :id=>1, :_source_view=>"" - + recurring_todo_1 = RecurringTodo.find(1) # reload seems to not work assert recurring_todo_1.active?, "recurring todo should be active but is #{recurring_todo_1.aasm.current_state}" @@ -260,7 +260,7 @@ class RecurringTodosControllerTest < ActionController::TestCase "recurring_show_days_before"=>"0", "recurring_target"=>"due_date", "recurring_show_always" => "1", - "start_from"=>"1/10/2012", + "start_from"=>"1/10/2012", "weekly_every_x_week"=>"1", "weekly_return_monday"=>"w", "yearly_day_of_week"=>"0", @@ -379,9 +379,9 @@ class RecurringTodosControllerTest < ActionController::TestCase "tag_list"=>"one, two, three, four", format: :js assert_equal "new recurring pattern", assigns['recurring_todo'].description - assert_equal "2013-01-02 00:00:00 +0000", assigns['recurring_todo'].start_from.to_s + assert_equal "2013-01-02", assigns['recurring_todo'].start_from.localtime.to_date.to_s todo = assigns['recurring_todo'].todos.first - assert_equal "2013-01-02 00:00:00 +0000", todo.show_from.to_s + assert_equal "2013-01-02", todo.show_from.localtime.to_date.to_s end end @@ -419,9 +419,9 @@ class RecurringTodosControllerTest < ActionController::TestCase login_as(:admin_user) rt = recurring_todos(:call_bill_gates_every_day) - put :update, - "recurring_todo" => { - "description" => "changed", + put :update, + "recurring_todo" => { + "description" => "changed", "daily_selector" => "daily_every_x_day", "daily_every_x_days" => "2", "ends_on" => "no_end_date", @@ -433,7 +433,7 @@ class RecurringTodosControllerTest < ActionController::TestCase "recurring_todo_edit_start_from" => "2/1/2013", "end_date" => nil, "ends_on" => "no_end_date", - "id" => "#{rt.id}", + "id" => "#{rt.id}", "context_name" => "library", format: :js diff --git a/test/controllers/stats_controller_test.rb b/test/controllers/stats_controller_test.rb index 2c7e3485..d2140348 100644 --- a/test/controllers/stats_controller_test.rb +++ b/test/controllers/stats_controller_test.rb @@ -49,7 +49,7 @@ class StatsControllerTest < ActionController::TestCase totals = assigns['stats'].totals assert_equal 4, totals.tags assert_equal 2, totals.unique_tags - assert_equal 2.week.ago.utc.at_midnight, totals.first_action_at.utc.at_midnight + assert_equal 2.weeks.ago.localtime.at_midnight, totals.first_action_at.localtime.at_midnight end def test_downdrill @@ -128,15 +128,15 @@ class StatsControllerTest < ActionController::TestCase # And they should be averaged over three months assert_equal 2/3.0, assigns['actions_done_avg_last12months_array'][1], "fourth month should be excluded" assert_equal 2/3.0, assigns['actions_done_avg_last12months_array'][2], "fourth month should be included" - + assert_equal (3)/3.0, assigns['actions_created_avg_last12months_array'][1], "one every month" assert_equal (4)/3.0, assigns['actions_created_avg_last12months_array'][2], "two in fourth month" - + # And the current month should be interpolated fraction = Time.zone.now.day.to_f / Time.zone.now.end_of_month.day.to_f assert_equal (2*(1/fraction)+2)/3.0, assigns['interpolated_actions_created_this_month'], "two this month and one in the last two months" assert_equal (2)/3.0, assigns['interpolated_actions_done_this_month'], "none this month and one two the last two months" - + # And totals should be calculated assert_equal 2, assigns['max'], "max of created or completed todos in one month" end @@ -168,7 +168,7 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -176,7 +176,7 @@ class StatsControllerTest < ActionController::TestCase assert_response :success # only tests relevant differences with actions_done_last_12months_data - + assert_equal 31, assigns['actions_done_last30days_array'].size, "30 complete days plus 1 for the current day" assert_equal 2, assigns['max'], "two actions created on one day is max" end @@ -185,31 +185,31 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data get :actions_done_lastyears_data assert_response :success - + # only tests difference with actions_done_last_12months_data - + # And the last two months are corrected assert_equal 2/3.0, assigns['actions_done_avg_last_months_array'][23] assert_equal 2/3.0, assigns['actions_done_avg_last_months_array'][24] end - + def test_actions_completion_time_data login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats - + # When I get the chart data get :actions_completion_time_data assert_response :success - + # do not test stuff already implicitly tested in other tests assert_equal 104, assigns['max_weeks'], "two years is 104 weeks (for completed_at)" assert_equal 3, assigns['max_actions'], "3 completed within one week" @@ -222,13 +222,13 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats - + # When I get the chart data get :actions_running_time_data assert_response :success - + # do not test stuff already implicitly tested in other tests assert_equal 17, assigns['max_weeks'], "there are actions in the first 17 weeks of this year" assert_equal 2, assigns['max_actions'], "2 actions running long together" @@ -241,13 +241,13 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats - + # When I get the chart data get :actions_open_per_week_data assert_response :success - + # do not test stuff already implicitly tested in other tests assert_equal 17, assigns['max_weeks'], "there are actions in the first 17 weeks of this year" assert_equal 4, assigns['max_actions'], "4 actions running together" @@ -258,12 +258,12 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # Given todo1 is deferred (i.e. not visible) @todo_today1.show_from = Time.zone.now + 1.week @todo_today1.save - + # When I get the chart data get :actions_visible_running_time_data assert_response :success @@ -281,7 +281,7 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -311,7 +311,7 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -335,12 +335,12 @@ class StatsControllerTest < ActionController::TestCase assert_equal 14, assigns['data'].values[9], "pie slices limited to max 10; last pie contains sum of rest (in percentage)" assert_equal "(others)", assigns['data'].labels[9], "pie slices limited to max 10; last slice contains label for others" end - + def test_actions_day_of_week_all_data login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -358,7 +358,7 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -376,7 +376,7 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -389,12 +389,12 @@ class StatsControllerTest < ActionController::TestCase assert_not_nil assigns['actions_creation_hour_array'] assert_not_nil assigns['actions_completion_hour_array'] end - + def test_show_selected_actions_from_chart_avrt login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -409,7 +409,7 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -424,7 +424,7 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -439,7 +439,7 @@ class StatsControllerTest < ActionController::TestCase login_as(:admin_user) @current_user = User.find(users(:admin_user).id) @current_user.todos.delete_all - + given_todos_for_stats # When I get the chart data @@ -451,7 +451,7 @@ class StatsControllerTest < ActionController::TestCase end private - + def given_todos_for_stats # Given two todos created today @todo_today1 = @current_user.todos.create!(:description => "created today1", :context => contexts(:office)) @@ -491,7 +491,7 @@ class StatsControllerTest < ActionController::TestCase def difference_in_days(date1, date2) return ((date1.at_midnight-date2.at_midnight)/(60*60*24)).to_i end - + # assumes date1 > date2 def difference_in_weeks(date1, date2) return difference_in_days(date1, date2) / 7