diff options
Diffstat (limited to 'test/integration/api_test/issues_test.rb')
-rw-r--r-- | test/integration/api_test/issues_test.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/integration/api_test/issues_test.rb b/test/integration/api_test/issues_test.rb index 89550f1cf..344962a5b 100644 --- a/test/integration/api_test/issues_test.rb +++ b/test/integration/api_test/issues_test.rb @@ -406,6 +406,35 @@ JSON assert_equal 'API test', issue.subject end + test "POST /issues.json without tracker_id should accept custom fields" do + field = IssueCustomField.generate!( + :field_format => 'list', + :multiple => true, + :possible_values => ["V1", "V2", "V3"], + :default_value => "V2", + :is_for_all => true, + :trackers => Tracker.all.to_a + ) + +payload = <<-JSON +{ + "issue": { + "project_id": "1", + "subject": "Multivalued custom field", + "custom_field_values":{"#{field.id}":["V1","V3"]} + } +} +JSON + + assert_difference('Issue.count') do + post '/issues.json', payload, {"CONTENT_TYPE" => 'application/json'}.merge(credentials('jsmith')) + end + + assert_response :created + issue = Issue.order('id DESC').first + assert_equal ["V1", "V3"], issue.custom_field_value(field) + end + test "POST /issues.json with failure should return errors" do assert_no_difference('Issue.count') do post '/issues.json', {:issue => {:project_id => 1}}, credentials('jsmith') |