From 500892e1a415a4bc8e2941672ff5d527e7275f97 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Tue, 13 Jun 2017 17:12:15 -0500 Subject: [PATCH 1/2] Fix the top 10 longest running projects list Sorting by running time without a reverse takes the shortest running projects. --- app/models/stats/projects.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/stats/projects.rb b/app/models/stats/projects.rb index 4efcb171..9e2a14d6 100644 --- a/app/models/stats/projects.rb +++ b/app/models/stats/projects.rb @@ -22,7 +22,7 @@ module Stats def find_top10_longest_running_projects projects = user.projects.order('created_at ASC') - projects.sort_by{ |p| p.running_time }.take(10) + projects.sort_by{ |p| p.running_time }.reverse.take(10) end end From eaedd53875ac391cee4a1847ab3deb45905f8e79 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Mon, 19 Jun 2017 09:24:10 -0500 Subject: [PATCH 2/2] Add a test for longest running projects --- test/controllers/stats_controller_test.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/controllers/stats_controller_test.rb b/test/controllers/stats_controller_test.rb index a1100311..8763d8a4 100644 --- a/test/controllers/stats_controller_test.rb +++ b/test/controllers/stats_controller_test.rb @@ -51,6 +51,9 @@ class StatsControllerTest < ActionController::TestCase assert_equal 4, totals.tags assert_equal 2, totals.unique_tags + longest_running_projects = assigns['stats'].projects.runtime + assert_equal longest_running_projects, users(:admin_user).projects.order('created_at').reverse + Time.zone = users(:admin_user).prefs.time_zone # calculations are done in users timezone assert_equal 2.weeks.ago.at_midnight, totals.first_action_at.at_midnight end