def test_not_assigned_course(self):
        inst1 = models.User()
        inst1.email = "*****@*****.**"
        inst1.type = "instructor"
        inst1.save()

        inst2 = models.User()
        inst2.email = "*****@*****.**"
        inst2.type = "instructor"
        inst2.save()

        course = models.Course()
        course.num_labs = 2
        course.current_num_TA = 0
        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()

        lec = models.Lecture()
        lec.course = course
        lec.lecture_section = "401"
        lec.save()

        response = Commands.assign_instructor_to_lec(inst2.email,
                                                     course.course_id,
                                                     lec.lecture_section,
                                                     course.course_department)
        self.assertEqual(response, "Instructor not assigned to this course!")
예제 #2
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_each_user(self):
        ad1 = models.User()
        ad1.email = "*****@*****.**"
        ad1.password = "******"
        ad1.type = "administrator"
        ad1.save()

        sup1 = models.User()
        sup1.email = "*****@*****.**"
        sup1.password = "******"
        sup1.type = "supervisor"
        sup1.save()

        inst1 = models.User()
        inst1.email = "*****@*****.**"
        inst1.password = "******"
        inst1.type = "instructor"
        inst1.save()

        ta1 = models.User()
        ta1.email = "*****@*****.**"
        ta1.password = "******"
        ta1.type = "ta"
        ta1.save()

        lists = Commands.access_info()
        users = lists[0]
        self.assertTrue(ad1 in users)
        self.assertTrue(sup1 in users)
        self.assertTrue(inst1 in users)
        self.assertTrue(ta1 in users)
    def test_assign_improper_sup(self):
        sup1 = models.User()
        sup1.email = "*****@*****.**"
        sup1.type = "supervisor"
        sup1.save()

        inst1 = models.User()
        inst1.email = "*****@*****.**"
        inst1.type = "instructor"
        inst1.save()

        course = models.Course()
        course.num_labs = 2
        course.current_num_TA = 0
        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()

        lec = models.Lecture()
        lec.course = course
        lec.lecture_section = "401"
        lec.save()

        response = Commands.assign_instructor_to_lec(sup1.email,
                                                     course.course_id,
                                                     lec.lecture_section,
                                                     course.course_department)
        self.assertEqual(response, "no such instructor")
    def setUp(self):
        admin = models.User()
        admin.email = "*****@*****.**"
        admin.type = "administrator"
        admin.save()

        supervisor = models.User()
        supervisor.email = "*****@*****.**"
        supervisor.type = "supervisor"
        supervisor.save()

        instructor = models.User()
        instructor.email = "*****@*****.**"
        instructor.password = "******"
        instructor.name = "DEFAULT"
        instructor.phone = "000.000.0000"
        instructor.type = "instructor"
        instructor.isLoggedOn = False
        instructor.save()

        ta = models.User()
        ta.email = "*****@*****.**"
        ta.password = "******"
        ta.name = "DEFAULT"
        ta.phone = "000.000.0000"
        ta.type = "ta"
        ta.isLoggedOn = False
        ta.save()
 def test_assign_ta_too_many(self):
     ta1 = models.User()
     ta1.email = "*****@*****.**"
     ta1.type = "ta"
     ta1.save()
     ta2 = models.User()
     ta2.email = "*****@*****.**"
     ta2.type = "ta"
     ta2.save()
     ta3 = models.User()
     ta3.email = "*****@*****.**"
     ta3.type = "ta"
     ta3.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()
     proper = Commands.assign_ta_to_course(ta1.email, course.course_id,
                                           course.course_department)
     self.assertEqual(proper, "TA Assigned!")
     proper = Commands.assign_ta_to_course(ta2.email, course.course_id,
                                           course.course_department)
     self.assertEqual(proper, "TA Assigned!")
     proper = Commands.assign_ta_to_course(ta3.email, course.course_id,
                                           course.course_department)
     self.assertEqual(proper, "Too Many TA's Assigned")
    def test_each_user(self):
        ad1 = models.User()
        ad1.email = "*****@*****.**"
        ad1.password = "******"
        ad1.type = "administrator"
        ad1.save()

        sup1 = models.User()
        sup1.email = "*****@*****.**"
        sup1.password = "******"
        sup1.type = "supervisor"
        sup1.save()

        inst1 = models.User()
        inst1.email = "*****@*****.**"
        inst1.password = "******"
        inst1.type = "instructor"
        inst1.save()

        ta1 = models.User()
        ta1.email = "*****@*****.**"
        ta1.password = "******"
        ta1.type = "ta"
        ta1.save()

        users = Commands.read_public()
        self.assertEquals(users[0], ad1)
        self.assertEquals(users[1], sup1)
        self.assertEquals(users[2], inst1)
        self.assertEquals(users[3], ta1)
