Esempio n. 1
0
 def test_search_get_success(self):
     client = Client()
     course = Course(bid='111', name='计算机网络', credit='2.0', hours='32', department='计算机学院', type='核心专业类')
     course.save()
     teacher = Teacher(name='张辉')
     teacher.save()
     add_teacher_relation(teacher, course)
     response = client.get("/timetable/search/?course=计&teacher=张&type=核心专业类&department=计算机学院")
     self.assertEqual(response.status_code, 200)
Esempio n. 2
0
 def test_up_check_teacher(self):
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     teacher = Teacher(name='张辉')
     teacher.save()
     teacher_course = TeacherCourse(teacher_id=teacher, course_id=course)
     self.assertEqual(up_check_teacher(student, teacher_course), 0)
Esempio n. 3
0
 def test_format_serializer(self):
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     evaluation = CourseEvaluation(course=course, student=student)
     evaluation.save()
     result = [{"id": 1, "up": 1, "down": 1}]
     format_serializer(result, student)
     self.assertEqual(True, True)
Esempio n. 4
0
 def test_course_evaluations_delete(self):
     client = Client()
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     evaluation = CourseEvaluation(course=course, student=student)
     evaluation.save()
     data = {"student_id": "17373456", "bid": "111"}
     response = client.delete("/timetable/evaluation/student/", content_type='application/json', data=data)
     self.assertEqual(response.status_code, 204)
Esempio n. 5
0
 def test_down_action(self):
     actor = Student(id='17373010', usr_name='111')
     actor.save()
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     evaluation = CourseEvaluation(course=course, student=student)
     evaluation.save()
     result = down_action(evaluation, actor)
     self.assertEqual(result.status_code, 201)
Esempio n. 6
0
 def test_format_serializer_teacher(self):
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     teacher = Teacher(name='张辉')
     teacher.save()
     teacher_course = TeacherCourse(teacher_id=teacher, course_id=course)
     teacher_course.save()
     format_serializer_teacher([{"id": 1}], student)
     self.assertEqual(True, True)
Esempio n. 7
0
 def test_evaluation_teacher_up(self):
     client = Client()
     actor = Student(id='17373010', usr_name='111')
     actor.save()
     course = Course(bid='111', name='计算机网络', credit='2.0', hours='32', department='计算机学院', type='核心专业类')
     course.save()
     teacher = Teacher(name='张辉')
     teacher.save()
     add_teacher_relation(teacher, course)
     data = {"teacher": "张辉", "bid": "111", "actor": "17373010", "action": "up"}
     response = client.post("/timetable/evaluation/teacher/", content_type='application/json', data=data)
     self.assertEqual(response.status_code, 201)
Esempio n. 8
0
 def test_course_evaluations_get(self):
     client = Client()
     student = Student(id='17373010', usr_name='111')
     student.save()
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     evaluation = CourseEvaluation(course=course, student=student)
     evaluation.save()
     response = client.get('/timetable/evaluation/student/?bid=111&student_id=17373010')
     self.assertEqual(response.status_code, 200)
Esempio n. 9
0
 def test_get_evaluation(self):
     student = Student(id='17373010', usr_name='111')
     student.save()
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     evaluation = CourseEvaluation(course=course, student=student)
     evaluation.save()
     actor, return_evaluation = get_evaluation({'student_id': '17373456', 'bid': '111', 'actor': '17373010'})
     actor.save()
     self.assertEqual(return_evaluation, evaluation)
Esempio n. 10
0
 def test_evaluation_down_action(self):
     client = Client()
     student = Student(id='17373010', usr_name='111')
     student.save()
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     evaluation = CourseEvaluation(course=course, student=student)
     evaluation.save()
     data = {"student_id": "17373456", "bid": "111", "actor": "17373010"}
     response = client.post("/timetable/evaluation/student/down/", content_type='application/json', data=data)
     self.assertEqual(response.status_code, 201)
