Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
tug.config[f] = {'weekly': 1, 'total': 13, 'note': 'somenote'}
tug.save()
test_views(self, c, 'ta.views.', ['view_tug', 'edit_tug'], {'course_slug': offering.slug, 'userid': ta.person.userid})
# admin views
c.login_user('dzhao')
test_views(self, c, 'ta.views.', ['all_tugs_admin', 'view_postings'], {})
post = TAPosting.objects.filter(unit__label='CMPT')[0]
test_views(self, c, 'ta.views.', ['new_application', 'new_application_manual', 'view_all_applications',
'print_all_applications', 'print_all_applications_by_course', 'view_late_applications',
'assign_tas', 'all_contracts'],
{'post_slug': post.slug})
test_views(self, c, 'ta.views.', ['assign_bus'],
{'post_slug': post.slug, 'course_slug': offering.slug})
contr = TAContract.objects.filter(posting=post)[0]
test_views(self, c, 'ta.views.', ['edit_application', 'view_application', 'preview_offer', 'view_contract',
'edit_contract'],
{'post_slug': post.slug, 'userid': contr.application.person.userid})
# applicant views
c.login_user(contr.application.person.userid)
test_views(self, c, 'ta.views.', ['accept_contract'],
{'post_slug': post.slug, 'userid': contr.application.person.userid})
c.login_user('dzhao')
offering = CourseOffering.objects.get(slug=TEST_COURSE_SLUG)
ta = Member.objects.filter(offering=offering, role="TA")[0]
test_views(self, c, 'ta.views.', ['new_tug'], {'course_slug': offering.slug, 'userid': ta.person.userid})
# create TUG to view/edit
tug = TUG(member=ta, base_units=5)
for f in tug.config_meta.keys():
tug.config[f] = {'weekly': 1, 'total': 13, 'note': 'somenote'}
tug.save()
test_views(self, c, 'ta.views.', ['view_tug', 'edit_tug'], {'course_slug': offering.slug, 'userid': ta.person.userid})
# admin views
c.login_user('dzhao')
test_views(self, c, 'ta.views.', ['all_tugs_admin', 'view_postings'], {})
post = TAPosting.objects.filter(unit__label='CMPT')[0]
test_views(self, c, 'ta.views.', ['new_application', 'new_application_manual', 'view_all_applications',
'print_all_applications', 'print_all_applications_by_course', 'view_late_applications',
'assign_tas', 'all_contracts'],
{'post_slug': post.slug})
test_views(self, c, 'ta.views.', ['assign_bus'],
{'post_slug': post.slug, 'course_slug': offering.slug})
contr = TAContract.objects.filter(posting=post)[0]
test_views(self, c, 'ta.views.', ['edit_application', 'view_application', 'preview_offer', 'view_contract',
'edit_contract'],
{'post_slug': post.slug, 'userid': contr.application.person.userid})
# applicant views
c.login_user(contr.application.person.userid)
test_views(self, c, 'ta.views.', ['accept_contract'],
{'post_slug': post.slug, 'userid': contr.application.person.userid})
def test_application(self):
p = Person.objects.get(emplid=210012345)
s = Semester.objects.get(name="1077")
unit = Unit.objects.get(label="CMPT")
d = CourseDescription(unit=unit, description="Lab TA", labtut=True)
d.save()
d = CourseDescription(unit=unit, description="Office Hours", labtut=False)
d.save()
#Create posting that closes in a long time so no applications are late
posting = TAPosting(semester=s, unit=unit,opens=date(2007,9,4), closes=date(2099,9,4))
posting.config['accounts'] = [a.id for a in Account.objects.all()]
posting.config['start'] = date(2100,10,10)
posting.config['end'] = date(2101,10,10)
posting.config['deadline'] = date(2099,9,20)
posting.save()
#Create application for posting as well as campus and course preferences
app = TAApplication(posting=posting, person=p, category="UTA", base_units=2, sin="123123123", course_load="No Other Courses")
app.save()
cp1 = CampusPreference(app=app, campus="BRNBY", pref="PRF")
cp2 = CampusPreference(app=app, campus="SURRY", pref="NOT")
cp1.save()
cp2.save()
c1 = Course.objects.get(subject="CMPT", number="120")
for p in Person.objects.filter(last_name='Grad'):
app = TAApplication(posting=post, person=p, category=random.choice(['GTA1','GTA2']), current_program='CMPT', sin='123456789',
base_units=random.choice([3,4,5]))
app.save()
will_ta = []
for i,o in enumerate(random.sample(offerings, 5)):
t = random.choice(TAKEN_CHOICES)[0]
e = random.choice(EXPER_CHOICES)[0]
cp = CoursePreference(app=app, course=o.course, rank=i+1, taken=t, exper=e)
cp.save()
if random.random() < 0.07*(5-i):
will_ta.append(o)
if will_ta and random.random() < 0.75:
c = TAContract(status=random.choice(['NEW','OPN','ACC']))
c.first_assign(app, post)
c.save()
for o in will_ta:
tac = TACourse(course=o, contract=c, bu=app.base_units)
tac.description = tac.default_description()
tac.save()
# RAs
s = Semester.current()
superv = list(m.person for m in Member.objects.filter(role='INST').select_related('person'))
empl = list(itertools.chain(Person.objects.filter(last_name='Grad'),
random.sample(list(Person.objects.filter(last_name='Student')), 10)))
cats = [c for c,d in HIRING_CATEGORY_CHOICES if c not in HIRING_CATEGORY_DISABLED]
config = SemesterConfig.get_config([unit], s)
acct = Account(account_number=12349, position_number=12349, title='NSERC RA', unit=unit)
will_ta = []
for i,o in enumerate(random.sample(offerings, 5)):
t = random.choice(TAKEN_CHOICES)[0]
e = random.choice(EXPER_CHOICES)[0]
cp = CoursePreference(app=app, course=o.course, rank=i+1, taken=t, exper=e)
cp.save()
if random.random() < 0.07*(5-i):
will_ta.append(o)
if will_ta and random.random() < 0.75:
c = TAContract(status=random.choice(['NEW','OPN','ACC']))
c.first_assign(app, post)
c.save()
for o in will_ta:
tac = TACourse(course=o, contract=c, bu=app.base_units)
tac.description = tac.default_description()
tac.save()
# RAs
s = Semester.current()
superv = list(m.person for m in Member.objects.filter(role='INST').select_related('person'))
empl = list(itertools.chain(Person.objects.filter(last_name='Grad'),
random.sample(list(Person.objects.filter(last_name='Student')), 10)))
cats = [c for c,d in HIRING_CATEGORY_CHOICES if c not in HIRING_CATEGORY_DISABLED]
config = SemesterConfig.get_config([unit], s)
acct = Account(account_number=12349, position_number=12349, title='NSERC RA', unit=unit)
acct.save()
proj1 = Project(project_number=987654, fund_number=31, unit=unit)
proj1.save()
proj2 = Project(project_number=876543, fund_number=13, unit=unit)
**payargs)
ra.set_use_hourly(random.choice([True, False]))
ra.save()
return itertools.chain(
[r1, r2],
Account.objects.all(),
Project.objects.all(),
SemesterConfig.objects.all(),
RAAppointment.objects.all(),
TAPosting.objects.all(),
CourseDescription.objects.all(),
TAApplication.objects.all(),
CoursePreference.objects.all(),
TAContract.objects.all(),
TACourse.objects.all(),
)
post.opens = s.start - datetime.timedelta(100)
post.closes = s.start - datetime.timedelta(20)
post.set_salary([972,972,972,972])
post.set_scholarship([135,340,0,0])
post.set_accounts([Account.objects.get(account_number=12345).id, Account.objects.get(account_number=12346).id, Account.objects.get(account_number=12347).id, Account.objects.get(account_number=12348).id])
post.set_start(s.start)
post.set_end(s.end)
post.set_deadline(s.start - datetime.timedelta(10))
post.set_payperiods(7.5)
post.set_contact(admin.id)
post.set_offer_text("This is **your** TA öffer.\n\nThere are various conditions that are töö numerous to list here.")
post.save()
offerings = list(post.selectable_offerings())
for p in Person.objects.filter(last_name='Grad'):
app = TAApplication(posting=post, person=p, category=random.choice(['GTA1','GTA2']), current_program='CMPT', sin='123456789',
base_units=random.choice([3,4,5]))
app.save()
will_ta = []
for i,o in enumerate(random.sample(offerings, 5)):
t = random.choice(TAKEN_CHOICES)[0]
e = random.choice(EXPER_CHOICES)[0]
cp = CoursePreference(app=app, course=o.course, rank=i+1, taken=t, exper=e)
cp.save()
if random.random() < 0.07*(5-i):
will_ta.append(o)
if will_ta and random.random() < 0.75:
c = TAContract(status=random.choice(['NEW','OPN','ACC']))
c.first_assign(app, post)
c.save()
ra = RAAppointment(person=p, sin=123456789, hiring_faculty=s, unit=unit, hiring_category=c,
project=random.choice([proj1,proj2]), account=acct, pay_frequency=freq,
start_date=config.start_date(), end_date=config.end_date(),
**payargs)
ra.set_use_hourly(random.choice([True, False]))
ra.save()
return itertools.chain(
[r1, r2],
Account.objects.all(),
Project.objects.all(),
SemesterConfig.objects.all(),
RAAppointment.objects.all(),
TAPosting.objects.all(),
CourseDescription.objects.all(),
TAApplication.objects.all(),
CoursePreference.objects.all(),
TAContract.objects.all(),
TACourse.objects.all(),
)
unit = Unit.objects.get(label="CMPT")
d = CourseDescription(unit=unit, description="Lab TA", labtut=True)
d.save()
d = CourseDescription(unit=unit, description="Office Hours", labtut=False)
d.save()
#Create posting that closes in a long time so no applications are late
posting = TAPosting(semester=s, unit=unit,opens=date(2007,9,4), closes=date(2099,9,4))
posting.config['accounts'] = [a.id for a in Account.objects.all()]
posting.config['start'] = date(2100,10,10)
posting.config['end'] = date(2101,10,10)
posting.config['deadline'] = date(2099,9,20)
posting.save()
#Create application for posting as well as campus and course preferences
app = TAApplication(posting=posting, person=p, category="UTA", base_units=2, sin="123123123", course_load="No Other Courses")
app.save()
cp1 = CampusPreference(app=app, campus="BRNBY", pref="PRF")
cp2 = CampusPreference(app=app, campus="SURRY", pref="NOT")
cp1.save()
cp2.save()
c1 = Course.objects.get(subject="CMPT", number="120")
course1 = CoursePreference(app=app, course=c1, taken="YES", exper="FAM", rank=1)
course1.save()
#Login a ta admin
client = Client()
userid = Role.objects.filter(role="TAAD")[0].person.userid
client.login_user(userid)
from ta.models import CourseDescription, TAPosting, TAApplication, CoursePreference, TAContract, TACourse
from ta.models import TAKEN_CHOICES, EXPER_CHOICES
from ra.models import Account, Project, SemesterConfig, RAAppointment
from ra.models import HIRING_CATEGORY_CHOICES, HIRING_CATEGORY_DISABLED
# TAs
d = Person.objects.get(userid='dzhao')
unit = Unit.objects.get(slug='cmpt')
r1 = Role(person=d, role='TAAD', unit=unit, expiry=role_expiry)
r1.save()
r2 = Role(person=d, role='FUND', unit=unit, expiry=role_expiry)
r2.save()
s = Semester.current().next_semester()
admin = Person.objects.get(userid='dixon')
CourseDescription(unit=unit, description="Office/Marking", labtut=False).save()
CourseDescription(unit=unit, description="Office/Marking/Lab", labtut=True).save()
a = Account(account_number=12345, position_number=12345, title='MSc TA', unit=unit)
a.save()
a = Account(account_number=12346, position_number=12346, title='PhD TA', unit=unit)
a.save()
a = Account(account_number=12347, position_number=12347, title='External TA', unit=unit)
a.save()
a = Account(account_number=12348, position_number=12348, title='Undergrad TA', unit=unit)
a.save()
post = TAPosting(semester=s, unit=unit)
post.opens = s.start - datetime.timedelta(100)
post.closes = s.start - datetime.timedelta(20)
post.set_salary([972,972,972,972])
post.set_scholarship([135,340,0,0])