def test_access_info_ta_course_tapage(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.name = "Ted" ta1.save() course1 = models.Course() course1.course_department = "COMPSCI" course1.course_id = "100" course1.course_dept_id = "COMPSCI100" course1.ta = "*****@*****.**" course1.save() ta1_course1 = models.TACourse() ta1_course1.TA = ta1 ta1_course1.course = course1 ta1_course1.save() client = Client() session = client.session session['email'] = '*****@*****.**' session['type'] = 'administrator' session.save() response = client.get('/access_info/') self.assertEqual(response.status_code, 200) response = client.get('/ta/[email protected]/') self.assertContains(response, "TA: Ted") self.assertContains(response, "COMPSCI100")
def test_no_such_lab_or_lec_sup(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() sup1 = models.User() sup1.email = "*****@*****.**" sup1.type = "supervisor" sup1.save() course = models.Course() course.num_labs = 0 course.current_num_TA = 0 course.num_lectures = 1 course.instructor = "DEFAULT" course.course_id = "301" course.course_department = "COMPSCI" course.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lecture() lec.course = course lec.lecture_section = "401" lec.save() response = Commands.assign_ta_to_lablec(sup1.email, ta1.email, course.course_id, "804", course.course_department) self.assertEqual(response, "No Such Lab or Lecture")
def test_super_post_lab(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() sup1 = models.User() sup1.email = "*****@*****.**" sup1.type = "supervisor" sup1.save() course = models.Course() course.num_labs = 2 course.current_num_TA = 1 course.num_lectures = 1 course.instructor = "DEFAULT" course.course_id = "301" course.course_department = "COMPSCI" course.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lab() lec.course = course lec.lab_section = "801" lec.save() response = Commands.assign_ta_to_lablec(sup1.email, ta1.email, course.course_id, lec.lab_section, course.course_department) self.assertEqual(response, "TA Assigned to Lab!")
def test_improper_admin_ins(self): ad1 = models.User() ad1.email = "*****@*****.**" ad1.type = "administrator" ad1.save() sup1 = models.User() sup1.email = "*****@*****.**" sup1.type = "supervisor" sup1.save() ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() inst1 = models.User() inst1.email = "*****@*****.**" inst1.type = "instructor" inst1.save() course = models.Course() course.num_labs = 0 course.current_num_TA = 1 course.num_lectures = 1 course.course_id = "301" course.course_department = "COMPSCI" course.save() inscourse = models.InstructorCourse() inscourse.instructor = inst1 inscourse.course = course inscourse.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lecture() lec.course = course lec.lecture_section = "401" lec.save() client = Client() session = client.session session['email'] = '*****@*****.**' session['type'] = 'instructor' session.save() response = client.post('/assign_ta_lablec/', data={ 'email': "*****@*****.**", 'course_id': "301", 'course_department': "COMPSCI", 'course_section': "401" }, follow="true") self.assertEqual(response.status_code, 200) self.assertContains(response, "Assign TA to Labs/Lectures") self.assertContains(response, "no such ta")
def test_ta_not_assigned_sup(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() sup1 = models.User() sup1.email = "*****@*****.**" sup1.type = "supervisor" sup1.save() course = models.Course() course.num_labs = 0 course.current_num_TA = 0 course.num_lectures = 1 course.instructor = "DEFAULT" course.course_id = "301" course.course_department = "COMPSCI" course.save() course1 = models.Course() course1.num_labs = 0 course1.current_num_TA = 0 course1.num_lectures = 1 course1.instructor = "DEFAULT" course1.course_id = "302" course1.course_department = "COMPSCI" course1.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lecture() lec.course = course lec.lecture_section = "401" lec.save() client = Client() session = client.session session['email'] = '*****@*****.**' session['type'] = 'supervisor' session.save() response = client.post('/assign_ta_lablec/', data={ 'email': "*****@*****.**", 'course_id': "302", 'course_department': "COMPSCI", 'course_section': "401" }, follow="true") self.assertEqual(response.status_code, 200) self.assertContains(response, "Assign TA") self.assertContains(response, "TA not assigned to this course!")
def test_not_assigned_to_course_ins(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() inst1 = models.User() inst1.email = "*****@*****.**" inst1.type = "instructor" inst1.save() inst3 = models.User() inst3.email = "*****@*****.**" inst3.type = "instructor" inst3.save() course = models.Course() course.num_labs = 0 course.current_num_TA = 1 course.num_lectures = 1 course.course_id = "301" course.course_department = "COMPSCI" course.save() inscourse = models.InstructorCourse() inscourse.instructor = inst1 inscourse.course = course inscourse.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lecture() lec.course = course lec.lecture_section = "401" lec.save() client = Client() session = client.session session['email'] = '*****@*****.**' session['type'] = 'instructor' session.save() response = client.post('/assign_ta_lablec/', data={ 'email': "*****@*****.**", 'course_id': "301", 'course_department': "COMPSCI", 'course_section': "401" }, follow="true") self.assertEqual(response.status_code, 200) self.assertContains(response, "Assign TA to Labs/Lectures") self.assertContains(response, "You are not assigned to this course")
def test_ta_not_assigned_ins(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() inst1 = models.User() inst1.email = "*****@*****.**" inst1.type = "instructor" inst1.save() course = models.Course() course.num_labs = 0 course.current_num_TA = 1 course.num_lectures = 1 course.course_id = "301" course.course_department = "COMPSCI" course.save() course1 = models.Course() course1.num_labs = 0 course1.current_num_TA = 0 course1.num_lectures = 1 course1.instructor = "DEFAULT" course1.course_id = "302" course1.course_department = "COMPSCI" course1.save() inscourse = models.InstructorCourse() inscourse.instructor = inst1 inscourse.course = course inscourse.save() inscourse1 = models.InstructorCourse() inscourse1.instructor = inst1 inscourse1.course = course1 inscourse1.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lecture() lec.course = course lec.lecture_section = "401" lec.save() response = Commands.assign_ta_to_lablec(inst1.email, ta1.email, course1.course_id, lec.lecture_section, course.course_department) self.assertEqual(response, "TA not assigned to this course!")
def test_improper_admin_ins(self): ad1 = models.User() ad1.email = "*****@*****.**" ad1.type = "administrator" ad1.save() sup1 = models.User() sup1.email = "*****@*****.**" sup1.type = "supervisor" sup1.save() ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() inst1 = models.User() inst1.email = "*****@*****.**" inst1.type = "instructor" inst1.save() course = models.Course() course.num_labs = 0 course.current_num_TA = 1 course.num_lectures = 1 course.course_id = "301" course.course_department = "COMPSCI" course.save() inscourse = models.InstructorCourse() inscourse.instructor = inst1 inscourse.course = course inscourse.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lecture() lec.course = course lec.lecture_section = "401" lec.save() response = Commands.assign_ta_to_lablec(inst1.email, ad1.email, course.course_id, lec.lecture_section, course.course_department) self.assertEqual(response, "no such ta")
def test_access_info_ta_course_lab_coursepage(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.name = "Ted" ta1.save() course1 = models.Course() course1.course_department = "COMPSCI" course1.course_id = "100" course1.course_dept_id = "COMPSCI100" course1.TA = "*****@*****.**" course1.num_labs = 1 course1.current_num_labs = 1 course1.save() ta1_course1 = models.TACourse() ta1_course1.TA = ta1 ta1_course1.course = course1 ta1_course1.save() lecture1 = models.Lab() lecture1.TA = "*****@*****.**" lecture1.course = course1 lecture1.lab_section = "801" lecture1.save() client = Client() session = client.session session['email'] = '*****@*****.**' session['type'] = 'administrator' session.save() response = client.get('/access_info/') self.assertEqual(response.status_code, 200) response = client.get('/course/COMPSCI100/') self.assertContains(response, "Labs") self.assertContains(response, "COMPSCI100-801")
def assign_ta_to_course(email, course_id, course_department): try: check_ta = models.User.objects.get(email=email, type="ta") except models.User.DoesNotExist: check_ta = None if check_ta is None: return "no such ta" try: check_course = models.Course.objects.get( course_id=course_id, course_department=course_department) except models.Course.DoesNotExist: check_course = None if check_course is None: return "no such course" else: try: check_exist = models.TACourse.objects.get(course=check_course, TA=check_ta) except models.TACourse.DoesNotExist: check_exist = None if check_exist is None: numta = check_course.current_num_TA numlec = check_course.num_lectures if check_course.num_labs != 0 and numta + 1 > check_course.num_labs: return "Too Many TA's Assigned" elif numta + 1 > numlec and check_course.num_labs == 0: return "Too Many TA's Assigned" models.Course.objects.filter(course_id=course_id, course_department=course_department).\ update(current_num_TA=numta+1) ta_course = models.TACourse() ta_course.TA = check_ta ta_course.course = check_course ta_course.save() return "TA Assigned!" else: return "TA Already Assigned!"
def test_assign_improper_ins_ins(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() inst1 = models.User() inst1.email = "*****@*****.**" inst1.type = "instructor" inst1.save() course = models.Course() course.num_labs = 2 course.current_num_TA = 1 course.num_lectures = 1 course.course_id = "301" course.course_department = "COMPSCI" course.save() inscourse = models.InstructorCourse() inscourse.instructor = inst1 inscourse.course = course inscourse.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lab() lec.course = course lec.lab_section = "801" lec.save() response = Commands.assign_ta_to_lablec(inst1.email, inst1.email, course.course_id, lec.lab_section, course.course_department) self.assertEqual(response, "no such ta")
def test_invalid_lec_assign_sup(self): ta1 = models.User() ta1.email = "*****@*****.**" ta1.type = "ta" ta1.save() sup1 = models.User() sup1.email = "*****@*****.**" sup1.type = "supervisor" sup1.save() course = models.Course() course.num_labs = 2 course.current_num_TA = 0 course.num_lectures = 1 course.instructor = "DEFAULT" course.course_id = "301" course.course_department = "COMPSCI" course.save() tacourse = models.TACourse() tacourse.TA = ta1 tacourse.course = course tacourse.save() lec = models.Lecture() lec.course = course lec.lecture_section = "401" lec.save() response = Commands.assign_ta_to_lablec(sup1.email, ta1.email, course.course_id, lec.lecture_section, course.course_department) self.assertEqual(response, "TA cannot be assigned to this lecture(labs exist)!")