]> source.dussan.org Git - redmine.git/commitdiff
Fix Atom feed for issues to correctly use the updated time for "updated" element...
authorGo MAEDA <maeda@farend.jp>
Mon, 4 Mar 2024 14:25:49 +0000 (14:25 +0000)
committerGo MAEDA <maeda@farend.jp>
Mon, 4 Mar 2024 14:25:49 +0000 (14:25 +0000)
Patch by Go MAEDA.

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

app/models/issue.rb
test/functional/issues_controller_test.rb

index ad4728444a33a16a3d0084b224ef08146c726c1d..b6d0b6a74b7c3ff03beb10708f258d62c4d0f04b 100644 (file)
@@ -48,6 +48,7 @@ class Issue < ApplicationRecord
                      :scope => lambda {|options| options[:open_issues] ? self.open : self.all}
 
   acts_as_event :title => Proc.new {|o| "#{o.tracker.name} ##{o.id} (#{o.status}): #{o.subject}"},
+                :datetime => Proc.new {|o| o.updated_on},
                 :url => Proc.new {|o| {:controller => 'issues', :action => 'show', :id => o.id}},
                 :type => Proc.new {|o| 'issue' + (o.closed? ? '-closed' : '')}
 
index cce8ddc625290f2acbc816074c74b743e7cca262..00661827ed4cb7f201b2cf51fdfc4283687ae314 100644 (file)
@@ -1246,6 +1246,16 @@ class IssuesControllerTest < Redmine::ControllerTest
       assert_select 'link[rel=self][href=?]', 'http://test.host/projects/ecookbook/issues.atom'
       assert_select 'link[rel=alternate][href=?]', 'http://test.host/projects/ecookbook/issues'
       assert_select 'entry link[href=?]', 'http://test.host/issues/1'
+
+      assert_select 'entry' do |entries|
+        entries.each do |entry|
+          issue_id = entry.at('id').text.split('/').last.to_i
+          issue = Issue.find(issue_id)
+          formatted_updated_on = issue.updated_on.utc.iso8601
+          # <updated> element should use the value of `Issue#updated_on`
+          assert_select entry, 'updated', text: formatted_updated_on
+        end
+      end
     end
   end