diff options
Diffstat (limited to 'test/unit/query_test.rb')
-rw-r--r-- | test/unit/query_test.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index cf11bf10e..2aa10c5e9 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -1376,7 +1376,7 @@ class QueryTest < ActiveSupport::TestCase assert_equal Project.where(parent_id: bookmarks).ids.sort, result.map(&:id).sort end - def test_filter_watched_issues + def test_filter_watched_issues_by_user User.current = User.find(1) query = IssueQuery.new( @@ -1384,7 +1384,7 @@ class QueryTest < ActiveSupport::TestCase :filters => { 'watcher_id' => { :operator => '=', - :values => ['me'] + :values => [User.current.id] } } ) @@ -1394,13 +1394,17 @@ class QueryTest < ActiveSupport::TestCase assert_equal Issue.visible.watched_by(User.current).sort_by(&:id), result.sort_by(&:id) end - def test_filter_watched_issues_with_groups_also + def test_filter_watched_issues_by_me_should_include_user_groups user = User.find(2) group = Group.find(10) group.users << user Issue.find(3).add_watcher(user) Issue.find(7).add_watcher(group) + manager = Role.find(1) + # view_issue_watchers permission is not required to see watched issues by current user or user groups + manager.remove_permission! :view_issue_watchers User.current = user + query = IssueQuery.new( :name => '_', @@ -1412,6 +1416,7 @@ class QueryTest < ActiveSupport::TestCase } ) result = find_issues_with_query(query) + assert_not_nil result assert !result.empty? assert_equal [3, 7], result.sort_by(&:id).pluck(:id) |