Skip to content

Commit 3564ba1

Browse files
committed
Added a test for the per-group and per-session ical pages.
- Legacy-Id: 14719
1 parent 7820e3e commit 3564ba1

1 file changed

Lines changed: 35 additions & 1 deletion

File tree

ietf/meeting/tests_views.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from ietf.meeting.helpers import send_interim_approval_request
2424
from ietf.meeting.helpers import send_interim_cancellation_notice
2525
from ietf.meeting.helpers import send_interim_minutes_reminder, populate_important_dates
26-
from ietf.meeting.models import Session, TimeSlot, Meeting
26+
from ietf.meeting.models import Session, TimeSlot, Meeting, SchedTimeSessAssignment
2727
from ietf.meeting.test_data import make_meeting_test_data, make_interim_meeting
2828
from ietf.meeting.utils import finalize
2929
from ietf.name.models import SessionStatusName
@@ -424,6 +424,40 @@ def test_important_dates(self):
424424
self.assertEqual(r.status_code, 200)
425425
self.assertIn(str(meeting.importantdate_set.first().date), unicontent(r))
426426

427+
def test_group_ical(self):
428+
meeting = make_meeting_test_data()
429+
s1 = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
430+
a1 = s1.official_timeslotassignment()
431+
t1 = a1.timeslot
432+
# Create an extra session
433+
t2 = TimeSlotFactory.create(meeting=meeting, time=datetime.datetime.combine(meeting.date, datetime.time(11, 30)))
434+
s2 = SessionFactory.create(meeting=meeting, group=s1.group, add_to_schedule=False)
435+
SchedTimeSessAssignment.objects.create(timeslot=t2, session=s2, schedule=meeting.agenda)
436+
#
437+
url = urlreverse('ietf.meeting.views.ical_agenda', kwargs={'num':meeting.number, 'acronym':s1.group.acronym, })
438+
r = self.client.get(url)
439+
self.assertEqual(r.status_code, 200)
440+
self.assertEqual(r.get('Content-Type'), "text/calendar")
441+
self.assertContains(r, 'BEGIN:VEVENT')
442+
self.assertEqual(r.content.count('UID'), 2)
443+
self.assertContains(r, 'SUMMARY:mars - Martian Special Interest Group')
444+
self.assertContains(r, t1.time.strftime('%Y%m%dT%H%M%S'))
445+
self.assertContains(r, t2.time.strftime('%Y%m%dT%H%M%S'))
446+
self.assertContains(r, 'END:VEVENT')
447+
#
448+
url = urlreverse('ietf.meeting.views.ical_agenda', kwargs={'num':meeting.number, 'session_id':s1.id, })
449+
r = self.client.get(url)
450+
self.assertEqual(r.status_code, 200)
451+
self.assertEqual(r.get('Content-Type'), "text/calendar")
452+
self.assertContains(r, 'BEGIN:VEVENT')
453+
self.assertEqual(r.content.count('UID'), 1)
454+
self.assertContains(r, 'SUMMARY:mars - Martian Special Interest Group')
455+
self.assertContains(r, t1.time.strftime('%Y%m%dT%H%M%S'))
456+
self.assertNotContains(r, t2.time.strftime('%Y%m%dT%H%M%S'))
457+
self.assertContains(r, 'END:VEVENT')
458+
459+
460+
427461
class EditTests(TestCase):
428462
def setUp(self):
429463
# make sure we have the colors of the area

0 commit comments

Comments
 (0)