Esempio n. 11
0
 def test_search_default(self):
     client = Client()
     student = Student(id='17373010')
     student.save()
     course = Course(bid='111', name='计算机网络', credit='2.0', hours='32', department='计算机学院', type='核心专业类')
     course.save()
     teacher = Teacher(name='张辉')
     teacher.save()
     add_teacher_relation(teacher, course)
     infos = ['111', '计算机网络', '(一)305', '荣文戈, 张辉', '1-16', '周1 第3,4节']
     add_student_course(student=student, semester='2020_Spring', info=infos)
     response = client.get('/timetable/search/default/?student_id=17373010')
     self.assertEqual(response.status_code, 200)
Esempio n. 12
0
 def test_e_cancel_up_action(self):
     client = Client()
     actor = Student(id='17373010', usr_name='111')
     actor.save()
     student = Student(id='17373456')
     student.save()
     course = Course(bid='111')
     course.save()
     evaluation = CourseEvaluation(course=course, student=student)
     evaluation.save()
     up_record = EvaluationUpRecord(evaluation=evaluation, student=actor)
     up_record.save()
     data = {"student_id": "17373456", "bid": "111", "actor": "17373010"}
     response = client.post("/timetable/evaluation/student/cancel_up/", content_type='application/json', data=data)
     self.assertEqual(response.status_code, 201)
Esempio n. 13
0
def add_student_course(student, semester, info):
    if len(info) == 6:
        bid = info[0].replace(' ', '')
        name = info[1].replace(' ', '')
        name, bid = check_public(name, bid)
        place = info[2].replace(' ', '')
        teacher = info[3].replace(' ', '')
        week = info[4].replace(' ', '')
        time = info[5]
        # 获取课程信息
        try:
            course = Course.objects.get(bid=bid)
            if len(name) <= len(course.name):
                course.name = name
                course.save()
        except Course.DoesNotExist:
            if name.find('体育') != -1:
                course = Course(bid=bid,
                                name=name,
                                credit=0.5,
                                hours=16,
                                department='体育部',
                                type='体育类')
            else:
                course = Course(bid=bid, name=name)
            course.save()
        # 保存信息
        new_student_course = StudentCourse(student_id=student,
                                           course_id=course,
                                           week=split_week(week),
                                           time=split_time(time),
                                           place=place,
                                           semester=semester)
        new_student_course.save()
        # 增加教师信息
        teachers = teacher.split(',')
        # 一门课程可能有多个教师
        for key in teachers:
            teacher = add_teacher(key)
            # 增加总课的关联关系
            add_teacher_relation(teacher, course)
            # 增加这节课的关联关系
            relation = TeacherCourseSpecific(
                student_course_id=new_student_course, teacher_id=teacher)
            relation.save()
        return HttpResponse(status=201)
    # 不是5项表示数据有缺失
    raise ArgumentError()
Esempio n. 14
0
 def test_course_delete(self):
     client = Client()
     student = Student(id='17373010')
     student.save()
     course = Course(bid='111', name='计算机网络', credit='2.0', hours='32', department='计算机学院', type='核心专业类')
     course.save()
     teacher = Teacher(name='张辉')
     teacher.save()
     add_teacher_relation(teacher, course)
     infos = ['111', '计算机网络', '(一)305', '荣文戈, 张辉', '1-16', '周1 第3,4节']
     add_student_course(student=student, semester='2020_Spring', info=infos)
     data = {"bid": "111", "text": "233", "score": 3, "student_id": "17373010"}
     client.put("/timetable/evaluation/student/", content_type='application/json', data=data)
     data = {"ack": "sure"}
     client.delete("/timetable/", content_type='application/json', data=data)
     self.assertEqual(Student.objects.all().count(), 1)
     self.assertEqual(Course.objects.all().count(), 0)
     self.assertEqual(StudentCourse.objects.all().count(), 0)
     self.assertEqual(StudentCourse.objects.all().count(), 0)
     self.assertEqual(CourseEvaluation.objects.all().count(), 0)
Esempio n. 15
0
 def test_get_evaluation_count(self):
     course = Course(bid='111')
     course.save()
     self.assertEqual(evaluator_count(course), 0)
Esempio n. 16
0
 def test_format_search(self):
     course = Course(bid='111')
     course.save()
     result = [{"bid": "111"}, {"bid": "111"}]
     format_search(result)
     self.assertEqual(True, True)