예제 #8
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")
    def test_multi_users(self):

        ad1 = models.User()
        ad1.email = "*****@*****.**"
        ad1.password = "******"
        ad1.type = "administrator"
        ad1.save()

        sup1 = models.User()
        sup1.email = "*****@*****.**"
        sup1.password = "******"
        sup1.type = "supervisor"
        sup1.save()

        client = Client()
        session = client.session
        session['email'] = '*****@*****.**'
        session['type'] = 'administrator'
        session.save()

        response = client.get('/edit_info/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "Edit Info")
        self.assertContains(response, "Current Email:")
        self.assertContains(response, "*****@*****.**")
        all_messages = [msg for msg in get_messages(response.wsgi_request)]
        self.assertEqual(len(all_messages), 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()
        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 setUp(self):
        ad1 = models.User()
        ad1.email = "*****@*****.**"
        ad1.type = "administrator"
        ad1.save()

        sup1 = models.User()
        sup1.email = "*****@*****.**"
        sup1.type = "supervisor"
        sup1.save()
    def setUp(self):
        self.person1 = models.User()
        self.person1.email = "*****@*****.**"
        self.person1.password = "******"
        self.person1.save()

        self.person2 = models.User()
        self.person2.email = "*****@*****.**"
        self.person2.password = "******"
        self.person2.save()
    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_view_info_two_users(self):
        self.person1 = models.User()
        self.person1.email = "*****@*****.**"
        self.person1.password = "******"
        self.person1.save()

        self.person2 = models.User()
        self.person2.email = "*****@*****.**"
        self.person2.password = "******"
        self.person2.save()
        self.assertEquals(Commands.view_info("*****@*****.**"),
                          ["*****@*****.**", "DEFAULT_PASSWORD", "DEFAULT", "000.000.0000", "not set"])
예제 #16
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!")
예제 #17
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_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_admin_super_default(self):
        ad1 = models.User()
        ad1.email = "*****@*****.**"
        ad1.password = "******"
        ad1.type = "administrator"
        ad1.save()

        sup1 = models.User()
        sup1.email = "*****@*****.**"
        sup1.password = "******"
        sup1.type = "supervisor"
        sup1.save()

        users = Commands.read_public()
        self.assertEquals(users[0], ad1)
        self.assertEquals(users[1], sup1)
    def test_add_two_course(self):
        inst1 = models.User()
        inst1.email = "*****@*****.**"
        inst1.type = "instructor"
        inst1.save()

        course = models.Course()
        course.course_department = "COMPSCI"
        course.course_id = "301"
        course.save()

        course2 = models.Course()
        course2.course_department = "COMPSCI"
        course2.course_id = "351"
        course2.save()

        insCourse = models.InstructorCourse()
        insCourse.course = course
        insCourse.instructor = inst1
        insCourse.save()

        insCourse = models.InstructorCourse()
        insCourse.course = course2
        insCourse.instructor = inst1
        insCourse.save()

        response = Commands.view_course_assignments(inst1.email)
        self.assertEqual(response, "COMPSCI: 301 \nCOMPSCI: 351 \n")
    def test_access_info_inst_course_instpage(self):

        inst1 = models.User()
        inst1.email = "*****@*****.**"
        inst1.type = "instructor"
        inst1.name = "Bob"
        inst1.save()

        course1 = models.Course()
        course1.course_department = "COMPSCI"
        course1.course_id = "100"
        course1.course_dept_id = "COMPSCI100"
        course1.instructor = "*****@*****.**"
        course1.save()

        inst1_course1 = models.InstructorCourse()
        inst1_course1.instructor = inst1
        inst1_course1.course = course1
        inst1_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('/instructor/[email protected]/')
        self.assertContains(response, "Instructor: Bob")
        self.assertContains(response, "COMPSCI100")
    def test_add_one_course(self):
        inst1 = models.User()
        inst1.email = "*****@*****.**"
        inst1.type = "instructor"
        inst1.save()

        course = models.Course()
        course.course_department = "COMPSCI"
        course.course_id = "301"
        course.save()

        insCourse = models.InstructorCourse()
        insCourse.course = course
        insCourse.instructor = inst1
        insCourse.save()

        client = Client()
        session = client.session
        session['email'] = '*****@*****.**'
        session['type'] = 'instructor'
        session.save()
        response = client.get('/view_course_assignments/')
        # status code 200, we loaded the correct page
        self.assertEqual(response.status_code, 200)
        # since we returned a render, it has all the content of the page
        # we'll just look for the header
        self.assertContains(response, "Courses Assigned to You:")
        all_messages = [msg for msg in get_messages(response.wsgi_request)]
        # no error messages
        info_string = str(all_messages[0])
        self.assertEqual(info_string, "COMPSCI: 301 \n")
        self.assertEqual(len(all_messages), 1)
    def test_invalid_section(self):
        inst1 = models.User()
        inst1.email = "*****@*****.**"
        inst1.type = "instructor"
        inst1.save()

        course = models.Course()
        course.num_labs = 2
        course.current_num_TA = 0
        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()

        lec = models.Lecture()
        lec.course = course
        lec.lecture_section = "401"
        lec.save()

        response = Commands.assign_instructor_to_lec(inst1.email,
                                                     course.course_id, "402",
                                                     course.course_department)
        self.assertEqual(response, "Lecture section does not exist")
예제 #24
0
    def test_super_post(self):
        ta1 = models.User()
        ta1.email = "*****@*****.**"
        ta1.type = "ta"
        ta1.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()

        client = Client()
        session = client.session
        session['email'] = '*****@*****.**'
        session['type'] = 'supervisor'
        session.save()
        response = client.post('/assign_ta/',
                               data={
                                   'email': "*****@*****.**",
                                   'course_id': "301",
                                   'course_department': "COMPSCI"
                               },
                               follow="true")
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "Assign TA")
        self.assertContains(response, "TA Assigned!")
    def test_user_big_address(self):

        ad1 = models.User()
        ad1.email = "*****@*****.**"
        ad1.password = "******"
        ad1.type = "administrator"
        ad1.address = "123456789123 Longstreetnamed St, Except In The Basement, " \
                      "Really Big Town Name Like So Huge, NY 21221"
        ad1.save()

        client = Client()
        session = client.session
        session['email'] = '*****@*****.**'
        session['type'] = 'administrator'
        session.save()

        response = client.get('/edit_info/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "Edit Info")
        self.assertContains(response, "Current Address:")
        self.assertContains(
            response,
            "123456789123 Longstreetnamed St, Except In The Basement, "
            "Really Big Town Name Like So Huge, NY 21221")
        all_messages = [msg for msg in get_messages(response.wsgi_request)]
        self.assertEqual(len(all_messages), 0)
예제 #26
0
    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_edit_account_bad_field(self):
     tester = models.User()
     tester.email = "*****@*****.**"
     tester.password = "******"
     tester.save()
     self.assertEqual(
         Commands.edit_account("*****@*****.**", "wrong_field", "new_pass"),
         "The entered data field does not exist")
 def test_edit_account_dne(self):
     tester = models.User()
     tester.email = "*****@*****.**"
     tester.password = "******"
     tester.save()
     self.assertEqual(
         Commands.edit_account("*****@*****.**", "password",
                               "new_pass"), "Entered user does not exist")
예제 #29
0
 def test_change_phone_no_args(self):
     self.ad1 = models.User()
     self.ad1.email = "*****@*****.**"
     self.ad1.password = "******"
     self.ad1.type = "administrator"
     self.ad1.save()
     with self.assertRaises(TypeError):
         Commands.change_phone()
예제 #30
0
 def test_change_phone_wrong_arg_type(self):
     self.ad1 = models.User()
     self.ad1.email = "*****@*****.**"
     self.ad1.password = "******"
     self.ad1.type = "administrator"
     self.ad1.save()
     with self.assertRaises(AttributeError):
         Commands.change_phone(1, 2)