def test_delete_account_after_TA_assign(self): tester = models.User() tester.email = "*****@*****.**" tester.password = "******" tester.type = "TA" tester.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() lab = models.Lab() lab.TA = tester.email lab.course = course lab.lab_section = 499 lab.save() self.assertEqual(Commands.delete_account("*****@*****.**"), "[email protected] has been deleted successfully") self.assertEqual(len(models.User.objects.filter(email="*****@*****.**")), 0) self.assertEqual(models.Lab.objects.get(lab_section=499).TA, "no TA")
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 create_course(department, course_id, num_lectures, num_labs): good_dept = [ "COMPSCI", "ELECENG", "PHYSICS", "MATH", "BIOMED", "CIVIL", "INDENG", "MATENG", "MECHENG", "STRUCENG", "WEBDEV" ] if department not in good_dept: return "That department is not offered" if not course_id.isdigit(): return "Course ID must be a number" if int(course_id) < 101 or int(course_id) > 999: return "Course ID must be 3 digits long and between 101 and 999" if not num_labs.isdigit(): return "Number of lab sections must be a number" if not num_lectures.isdigit(): return "Number of lecture sections must be a number" if int(num_labs) < 0 or int(num_labs) > 5: return "Number of lab sections cannot be less than 0 or greater than 5" if int(num_lectures) < 1 or int(num_lectures) > 5: return "Number of lecture sections cannot be less than 1 or greater than 5" try: find_course = models.Course.objects.get( course_department=department, course_id=course_id) except models.Course.DoesNotExist: find_course = "none" if find_course != "none": return "Course already exists" some_course = models.Course() some_course.course_department = department some_course.course_id = course_id some_course.course_dept_id = department + str(course_id) some_course.num_lectures = num_lectures some_course.num_labs = num_labs some_course.save() for i in range(int(num_labs)): lab = models.Lab() lab.lab_section = 801 + i lab.course = some_course lab.save() for i in range(int(num_lectures)): lec = models.Lecture() if int(num_labs) == 0: temp = 1 + i lec.lecture_section = "00" + str(temp) else: lec.lecture_section = 401 + i lec.course = some_course lec.save() return "Course created successfully"
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() 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': "801" }, follow="true") self.assertEqual(response.status_code, 200) self.assertContains(response, "Assign TA to Labs/Lectures") self.assertContains(response, "no such ta")
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() client = Client() session = client.session session['email'] = '*****@*****.**' session['type'] = 'supervisor' session.save() response = client.post('/assign_ta_lablec/', data={ 'email': "*****@*****.**", 'course_id': "301", 'course_department': "COMPSCI", 'course_section': "801" }, follow="true") self.assertEqual(response.status_code, 200) self.assertContains(response, "Assign TA") self.assertContains(response, "TA Assigned to Lab!")
def setUp(self): course1 = models.Course() course1.course_department = "COMPSCI" course1.course_id = 361 course1.num_lectures = 1 course1.num_labs = 1 course1.save() lec1 = models.Lecture() lec1.course = course1 lec1.lecture_section = "401" lec1.lecture_location = "Somewhere" lec1.lecture_time = datetime.time(12, 00) lec1.save() lab1 = models.Lab() lab1.course = course1 lab1.lab_section = "801" lab1.lab_location = "Somewhere" lab1.lab_time = datetime.time(12, 00) lab1.save()
def test_access_info_ta_course_lab_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.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('/ta/[email protected]/') self.assertContains(response, "Labs") self.assertContains(response, "COMPSCI100-801")
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")