summaryrefslogtreecommitdiffstats
path: root/test/unit/issue_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/issue_test.rb')
-rw-r--r--test/unit/issue_test.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb
index 33635e7a5..7f3e9484d 100644
--- a/test/unit/issue_test.rb
+++ b/test/unit/issue_test.rb
@@ -860,6 +860,29 @@ class IssueTest < ActiveSupport::TestCase
assert issue.save
end
+ def test_required_custom_field_that_is_not_visible_for_the_user_should_not_be_required
+ CustomField.delete_all
+ field = IssueCustomField.generate!(:is_required => true, :visible => false, :role_ids => [1], :trackers => Tracker.all, :is_for_all => true)
+ user = User.generate!
+ User.add_to_project(user, Project.find(1), Role.find(2))
+
+ issue = Issue.new(:project_id => 1, :tracker_id => 1, :status_id => 1,
+ :subject => 'Required fields', :author => user)
+ assert_save issue
+ end
+
+ def test_required_custom_field_that_is_visible_for_the_user_should_be_required
+ CustomField.delete_all
+ field = IssueCustomField.generate!(:is_required => true, :visible => false, :role_ids => [1], :trackers => Tracker.all, :is_for_all => true)
+ user = User.generate!
+ User.add_to_project(user, Project.find(1), Role.find(1))
+
+ issue = Issue.new(:project_id => 1, :tracker_id => 1, :status_id => 1,
+ :subject => 'Required fields', :author => user)
+ assert !issue.save
+ assert_include "#{field.name} cannot be blank", issue.errors.full_messages
+ end
+
def test_required_attribute_names_for_multiple_roles_should_intersect_rules
WorkflowPermission.delete_all
WorkflowPermission.create!(:old_status_id => 1, :tracker_id => 1,