drafts -> docs in /feed/iesg-agenda/ since we're returning more than
just I-Ds, sort by latest first, limit to documents on current and future telechats (as the description says) to speed it up, add simple test of the feed - Legacy-Id: 6312
This commit is contained in:
parent
52febb2fc0
commit
5c6ee01bf7
|
@ -8,27 +8,31 @@ import datetime
|
|||
|
||||
class IESGAgenda(Feed):
|
||||
title = "Documents on Future IESG Telechat Agendas"
|
||||
link = "http://datatracker.ietf.org/iesg/agenda/"
|
||||
link = settings.IDTRACKER_BASE_URL + "/iesg/agenda/"
|
||||
feed_type = Atom1Feed
|
||||
|
||||
def items(self):
|
||||
from ietf.doc.models import TelechatDocEvent
|
||||
drafts = Document.objects.filter(docevent__telechatdocevent__telechat_date__gte=datetime.date.min).distinct()
|
||||
for d in drafts:
|
||||
docs = Document.objects.filter(docevent__telechatdocevent__telechat_date__gte=datetime.date.today()).distinct()
|
||||
for d in docs:
|
||||
d.latest_telechat_event = d.latest_event(TelechatDocEvent, type="scheduled_for_telechat")
|
||||
drafts = [d for d in drafts if d.latest_telechat_event.telechat_date]
|
||||
drafts.sort(key=lambda d: d.latest_telechat_event.telechat_date)
|
||||
return drafts
|
||||
docs = [d for d in docs if d.latest_telechat_event.telechat_date]
|
||||
docs.sort(key=lambda d: d.latest_telechat_event.telechat_date, reverse=True)
|
||||
return docs
|
||||
|
||||
def item_categories(self, doc):
|
||||
return [ str(doc.telechat_date) ]
|
||||
|
||||
def item_categories(self, item):
|
||||
return [ str(item.telechat_date) ]
|
||||
|
||||
def item_pubdate(self, item):
|
||||
return item.latest_telechat_event.time
|
||||
def item_pubdate(self, doc):
|
||||
return doc.latest_telechat_event.time
|
||||
|
||||
def item_author_name(self, item):
|
||||
return str( item.ad ) if item.ad else "None"
|
||||
def item_author_name(self, doc):
|
||||
return doc.ad.plain_name() if doc.ad else "None"
|
||||
|
||||
def item_author_email(self, item):
|
||||
return str( item.ad.role_email("ad") ) if item.ad else ""
|
||||
def item_author_email(self, doc):
|
||||
if not doc.ad:
|
||||
return ""
|
||||
e = doc.ad.role_email("ad")
|
||||
if not e:
|
||||
return ""
|
||||
return e.address
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
from datetime import timedelta
|
||||
import os, shutil
|
||||
|
||||
import django.test
|
||||
|
@ -7,16 +6,38 @@ from django.conf import settings
|
|||
|
||||
from pyquery import PyQuery
|
||||
|
||||
from ietf.idtracker.models import *
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.doc.models import Document, TelechatDocEvent, State
|
||||
from ietf.person.models import Person
|
||||
from ietf.group.models import Group
|
||||
from ietf.iesg.models import *
|
||||
from ietf.utils.test_utils import SimpleUrlTestCase, RealDatabaseTest, canonicalize_feed, login_testing_unauthorized
|
||||
|
||||
class IESGAgendaTests(django.test.TestCase):
|
||||
def test_feed(self):
|
||||
draft = make_test_data()
|
||||
|
||||
url = "/feed/iesg-agenda/"
|
||||
|
||||
r = self.client.get(url)
|
||||
self.assertEquals(r.status_code, 200)
|
||||
self.assertTrue(draft.name not in r.content)
|
||||
|
||||
# add to schedule
|
||||
e = TelechatDocEvent(type="scheduled_for_telechat")
|
||||
e.doc = draft
|
||||
e.by = Person.objects.get(name="Aread Irector")
|
||||
e.telechat_date = TelechatDate.objects.active()[0].date
|
||||
e.returning_item = True
|
||||
e.save()
|
||||
|
||||
r = self.client.get(url)
|
||||
self.assertEquals(r.status_code, 200)
|
||||
self.assertTrue(draft.name in r.content)
|
||||
self.assertTrue(draft.title in r.content)
|
||||
|
||||
class RescheduleOnAgendaTestCase(django.test.TestCase):
|
||||
def test_reschedule(self):
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.person.models import Person
|
||||
from ietf.doc.models import TelechatDocEvent
|
||||
|
||||
draft = make_test_data()
|
||||
|
||||
# add to schedule
|
||||
|
@ -82,8 +103,6 @@ class WorkingGroupActionsTestCaseREDESIGN(django.test.TestCase):
|
|||
|
||||
|
||||
def test_working_group_actions(self):
|
||||
from ietf.utils.test_data import make_test_data
|
||||
|
||||
make_test_data()
|
||||
|
||||
url = urlreverse('iesg_working_group_actions')
|
||||
|
@ -98,8 +117,6 @@ class WorkingGroupActionsTestCaseREDESIGN(django.test.TestCase):
|
|||
self.assertTrue('(sieve)' in r.content)
|
||||
|
||||
def test_delete_wgaction(self):
|
||||
from ietf.utils.test_data import make_test_data
|
||||
|
||||
make_test_data()
|
||||
|
||||
wga = WGAction.objects.all()[0]
|
||||
|
@ -111,9 +128,6 @@ class WorkingGroupActionsTestCaseREDESIGN(django.test.TestCase):
|
|||
self.assertTrue(not WGAction.objects.filter(pk=wga.pk))
|
||||
|
||||
def test_edit_wgaction(self):
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.person.models import Person
|
||||
|
||||
make_test_data()
|
||||
|
||||
wga = WGAction.objects.all()[0]
|
||||
|
@ -146,10 +160,6 @@ class WorkingGroupActionsTestCaseREDESIGN(django.test.TestCase):
|
|||
self.assertEquals(wga.telechat_date, dates[3].date)
|
||||
|
||||
def test_add_possible_wg(self):
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.person.models import Person
|
||||
from ietf.group.models import Group
|
||||
|
||||
make_test_data()
|
||||
|
||||
url = urlreverse('iesg_working_group_actions')
|
||||
|
@ -191,8 +201,6 @@ class WorkingGroupActionsTestCaseREDESIGN(django.test.TestCase):
|
|||
self.assertEquals(wgas_before + 1, WGAction.objects.all().count())
|
||||
|
||||
def test_delete_possible_wg(self):
|
||||
from ietf.utils.test_data import make_test_data
|
||||
|
||||
make_test_data()
|
||||
|
||||
url = urlreverse('iesg_working_group_actions')
|
||||
|
@ -214,10 +222,6 @@ class IesgUrlTestCase(SimpleUrlTestCase):
|
|||
else:
|
||||
return content
|
||||
|
||||
#Tests added since database redesign that speak the new clases
|
||||
|
||||
from ietf.doc.models import Document,TelechatDocEvent,State
|
||||
from ietf.group.models import Person
|
||||
class DeferUndeferTestCase(django.test.TestCase):
|
||||
def helper_test_defer(self,name):
|
||||
|
||||
|
@ -313,5 +317,4 @@ class DeferUndeferTestCase(django.test.TestCase):
|
|||
# when charters support being deferred, be sure to test them here
|
||||
|
||||
def setUp(self):
|
||||
from ietf.utils.test_data import make_test_data
|
||||
make_test_data()
|
||||
|
|
Loading…
Reference in a new issue