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")
Пример #2
0
    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")
Пример #3
0
    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")
Пример #7
0
    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!")
Пример #8
0
    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")
Пример #10
0
    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!"
Пример #11
0
    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")
Пример #12
0
    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)!")