Mercurial > hg > soundsoftware-site
diff test/integration/api_test/time_entries_test.rb @ 1115:433d4f72a19b redmine-2.2
Update to Redmine SVN revision 11137 on 2.2-stable branch
author | Chris Cannam |
---|---|
date | Mon, 07 Jan 2013 12:01:42 +0000 |
parents | cbb26bc654de |
children | 622f24f53b42 261b3d9a4903 |
line wrap: on
line diff
--- a/test/integration/api_test/time_entries_test.rb Wed Jun 27 14:54:18 2012 +0100 +++ b/test/integration/api_test/time_entries_test.rb Mon Jan 07 12:01:42 2013 +0000 @@ -1,5 +1,5 @@ # Redmine - project management software -# Copyright (C) 2006-2011 Jean-Philippe Lang +# Copyright (C) 2006-2012 Jean-Philippe Lang # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -34,7 +34,7 @@ context "GET /time_entries.xml" do should "return time entries" do - get '/time_entries.xml', {}, :authorization => credentials('jsmith') + get '/time_entries.xml', {}, credentials('jsmith') assert_response :success assert_equal 'application/xml', @response.content_type assert_tag :tag => 'time_entries', @@ -43,7 +43,7 @@ context "with limit" do should "return limited results" do - get '/time_entries.xml?limit=2', {}, :authorization => credentials('jsmith') + get '/time_entries.xml?limit=2', {}, credentials('jsmith') assert_response :success assert_equal 'application/xml', @response.content_type assert_tag :tag => 'time_entries', @@ -54,7 +54,7 @@ context "GET /time_entries/2.xml" do should "return requested time entry" do - get '/time_entries/2.xml', {}, :authorization => credentials('jsmith') + get '/time_entries/2.xml', {}, credentials('jsmith') assert_response :success assert_equal 'application/xml', @response.content_type assert_tag :tag => 'time_entry', @@ -66,7 +66,7 @@ context "with issue_id" do should "return create time entry" do assert_difference 'TimeEntry.count' do - post '/time_entries.xml', {:time_entry => {:issue_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11'}}, :authorization => credentials('jsmith') + post '/time_entries.xml', {:time_entry => {:issue_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11'}}, credentials('jsmith') end assert_response :created assert_equal 'application/xml', @response.content_type @@ -79,12 +79,27 @@ assert_equal 3.5, entry.hours assert_equal TimeEntryActivity.find(11), entry.activity end + + should "accept custom fields" do + field = TimeEntryCustomField.create!(:name => 'Test', :field_format => 'string') + + assert_difference 'TimeEntry.count' do + post '/time_entries.xml', {:time_entry => { + :issue_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11', :custom_fields => [{:id => field.id.to_s, :value => 'accepted'}] + }}, credentials('jsmith') + end + assert_response :created + assert_equal 'application/xml', @response.content_type + + entry = TimeEntry.first(:order => 'id DESC') + assert_equal 'accepted', entry.custom_field_value(field) + end end context "with project_id" do should "return create time entry" do assert_difference 'TimeEntry.count' do - post '/time_entries.xml', {:time_entry => {:project_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11'}}, :authorization => credentials('jsmith') + post '/time_entries.xml', {:time_entry => {:project_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11'}}, credentials('jsmith') end assert_response :created assert_equal 'application/xml', @response.content_type @@ -102,7 +117,7 @@ context "with invalid parameters" do should "return errors" do assert_no_difference 'TimeEntry.count' do - post '/time_entries.xml', {:time_entry => {:project_id => '1', :spent_on => '2010-12-02', :activity_id => '11'}}, :authorization => credentials('jsmith') + post '/time_entries.xml', {:time_entry => {:project_id => '1', :spent_on => '2010-12-02', :activity_id => '11'}}, credentials('jsmith') end assert_response :unprocessable_entity assert_equal 'application/xml', @response.content_type @@ -116,9 +131,10 @@ context "with valid parameters" do should "update time entry" do assert_no_difference 'TimeEntry.count' do - put '/time_entries/2.xml', {:time_entry => {:comments => 'API Update'}}, :authorization => credentials('jsmith') + put '/time_entries/2.xml', {:time_entry => {:comments => 'API Update'}}, credentials('jsmith') end assert_response :ok + assert_equal '', @response.body assert_equal 'API Update', TimeEntry.find(2).comments end end @@ -126,7 +142,7 @@ context "with invalid parameters" do should "return errors" do assert_no_difference 'TimeEntry.count' do - put '/time_entries/2.xml', {:time_entry => {:hours => '', :comments => 'API Update'}}, :authorization => credentials('jsmith') + put '/time_entries/2.xml', {:time_entry => {:hours => '', :comments => 'API Update'}}, credentials('jsmith') end assert_response :unprocessable_entity assert_equal 'application/xml', @response.content_type @@ -139,14 +155,11 @@ context "DELETE /time_entries/2.xml" do should "destroy time entry" do assert_difference 'TimeEntry.count', -1 do - delete '/time_entries/2.xml', {}, :authorization => credentials('jsmith') + delete '/time_entries/2.xml', {}, credentials('jsmith') end assert_response :ok + assert_equal '', @response.body assert_nil TimeEntry.find_by_id(2) end end - - def credentials(user, password=nil) - ActionController::HttpAuthentication::Basic.encode_credentials(user, password || user) - end end