summaryrefslogtreecommitdiffstats
path: root/test/unit/query_test.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2013-07-13 09:20:11 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2013-07-13 09:20:11 +0000
commit628d05629b734371d3e850a95dadf0be30c5ef20 (patch)
tree58a9da4e8266ee45a0800996f9228e9d2a45108c /test/unit/query_test.rb
parenta74d55edd99a4bae23e7d9cbd76136ffa7707ccf (diff)
downloadredmine-628d05629b734371d3e850a95dadf0be30c5ef20.tar.gz
redmine-628d05629b734371d3e850a95dadf0be30c5ef20.zip
Role-based issue custom field visibility (#5037).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12012 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/query_test.rb')
-rw-r--r--test/unit/query_test.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb
index 15f1cf21c..4ec430cf7 100644
--- a/test/unit/query_test.rb
+++ b/test/unit/query_test.rb
@@ -1201,6 +1201,28 @@ class QueryTest < ActiveSupport::TestCase
assert ! query.available_filters["assigned_to_role"][:values].include?(['Anonymous','5'])
end
+ def test_available_filters_should_include_custom_field_according_to_user_visibility
+ visible_field = IssueCustomField.generate!(:is_for_all => true, :is_filter => true, :visible => true)
+ hidden_field = IssueCustomField.generate!(:is_for_all => true, :is_filter => true, :visible => false, :role_ids => [1])
+
+ with_current_user User.find(3) do
+ query = IssueQuery.new
+ assert_include "cf_#{visible_field.id}", query.available_filters.keys
+ assert_not_include "cf_#{hidden_field.id}", query.available_filters.keys
+ end
+ end
+
+ def test_available_columns_should_include_custom_field_according_to_user_visibility
+ visible_field = IssueCustomField.generate!(:is_for_all => true, :is_filter => true, :visible => true)
+ hidden_field = IssueCustomField.generate!(:is_for_all => true, :is_filter => true, :visible => false, :role_ids => [1])
+
+ with_current_user User.find(3) do
+ query = IssueQuery.new
+ assert_include :"cf_#{visible_field.id}", query.available_columns.map(&:name)
+ assert_not_include :"cf_#{hidden_field.id}", query.available_columns.map(&:name)
+ end
+ end
+
context "#statement" do
context "with 'member_of_group' filter" do
setup do