|
11 | 11 | from django.conf import settings |
12 | 12 | from django.contrib.auth.models import User |
13 | 13 |
|
| 14 | +from mock import patch |
14 | 15 | from pyquery import PyQuery |
15 | 16 | from StringIO import StringIO |
16 | 17 |
|
|
22 | 23 | from ietf.meeting.helpers import send_interim_minutes_reminder |
23 | 24 | from ietf.meeting.models import Session, TimeSlot, Meeting |
24 | 25 | from ietf.meeting.test_data import make_meeting_test_data, make_interim_meeting |
| 26 | +from ietf.meeting.utils import finalize |
25 | 27 | from ietf.name.models import SessionStatusName |
26 | 28 | from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent |
27 | 29 | from ietf.utils.mail import outbox |
|
33 | 35 | MeetingFactory, FloorPlanFactory ) |
34 | 36 | from ietf.doc.factories import DocumentFactory |
35 | 37 |
|
| 38 | + |
36 | 39 | class MeetingTests(TestCase): |
37 | 40 | def setUp(self): |
38 | 41 | self.materials_dir = os.path.abspath(settings.TEST_MATERIALS_DIR) |
@@ -272,41 +275,50 @@ def test_proceedings(self): |
272 | 275 | self.assertEqual(r.status_code, 200) |
273 | 276 |
|
274 | 277 | def test_proceedings_acknowledgements(self): |
275 | | - meeting = make_meeting_test_data() |
| 278 | + make_meeting_test_data() |
| 279 | + meeting = MeetingFactory(type_id='ietf', date=datetime.date(2016,7,14), number="96") |
| 280 | + meeting.acknowledgements = 'test acknowledgements' |
| 281 | + meeting.save() |
276 | 282 | url = urlreverse('ietf.meeting.views.proceedings_acknowledgements',kwargs={'num':meeting.number}) |
277 | | - login_testing_unauthorized(self,"secretary",url) |
278 | | - r = self.client.get(url) |
279 | | - self.assertEqual(r.status_code, 200) |
| 283 | + response = self.client.get(url) |
| 284 | + self.assertEqual(response.status_code, 200) |
| 285 | + self.assertTrue('test acknowledgements' in response.content) |
| 286 | + |
| 287 | + @patch('urllib2.urlopen') |
| 288 | + def test_proceedings_attendees(self, mock_urlopen): |
| 289 | + mock_urlopen.return_value = StringIO('[{"LastName":"Smith","FirstName":"John","Company":"ABC","Country":"US"}]') |
| 290 | + make_meeting_test_data() |
| 291 | + meeting = MeetingFactory(type_id='ietf', date=datetime.date(2016,7,14), number="96") |
| 292 | + finalize(meeting) |
| 293 | + url = urlreverse('ietf.meeting.views.proceedings_attendees',kwargs={'num':96}) |
| 294 | + response = self.client.get(url) |
| 295 | + self.assertEqual(response.status_code, 200) |
| 296 | + self.assertTrue('Attendee List' in response.content) |
| 297 | + q = PyQuery(response.content) |
| 298 | + self.assertEqual(1,len(q("#id_attendees tbody tr"))) |
280 | 299 |
|
281 | 300 | def test_proceedings_overview(self): |
282 | 301 | '''Test proceedings IETF Overview page. |
283 | 302 | Note: old meetings aren't supported so need to add a new meeting then test. |
284 | 303 | ''' |
285 | 304 | make_meeting_test_data() |
286 | | - # add meeting requires a previous meeting to work |
287 | | - date = datetime.date(2016,7,14) |
288 | | - Meeting.objects.create(type_id='ietf',date=date,number=96) |
289 | | - url = urlreverse('ietf.secr.meetings.views.add') |
290 | | - post_data = dict(number='97',city='Seoul',date='2016-11-13',country='KR', |
291 | | - time_zone='Asia/Seoul',venue_name='Conrad Seoul', |
292 | | - venue_addr='10 Gukjegeumyung-ro', |
293 | | - idsubmit_cutoff_day_offset_00=13, |
294 | | - idsubmit_cutoff_day_offset_01=20, |
295 | | - idsubmit_cutoff_time_utc =datetime.timedelta(hours=23, minutes=59, seconds=59), |
296 | | - idsubmit_cutoff_warning_days =datetime.timedelta(days=21), |
297 | | - submission_start_day_offset=90, |
298 | | - submission_cutoff_day_offset=26, |
299 | | - submission_correction_day_offset=50, |
300 | | - ) |
301 | | - self.client.login(username='secretary', password='secretary+password') |
302 | | - |
303 | | - response = self.client.post(url, post_data) |
304 | | - self.assertRedirects(response,urlreverse('ietf.secr.meetings.views.main')) |
305 | | - url = urlreverse('ietf.meeting.views.proceedings_overview',kwargs={'num':97}) |
| 305 | + meeting = MeetingFactory(type_id='ietf', date=datetime.date(2016,7,14), number="96") |
| 306 | + finalize(meeting) |
| 307 | + url = urlreverse('ietf.meeting.views.proceedings_overview',kwargs={'num':96}) |
306 | 308 | response = self.client.get(url) |
307 | 309 | self.assertEqual(response.status_code, 200) |
308 | 310 | self.assertTrue('The Internet Engineering Task Force' in response.content) |
309 | 311 |
|
| 312 | + def test_proceedings_progress_report(self): |
| 313 | + make_meeting_test_data() |
| 314 | + MeetingFactory(type_id='ietf', date=datetime.date(2016,4,3), number="95") |
| 315 | + MeetingFactory(type_id='ietf', date=datetime.date(2016,7,14), number="96") |
| 316 | + |
| 317 | + url = urlreverse('ietf.meeting.views.proceedings_progress_report',kwargs={'num':96}) |
| 318 | + response = self.client.get(url) |
| 319 | + self.assertEqual(response.status_code, 200) |
| 320 | + self.assertTrue('Progress Report' in response.content) |
| 321 | + |
310 | 322 | def test_feed(self): |
311 | 323 | meeting = make_meeting_test_data() |
312 | 324 | session = Session.objects.filter(meeting=meeting, group__acronym="mars").first() |
@@ -1279,7 +1291,9 @@ def test_iphone_app_json(self): |
1279 | 1291 | self.assertEqual(r.status_code,200) |
1280 | 1292 |
|
1281 | 1293 | class FinalizeProceedingsTests(TestCase): |
1282 | | - def test_finalize_proceedings(self): |
| 1294 | + @patch('urllib2.urlopen') |
| 1295 | + def test_finalize_proceedings(self, mock_urlopen): |
| 1296 | + mock_urlopen.return_value = StringIO('[{"LastName":"Smith","FirstName":"John","Company":"ABC","Country":"US"}]') |
1283 | 1297 | make_meeting_test_data() |
1284 | 1298 | meeting = Meeting.objects.filter(type_id='ietf').order_by('id').last() |
1285 | 1299 | meeting.session_set.filter(group__acronym='mars').first().sessionpresentation_set.create(document=Document.objects.filter(type='draft').first(),rev=None) |
|
0 commit comments