def test_boolean_fields(self):
        """
        Tests the boolean fields. Should cause a validation error in case a field is required.
        """
        data = {
            'id': "123",
            'course_id': "a/b/c",
            'exam_name': "midterm1",
            'content_id': '123aXqe0',
            'time_limit_mins': 90,
            'external_id': '123',
            'is_proctored': 'bla',
            'is_practice_exam': 'bla',
            'is_active': 'f',
            'hide_after_due': 't',
        }
        serializer = ProctoredExamSerializer(data=data)

        self.assertFalse(serializer.is_valid())
        self.assertDictEqual(
            {
                'is_proctored': [u'"bla" is not a valid boolean.'],
                'is_practice_exam': [u'"bla" is not a valid boolean.'],
            }, serializer.errors
        )
Beispiel #2
0
 def post(self, request):
     """
     Http POST handler. Creates an exam.
     """
     serializer = ProctoredExamSerializer(data=request.data)
     if serializer.is_valid():
         exam_id = create_exam(
             course_id=request.data.get('course_id', None),
             content_id=request.data.get('content_id', None),
             exam_name=request.data.get('exam_name', None),
             time_limit_mins=request.data.get('time_limit_mins', None),
             is_proctored=request.data.get('is_proctored', None),
             is_practice_exam=request.data.get('is_practice_exam', None),
             external_id=request.data.get('external_id', None),
             is_active=request.data.get('is_active', None))
         return Response({'exam_id': exam_id})
     else:
         return Response(status=status.HTTP_400_BAD_REQUEST,
                         data=serializer.errors)
Beispiel #3
0
 def post(self, request):
     """
     Http POST handler. Creates an exam.
     """
     serializer = ProctoredExamSerializer(data=request.data)
     if serializer.is_valid():
         exam_id = create_exam(
             course_id=request.data.get("course_id", None),
             content_id=request.data.get("content_id", None),
             exam_name=request.data.get("exam_name", None),
             time_limit_mins=request.data.get("time_limit_mins", None),
             is_proctored=request.data.get("is_proctored", None),
             is_practice_exam=request.data.get("is_practice_exam", None),
             external_id=request.data.get("external_id", None),
             is_active=request.data.get("is_active", None),
         )
         return Response({"exam_id": exam_id})
     else:
         return Response(status=status.HTTP_400_BAD_REQUEST, data=serializer.errors)
Beispiel #4
0
    def test_boolean_fields(self):
        """
        Tests the boolean fields. Should cause a validation error in case a field is required.
        """
        data = {
            'id': "123",
            'course_id': "a/b/c",
            'exam_name': "midterm1",
            'content_id': '123aXqe0',
            'time_limit_mins': 90,
            'external_id': '123',
            'is_proctored': 'bla',
            'is_practice_exam': 'bla',
            'is_active': 'f',
            'hide_after_due': 't',
        }
        serializer = ProctoredExamSerializer(data=data)

        self.assertFalse(serializer.is_valid())
        self.assertIn('is_proctored', serializer.errors)
        self.assertIn('is_practice_exam', serializer.errors)
Beispiel #5
0
 def post(self, request):
     """
     Http POST handler. Creates an exam.
     """
     serializer = ProctoredExamSerializer(data=request.DATA)
     if serializer.is_valid():
         exam_id = create_exam(
             course_id=request.DATA.get('course_id', None),
             content_id=request.DATA.get('content_id', None),
             exam_name=request.DATA.get('exam_name', None),
             time_limit_mins=request.DATA.get('time_limit_mins', None),
             is_proctored=request.DATA.get('is_proctored', None),
             is_practice_exam=request.DATA.get('is_practice_exam', None),
             external_id=request.DATA.get('external_id', None),
             is_active=request.DATA.get('is_active', None)
         )
         return Response({'exam_id': exam_id})
     else:
         return Response(
             status=status.HTTP_400_BAD_REQUEST,
             data=serializer.errors
         )
Beispiel #6
0
 def post(self, request):
     """
     Http POST handler. Creates an exam.
     """
     serializer = ProctoredExamSerializer(data=request.data)
     if serializer.is_valid():
         exam_id = create_exam(
             course_id=request.data.get('course_id', None),
             content_id=request.data.get('content_id', None),
             exam_name=request.data.get('exam_name', None),
             time_limit_mins=request.data.get('time_limit_mins', None),
             is_proctored=request.data.get('is_proctored', None),
             is_practice_exam=request.data.get('is_practice_exam', None),
             external_id=request.data.get('external_id', None),
             is_active=request.data.get('is_active', None),
             hide_after_due=request.data.get('hide_after_due', None),
         )
         rstat = status.HTTP_200_OK
         data = {'exam_id': exam_id}
     else:
         rstat = status.HTTP_400_BAD_REQUEST
         data = serializer.errors
     return Response(status=rstat, data=data)