diff options
-rw-r--r-- | lib/redmine/project_jump_box.rb | 1 | ||||
-rw-r--r-- | test/unit/lib/redmine/project_jump_box_test.rb | 15 |
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/redmine/project_jump_box.rb b/lib/redmine/project_jump_box.rb index b8f332008..067cb2944 100644 --- a/lib/redmine/project_jump_box.rb +++ b/lib/redmine/project_jump_box.rb @@ -31,6 +31,7 @@ module Redmine def recently_used_projects project_ids = recently_used_project_ids Project.where(id: project_ids). + visible. index_by(&:id). values_at(*project_ids). # sort according to stored order compact diff --git a/test/unit/lib/redmine/project_jump_box_test.rb b/test/unit/lib/redmine/project_jump_box_test.rb index 5842354c5..e232a1e93 100644 --- a/test/unit/lib/redmine/project_jump_box_test.rb +++ b/test/unit/lib/redmine/project_jump_box_test.rb @@ -23,7 +23,8 @@ class Redmine::ProjectJumpBoxTest < ActiveSupport::TestCase fixtures :users, :projects, :user_preferences def setup - @user = User.find_by_login 'dlopper' + @user = User.find_by_login 'jsmith' + User.current = @user @ecookbook = Project.find 'ecookbook' @onlinestore = Project.find 'onlinestore' end @@ -134,4 +135,16 @@ class Redmine::ProjectJumpBoxTest < ActiveSupport::TestCase assert_equal @onlinestore, pjb.recently_used_projects.first assert_equal @ecookbook, pjb.recently_used_projects.last end + + def test_recents_list_should_include_only_visible_projects + @user = User.find_by_login 'dlopper' + User.current = @user + + pjb = Redmine::ProjectJumpBox.new @user + pjb.project_used @ecookbook + pjb.project_used @onlinestore + + assert_equal 1, pjb.recently_used_projects.size + assert_equal @ecookbook, pjb.recently_used_projects.first + end end |