]> source.dussan.org Git - redmine.git/commitdiff
Fix: Time entry API returning `hours` as Rational instead of Float (#41819).
authorGo MAEDA <maeda@farend.jp>
Sun, 24 Nov 2024 07:04:17 +0000 (07:04 +0000)
committerGo MAEDA <maeda@farend.jp>
Sun, 24 Nov 2024 07:04:17 +0000 (07:04 +0000)
Patch by Go MAEDA (user:maeda).

git-svn-id: https://svn.redmine.org/redmine/trunk@23304 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/timelog/index.api.rsb
app/views/timelog/show.api.rsb
test/integration/api_test/time_entries_test.rb

index 976714869260e3db63a85693c43dd95fc18c0df0..aa05de3b87d30096a3123f34b75daf923ff090d3 100644 (file)
@@ -6,7 +6,7 @@ api.array :time_entries, api_meta(:total_count => @entry_count, :offset => @offs
       api.issue(:id => time_entry.issue_id) unless time_entry.issue.nil?
       api.user(:id => time_entry.user_id, :name => time_entry.user.name) unless time_entry.user.nil?
       api.activity(:id => time_entry.activity_id, :name => time_entry.activity.name) unless time_entry.activity.nil?
-      api.hours time_entry.hours
+      api.hours time_entry.hours.round(2).to_f
       api.comments time_entry.comments
       api.spent_on time_entry.spent_on
       api.created_on time_entry.created_on
index 7fce2529aaf593e6fc20b34852e78a3a292e9af3..36a8e8b720f4efe74adef570e3bf7ad3152dd2fe 100644 (file)
@@ -4,7 +4,7 @@ api.time_entry do
   api.issue(:id => @time_entry.issue_id) unless @time_entry.issue.nil?
   api.user(:id => @time_entry.user_id, :name => @time_entry.user.name) unless @time_entry.user.nil?
   api.activity(:id => @time_entry.activity_id, :name => @time_entry.activity.name) unless @time_entry.activity.nil?
-  api.hours @time_entry.hours
+  api.hours @time_entry.hours.round(2).to_f
   api.comments @time_entry.comments
   api.spent_on @time_entry.spent_on
   api.created_on @time_entry.created_on
index bd417ab2dad00c3c5c92ab7f33ce2ca3a943f933..66f7cf33575ce39d948b62af2f854f1b2fa05bcf 100644 (file)
@@ -33,7 +33,9 @@ class Redmine::ApiTest::TimeEntriesTest < Redmine::ApiTest::Base
     get '/time_entries.xml', :headers => credentials('jsmith')
     assert_response :success
     assert_equal 'application/xml', @response.media_type
-    assert_select 'time_entries[type=array] time_entry id', :text => '2'
+    assert_select 'time_entries[type=array] time_entry id', :text => '4'
+    assert_select 'time_entry:has(id:contains(4)) hours', :text => '7.65'
+    assert_select 'time_entry:has(id:contains(3)) hours', :text => '1.0'
   end
 
   test "GET /time_entries.xml with limit should return limited results" do
@@ -44,10 +46,11 @@ class Redmine::ApiTest::TimeEntriesTest < Redmine::ApiTest::Base
   end
 
   test "GET /time_entries/:id.xml should return the time entry" do
-    get '/time_entries/2.xml', :headers => credentials('jsmith')
+    get '/time_entries/4.xml', :headers => credentials('jsmith')
     assert_response :success
     assert_equal 'application/xml', @response.media_type
-    assert_select 'time_entry id', :text => '2'
+    assert_select 'time_entry id', :text => '4'
+    assert_select 'time_entry hours', :text => '7.65'
   end
 
   test "GET /time_entries/:id.xml on closed project should return the time entry" do