diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-03-20 09:51:37 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-03-20 09:51:37 +0000 |
commit | cbc968b5459862ba3f4422ab72965fe4750deb35 (patch) | |
tree | 19259c03815ec52902b1377c84fe78d23851e253 /test/unit/issue_test.rb | |
parent | 33aaa06fe94e4db8f596cf1fb42b56d204b8a353 (diff) | |
download | redmine-cbc968b5459862ba3f4422ab72965fe4750deb35.tar.gz redmine-cbc968b5459862ba3f4422ab72965fe4750deb35.zip |
Merged r14137 (#19297).
git-svn-id: http://svn.redmine.org/redmine/branches/3.0-stable@14138 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/issue_test.rb')
-rw-r--r-- | test/unit/issue_test.rb | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb index 72157e538..61b24c10d 100644 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -888,7 +888,7 @@ class IssueTest < ActiveSupport::TestCase assert_equal [], issue.required_attribute_names(user.reload) WorkflowPermission.create!(:old_status_id => 1, :tracker_id => 1, - :role_id => 2, :field_name => 'due_date', + :role_id => 3, :field_name => 'due_date', :rule => 'readonly') # required + readonly => required assert_equal %w(due_date), issue.required_attribute_names(user) @@ -918,6 +918,23 @@ class IssueTest < ActiveSupport::TestCase assert_equal %w(due_date), issue.read_only_attribute_names(user) end + # A field that is not visible by role 2 and readonly by role 1 should be readonly for user with role 1 and 2 + def test_read_only_attribute_names_should_include_custom_fields_that_combine_readonly_and_not_visible_for_roles + field = IssueCustomField.generate!( + :is_for_all => true, :trackers => Tracker.all, :visible => false, :role_ids => [1] + ) + WorkflowPermission.delete_all + WorkflowPermission.create!( + :old_status_id => 1, :tracker_id => 1, :role_id => 1, :field_name => field.id, :rule => 'readonly' + ) + user = User.generate! + project = Project.find(1) + User.add_to_project(user, project, Role.where(:id => [1, 2])) + + issue = Issue.new(:project_id => 1, :tracker_id => 1, :status_id => 1) + assert_equal [field.id.to_s], issue.read_only_attribute_names(user) + end + def test_workflow_rules_should_ignore_roles_without_issue_permissions role = Role.generate! :permissions => [:view_issues, :edit_issues] ignored_role = Role.generate! :permissions => [:view_issues] |