@@ -513,22 +513,31 class IssueTest < ActiveSupport::TestCase | |||||
513 | end |
|
513 | end | |
514 |
|
514 | |||
515 | def test_safe_attributes_should_not_include_readonly_custom_fields |
|
515 | def test_safe_attributes_should_not_include_readonly_custom_fields | |
516 |
cf1 = IssueCustomField.create!(:name => 'Writable field', |
|
516 | cf1 = IssueCustomField.create!(:name => 'Writable field', | |
517 | cf2 = IssueCustomField.create!(:name => 'Readonly field', :field_format => 'string', :is_for_all => true, :tracker_ids => [1]) |
|
517 | :field_format => 'string', | |
518 |
|
518 | :is_for_all => true, :tracker_ids => [1]) | ||
|
519 | cf2 = IssueCustomField.create!(:name => 'Readonly field', | |||
|
520 | :field_format => 'string', | |||
|
521 | :is_for_all => true, :tracker_ids => [1]) | |||
519 | WorkflowPermission.delete_all |
|
522 | WorkflowPermission.delete_all | |
520 |
WorkflowPermission.create!(:old_status_id => 1, :tracker_id => 1, |
|
523 | WorkflowPermission.create!(:old_status_id => 1, :tracker_id => 1, | |
|
524 | :role_id => 1, :field_name => cf2.id.to_s, | |||
|
525 | :rule => 'readonly') | |||
521 | user = User.find(2) |
|
526 | user = User.find(2) | |
522 |
|
||||
523 | issue = Issue.new(:project_id => 1, :tracker_id => 1) |
|
527 | issue = Issue.new(:project_id => 1, :tracker_id => 1) | |
524 | assert_equal [cf2.id.to_s], issue.read_only_attribute_names(user) |
|
528 | assert_equal [cf2.id.to_s], issue.read_only_attribute_names(user) | |
525 | assert_not_include cf2.id.to_s, issue.safe_attribute_names(user) |
|
529 | assert_not_include cf2.id.to_s, issue.safe_attribute_names(user) | |
526 |
|
530 | |||
527 |
issue.send :safe_attributes=, {'custom_field_values' => { |
|
531 | issue.send :safe_attributes=, {'custom_field_values' => { | |
|
532 | cf1.id.to_s => 'value1', cf2.id.to_s => 'value2' | |||
|
533 | }}, user | |||
528 | assert_equal 'value1', issue.custom_field_value(cf1) |
|
534 | assert_equal 'value1', issue.custom_field_value(cf1) | |
529 | assert_nil issue.custom_field_value(cf2) |
|
535 | assert_nil issue.custom_field_value(cf2) | |
530 |
|
536 | |||
531 | issue.send :safe_attributes=, {'custom_fields' => [{'id' => cf1.id.to_s, 'value' => 'valuea'}, {'id' => cf2.id.to_s, 'value' => 'valueb'}]}, user |
|
537 | issue.send :safe_attributes=, {'custom_fields' => [ | |
|
538 | {'id' => cf1.id.to_s, 'value' => 'valuea'}, | |||
|
539 | {'id' => cf2.id.to_s, 'value' => 'valueb'} | |||
|
540 | ]}, user | |||
532 | assert_equal 'valuea', issue.custom_field_value(cf1) |
|
541 | assert_equal 'valuea', issue.custom_field_value(cf1) | |
533 | assert_nil issue.custom_field_value(cf2) |
|
542 | assert_nil issue.custom_field_value(cf2) | |
534 | end |
|
543 | end |
General Comments 0
You need to be logged in to leave comments.
Login now