A little less waste creating meeting/interim test data. Commit ready for merge.
- Legacy-Id: 18021
This commit is contained in:
parent
c60cc1b1a0
commit
ba41f9ba95
|
@ -10,11 +10,13 @@ import debug # pyflakes:ignore
|
||||||
|
|
||||||
|
|
||||||
from ietf.doc.factories import DocumentFactory
|
from ietf.doc.factories import DocumentFactory
|
||||||
from ietf.group.models import Group
|
from ietf.group.factories import GroupFactory, RoleFactory
|
||||||
|
from ietf.group.models import Group
|
||||||
from ietf.meeting.models import (Meeting, Room, TimeSlot, Session, Schedule, SchedTimeSessAssignment,
|
from ietf.meeting.models import (Meeting, Room, TimeSlot, Session, Schedule, SchedTimeSessAssignment,
|
||||||
ResourceAssociation, SessionPresentation, UrlResource, SchedulingEvent)
|
ResourceAssociation, SessionPresentation, UrlResource, SchedulingEvent)
|
||||||
from ietf.meeting.helpers import create_interim_meeting
|
from ietf.meeting.helpers import create_interim_meeting
|
||||||
from ietf.name.models import RoomResourceName
|
from ietf.name.models import RoomResourceName
|
||||||
|
from ietf.person.factories import PersonFactory
|
||||||
from ietf.person.models import Person
|
from ietf.person.models import Person
|
||||||
from ietf.utils.test_data import make_test_data
|
from ietf.utils.test_data import make_test_data
|
||||||
|
|
||||||
|
@ -67,7 +69,7 @@ def make_interim_meeting(group,date,status='sched'):
|
||||||
#
|
#
|
||||||
return meeting
|
return meeting
|
||||||
|
|
||||||
def make_meeting_test_data(meeting=None):
|
def make_meeting_test_data(meeting=None, create_interims=False):
|
||||||
if not Group.objects.filter(acronym='mars'):
|
if not Group.objects.filter(acronym='mars'):
|
||||||
make_test_data()
|
make_test_data()
|
||||||
system_person = Person.objects.get(name="(System)")
|
system_person = Person.objects.get(name="(System)")
|
||||||
|
@ -190,12 +192,31 @@ def make_meeting_test_data(meeting=None):
|
||||||
date2 = datetime.date.today() + datetime.timedelta(days=1000)
|
date2 = datetime.date.today() + datetime.timedelta(days=1000)
|
||||||
ames = Group.objects.get(acronym="ames")
|
ames = Group.objects.get(acronym="ames")
|
||||||
|
|
||||||
|
if create_interims:
|
||||||
|
make_interim_meeting(group=mars,date=date,status='sched')
|
||||||
|
make_interim_meeting(group=mars,date=date2,status='apprw')
|
||||||
|
make_interim_meeting(group=ames,date=date,status='canceled')
|
||||||
|
make_interim_meeting(group=ames,date=date2,status='apprw')
|
||||||
|
|
||||||
|
return meeting
|
||||||
|
|
||||||
|
def make_interim_test_data():
|
||||||
|
date = datetime.date.today() + datetime.timedelta(days=365)
|
||||||
|
date2 = datetime.date.today() + datetime.timedelta(days=1000)
|
||||||
|
PersonFactory(user__username='plain')
|
||||||
|
area = GroupFactory(type_id='area')
|
||||||
|
ad = Person.objects.get(user__username='ad')
|
||||||
|
RoleFactory(group=area,person=ad,name_id='ad')
|
||||||
|
mars = GroupFactory(acronym='mars',parent=area,name='Martian Special Interest Group')
|
||||||
|
ames = GroupFactory(acronym='ames',parent=area)
|
||||||
|
RoleFactory(group=mars,person__user__username='marschairman',name_id='chair')
|
||||||
|
RoleFactory(group=ames,person__user__username='ameschairman',name_id='chair')
|
||||||
|
|
||||||
make_interim_meeting(group=mars,date=date,status='sched')
|
make_interim_meeting(group=mars,date=date,status='sched')
|
||||||
make_interim_meeting(group=mars,date=date2,status='apprw')
|
make_interim_meeting(group=mars,date=date2,status='apprw')
|
||||||
make_interim_meeting(group=ames,date=date,status='canceled')
|
make_interim_meeting(group=ames,date=date,status='canceled')
|
||||||
make_interim_meeting(group=ames,date=date2,status='apprw')
|
make_interim_meeting(group=ames,date=date2,status='apprw')
|
||||||
|
|
||||||
return meeting
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ from ietf.meeting.helpers import send_interim_approval_request
|
||||||
from ietf.meeting.helpers import send_interim_cancellation_notice
|
from ietf.meeting.helpers import send_interim_cancellation_notice
|
||||||
from ietf.meeting.helpers import send_interim_minutes_reminder, populate_important_dates, update_important_dates
|
from ietf.meeting.helpers import send_interim_minutes_reminder, populate_important_dates, update_important_dates
|
||||||
from ietf.meeting.models import Session, TimeSlot, Meeting, SchedTimeSessAssignment, Schedule, SessionPresentation, SlideSubmission, SchedulingEvent, Room, Constraint, ConstraintName
|
from ietf.meeting.models import Session, TimeSlot, Meeting, SchedTimeSessAssignment, Schedule, SessionPresentation, SlideSubmission, SchedulingEvent, Room, Constraint, ConstraintName
|
||||||
from ietf.meeting.test_data import make_meeting_test_data, make_interim_meeting
|
from ietf.meeting.test_data import make_meeting_test_data, make_interim_meeting, make_interim_test_data
|
||||||
from ietf.meeting.utils import finalize, condition_slide_order
|
from ietf.meeting.utils import finalize, condition_slide_order
|
||||||
from ietf.meeting.utils import add_event_info_to_session_qs
|
from ietf.meeting.utils import add_event_info_to_session_qs
|
||||||
from ietf.meeting.views import session_draft_list
|
from ietf.meeting.views import session_draft_list
|
||||||
|
@ -1400,7 +1400,7 @@ class InterimTests(TestCase):
|
||||||
self.client.logout()
|
self.client.logout()
|
||||||
|
|
||||||
def test_interim_announce(self):
|
def test_interim_announce(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
url = urlreverse("ietf.meeting.views.interim_announce")
|
url = urlreverse("ietf.meeting.views.interim_announce")
|
||||||
meeting = Meeting.objects.filter(type='interim', session__group__acronym='mars').first()
|
meeting = Meeting.objects.filter(type='interim', session__group__acronym='mars').first()
|
||||||
session = meeting.session_set.first()
|
session = meeting.session_set.first()
|
||||||
|
@ -1431,7 +1431,7 @@ class InterimTests(TestCase):
|
||||||
self.assertEqual(len(outbox), len_before)
|
self.assertEqual(len(outbox), len_before)
|
||||||
|
|
||||||
def test_interim_send_announcement(self):
|
def test_interim_send_announcement(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
meeting.time_zone = 'America/Los_Angeles'
|
meeting.time_zone = 'America/Los_Angeles'
|
||||||
meeting.save()
|
meeting.save()
|
||||||
|
@ -1452,7 +1452,7 @@ class InterimTests(TestCase):
|
||||||
self.assertIn('(%s to %s UTC)'%(timeslot.utc_start_time().strftime('%H:%M'),timeslot.utc_end_time().strftime('%H:%M')), get_payload_text(outbox[-1]))
|
self.assertIn('(%s to %s UTC)'%(timeslot.utc_start_time().strftime('%H:%M'),timeslot.utc_end_time().strftime('%H:%M')), get_payload_text(outbox[-1]))
|
||||||
|
|
||||||
def test_interim_approve_by_ad(self):
|
def test_interim_approve_by_ad(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
|
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
|
||||||
length_before = len(outbox)
|
length_before = len(outbox)
|
||||||
|
@ -1465,7 +1465,7 @@ class InterimTests(TestCase):
|
||||||
self.assertIn('ready for announcement', outbox[-1]['Subject'])
|
self.assertIn('ready for announcement', outbox[-1]['Subject'])
|
||||||
|
|
||||||
def test_interim_approve_by_secretariat(self):
|
def test_interim_approve_by_secretariat(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
|
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
|
||||||
login_testing_unauthorized(self, "secretary", url)
|
login_testing_unauthorized(self, "secretary", url)
|
||||||
|
@ -1488,7 +1488,7 @@ class InterimTests(TestCase):
|
||||||
self.assertIn('CANCELLED', q('tr>td>a>span').text())
|
self.assertIn('CANCELLED', q('tr>td>a>span').text())
|
||||||
|
|
||||||
def test_upcoming(self):
|
def test_upcoming(self):
|
||||||
make_meeting_test_data()
|
make_meeting_test_data(create_interims=True)
|
||||||
url = urlreverse("ietf.meeting.views.upcoming")
|
url = urlreverse("ietf.meeting.views.upcoming")
|
||||||
today = datetime.date.today()
|
today = datetime.date.today()
|
||||||
add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first()
|
add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first()
|
||||||
|
@ -1504,7 +1504,7 @@ class InterimTests(TestCase):
|
||||||
self.check_interim_tabs(url)
|
self.check_interim_tabs(url)
|
||||||
|
|
||||||
def test_upcoming_ical(self):
|
def test_upcoming_ical(self):
|
||||||
make_meeting_test_data()
|
make_meeting_test_data(create_interims=True)
|
||||||
url = urlreverse("ietf.meeting.views.upcoming_ical")
|
url = urlreverse("ietf.meeting.views.upcoming_ical")
|
||||||
r = self.client.get(url)
|
r = self.client.get(url)
|
||||||
self.assertEqual(r.status_code, 200)
|
self.assertEqual(r.status_code, 200)
|
||||||
|
@ -1520,7 +1520,7 @@ class InterimTests(TestCase):
|
||||||
|
|
||||||
|
|
||||||
def test_upcoming_json(self):
|
def test_upcoming_json(self):
|
||||||
make_meeting_test_data()
|
make_meeting_test_data(create_interims=True)
|
||||||
url = urlreverse("ietf.meeting.views.upcoming_json")
|
url = urlreverse("ietf.meeting.views.upcoming_json")
|
||||||
r = self.client.get(url)
|
r = self.client.get(url)
|
||||||
self.assertEqual(r.status_code, 200)
|
self.assertEqual(r.status_code, 200)
|
||||||
|
@ -1884,7 +1884,7 @@ class InterimTests(TestCase):
|
||||||
|
|
||||||
|
|
||||||
def test_interim_pending(self):
|
def test_interim_pending(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
url = urlreverse('ietf.meeting.views.interim_pending')
|
url = urlreverse('ietf.meeting.views.interim_pending')
|
||||||
count = len(set(s.meeting_id for s in add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim')).filter(current_status='apprw')))
|
count = len(set(s.meeting_id for s in add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim')).filter(current_status='apprw')))
|
||||||
|
|
||||||
|
@ -1903,7 +1903,7 @@ class InterimTests(TestCase):
|
||||||
|
|
||||||
|
|
||||||
def test_can_approve_interim_request(self):
|
def test_can_approve_interim_request(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
# unprivileged user
|
# unprivileged user
|
||||||
user = User.objects.get(username='plain')
|
user = User.objects.get(username='plain')
|
||||||
group = Group.objects.get(acronym='mars')
|
group = Group.objects.get(acronym='mars')
|
||||||
|
@ -1926,7 +1926,7 @@ class InterimTests(TestCase):
|
||||||
self.assertFalse(can_approve_interim_request(meeting=meeting,user=user))
|
self.assertFalse(can_approve_interim_request(meeting=meeting,user=user))
|
||||||
|
|
||||||
def test_can_view_interim_request(self):
|
def test_can_view_interim_request(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
# unprivileged user
|
# unprivileged user
|
||||||
user = User.objects.get(username='plain')
|
user = User.objects.get(username='plain')
|
||||||
group = Group.objects.get(acronym='mars')
|
group = Group.objects.get(acronym='mars')
|
||||||
|
@ -1971,7 +1971,7 @@ class InterimTests(TestCase):
|
||||||
self.assertFalse(can_manage_group(user=user,group=group))
|
self.assertFalse(can_manage_group(user=user,group=group))
|
||||||
|
|
||||||
def test_interim_request_details(self):
|
def test_interim_request_details(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
|
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
|
||||||
login_testing_unauthorized(self,"secretary",url)
|
login_testing_unauthorized(self,"secretary",url)
|
||||||
|
@ -2005,7 +2005,7 @@ class InterimTests(TestCase):
|
||||||
self.assertEqual(len(q("a.btn:contains('Announce')")),2)
|
self.assertEqual(len(q("a.btn:contains('Announce')")),2)
|
||||||
|
|
||||||
def test_interim_request_disapprove(self):
|
def test_interim_request_disapprove(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
|
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
|
||||||
login_testing_unauthorized(self,"secretary",url)
|
login_testing_unauthorized(self,"secretary",url)
|
||||||
|
@ -2015,7 +2015,7 @@ class InterimTests(TestCase):
|
||||||
self.assertEqual(session.current_status,'disappr')
|
self.assertEqual(session.current_status,'disappr')
|
||||||
|
|
||||||
def test_interim_request_cancel(self):
|
def test_interim_request_cancel(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
|
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
|
||||||
self.client.login(username="marschairman", password="marschairman+password")
|
self.client.login(username="marschairman", password="marschairman+password")
|
||||||
|
@ -2051,7 +2051,7 @@ class InterimTests(TestCase):
|
||||||
|
|
||||||
def test_interim_request_edit_no_notice(self):
|
def test_interim_request_edit_no_notice(self):
|
||||||
'''Edit a request. No notice should go out if it hasn't been announced yet'''
|
'''Edit a request. No notice should go out if it hasn't been announced yet'''
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
group = meeting.session_set.first().group
|
group = meeting.session_set.first().group
|
||||||
url = urlreverse('ietf.meeting.views.interim_request_edit', kwargs={'number': meeting.number})
|
url = urlreverse('ietf.meeting.views.interim_request_edit', kwargs={'number': meeting.number})
|
||||||
|
@ -2089,7 +2089,7 @@ class InterimTests(TestCase):
|
||||||
|
|
||||||
def test_interim_request_edit(self):
|
def test_interim_request_edit(self):
|
||||||
'''Edit request. Send notice of change'''
|
'''Edit request. Send notice of change'''
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='sched').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='sched').first().meeting
|
||||||
group = meeting.session_set.first().group
|
group = meeting.session_set.first().group
|
||||||
url = urlreverse('ietf.meeting.views.interim_request_edit', kwargs={'number': meeting.number})
|
url = urlreverse('ietf.meeting.views.interim_request_edit', kwargs={'number': meeting.number})
|
||||||
|
@ -2135,7 +2135,7 @@ class InterimTests(TestCase):
|
||||||
return fmt.format(**d)
|
return fmt.format(**d)
|
||||||
|
|
||||||
def test_interim_request_details_permissions(self):
|
def test_interim_request_details_permissions(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
|
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
|
||||||
|
|
||||||
|
@ -2145,7 +2145,7 @@ class InterimTests(TestCase):
|
||||||
self.assertEqual(r.status_code, 403)
|
self.assertEqual(r.status_code, 403)
|
||||||
|
|
||||||
def test_send_interim_approval_request(self):
|
def test_send_interim_approval_request(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
|
||||||
length_before = len(outbox)
|
length_before = len(outbox)
|
||||||
send_interim_approval_request(meetings=[meeting])
|
send_interim_approval_request(meetings=[meeting])
|
||||||
|
@ -2153,7 +2153,7 @@ class InterimTests(TestCase):
|
||||||
self.assertIn('New Interim Meeting Request', outbox[-1]['Subject'])
|
self.assertIn('New Interim Meeting Request', outbox[-1]['Subject'])
|
||||||
|
|
||||||
def test_send_interim_cancellation_notice(self):
|
def test_send_interim_cancellation_notice(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='sched').first().meeting
|
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='sched').first().meeting
|
||||||
length_before = len(outbox)
|
length_before = len(outbox)
|
||||||
send_interim_cancellation_notice(meeting=meeting)
|
send_interim_cancellation_notice(meeting=meeting)
|
||||||
|
@ -2172,7 +2172,7 @@ class InterimTests(TestCase):
|
||||||
|
|
||||||
|
|
||||||
def test_group_ical(self):
|
def test_group_ical(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = Meeting.objects.filter(type='interim', session__group__acronym='mars').first()
|
meeting = Meeting.objects.filter(type='interim', session__group__acronym='mars').first()
|
||||||
s1 = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
s1 = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||||
a1 = s1.official_timeslotassignment()
|
a1 = s1.official_timeslotassignment()
|
||||||
|
@ -2260,7 +2260,7 @@ class IphoneAppJsonTests(TestCase):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def test_iphone_app_json_interim(self):
|
def test_iphone_app_json_interim(self):
|
||||||
make_meeting_test_data()
|
make_interim_test_data()
|
||||||
meeting = Meeting.objects.filter(type_id='interim').order_by('id').last()
|
meeting = Meeting.objects.filter(type_id='interim').order_by('id').last()
|
||||||
url = urlreverse('ietf.meeting.views.agenda_json',kwargs={'num':meeting.number})
|
url = urlreverse('ietf.meeting.views.agenda_json',kwargs={'num':meeting.number})
|
||||||
r = self.client.get(url)
|
r = self.client.get(url)
|
||||||
|
|
Loading…
Reference in a new issue