[#5116] ticket:197 added summary, date, description to the feed
diff --git a/Allura/allura/model/artifact.py b/Allura/allura/model/artifact.py
index 752ecb4..3d71aaa 100644
--- a/Allura/allura/model/artifact.py
+++ b/Allura/allura/model/artifact.py
@@ -650,8 +650,8 @@
             title=title,
             description=description,
             link=artifact.url(),
-            author_name=author_name,
             pubdate=pubdate,
+            author_name=author_name,
             author_link=author_link or author.url())
         return item
 
diff --git a/ForgeTracker/forgetracker/model/ticket.py b/ForgeTracker/forgetracker/model/ticket.py
index b65d0f8..ec3093c 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -443,7 +443,12 @@
             n = Notification.post(artifact=self, topic='metadata', text=description, subject=subject)
             if monitoring_email and n:
                 n.send_simple(monitoring_email)
-        Feed.post(self, description)
+        Feed.post(
+            self,
+            title=self.summary,
+            description=description if description else self.description,
+            author=self.reported_by,
+            pubdate=self.created_date)
 
     def url(self):
         return self.app_config.url() + str(self.ticket_num) + '/'
diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py
index 1ac0f7f..10a6479 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -672,6 +672,16 @@
         response = self.app.get('/p/test/bugs/search_feed.atom?q=test')
         assert '<title>test first ticket</title>' in response
 
+    def test_feed(self):
+        self.new_ticket(
+            summary='test first ticket',
+            description='test description')
+        ThreadLocalORMSession.flush_all()
+        M.MonQTask.run_ready()
+        ThreadLocalORMSession.flush_all()
+        response = self.app.get('/p/test/bugs/feed')
+        assert 'test first ticket' in response
+
     def test_touch(self):
         self.new_ticket(summary='test touch')
         h.set_context('test', 'bugs', neighborhood='Projects')
diff --git a/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py b/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
index 05b5657..a66ef9a 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
@@ -1,11 +1,13 @@
 from pylons import c
+from datetime import datetime
 
 from ming.orm.ormsession import ThreadLocalORMSession
 from ming import schema
-from nose.tools import raises, assert_raises
+from nose.tools import raises, assert_raises, assert_equal
 
 from forgetracker.model import Ticket
 from forgetracker.tests.unit import TrackerTestWithModel
+from allura.model import Feed
 
 
 class TestTicketModel(TrackerTestWithModel):
@@ -109,3 +111,20 @@
         assert not has_access(t, 'update', user=creator)()
         assert has_access(t, 'read', user=observer)()
         assert has_access(t, 'read', user=anon)()
+
+    def test_feed(self):
+        t = Ticket(
+        app_config_id=c.app.config._id,
+        ticket_num=1,
+        summary='test ticket',
+        description='test description',
+        created_date=datetime(2012, 10, 29, 9, 57, 21, 465000))
+        assert_equal(t.created_date, datetime(2012, 10, 29, 9, 57, 21, 465000))
+        f = Feed.post(
+            t,
+            title=t.summary,
+            description=t.description,
+            pubdate=t.created_date)
+        assert_equal(f.pubdate, datetime(2012, 10, 29, 9, 57, 21, 465000))
+        assert_equal(f.title, 'test ticket')
+        assert_equal(f.description, 'test description')