示例#1
0
    def _patch_answer_response(client: Client,
                               answer_response: quiz_models.AnswerResponse):
        """
        Patch answer response throw client.
        """

        answer_response_id = answer_response.id
        quiz_id = answer_response.quiz_id
        url = f'/api/answer_responses/{answer_response_id}/'
        data = get_test_answer_response_data()
        data['quiz'] = str(quiz_id)
        data['answers_to_questions'][0] = {
            "question": 1,
            "text": "new answer",
            "answer_options": []
        }
        data['answers_to_questions'][1] = {
            "question": 2,
            "text": "",
            "answer_options": [2]
        }
        response = client.patch(path=url,
                                data=json.dumps(data),
                                content_type='application/json')
        return response
示例#2
0
def make_answer_response(user_id: int, quiz: Quiz) -> AnswerResponse:
    answer_response_data = get_test_answer_response_data()
    answer_response_data['quiz'] = quiz.id
    answer_response_data['user'] = user_id
    answer_response_serializer = serializers.AnswerResponseDetailSerializer(
        data=answer_response_data)
    answer_response_serializer.is_valid()
    answer_response = answer_response_serializer.create(
        answer_response_serializer.validated_data)
    return answer_response
示例#3
0
    def test_post_answer_response(self, client: Client,
                                  create_quiz: quiz_models.Quiz,
                                  create_user: user_models.AnonymousUser):
        """
        Test answer response posting.
        """

        quiz_id = create_quiz.id
        user_id = create_user.id
        data = get_test_answer_response_data()
        data['user'] = user_id
        data['quiz'] = str(quiz_id)
        client.post(path=f'/api/answer_responses/',
                    data=json.dumps(data),
                    content_type='application/json')
        answer_response = quiz_models.AnswerResponse.objects.filter(
            quiz__id=quiz_id,
            user__id=user_id,
        )[0]

        assert (answer_response.quiz_id == quiz_id
                and answer_response.user_id == user_id
                and len(answer_response.answertoquestion_set.all()) == 3)
 def test_bad_data(self, create_quiz, create_question):
     question_id = create_question
     good_data = quizzes_data.get_test_answer_response_data()
     bad_data = self.make_bad_data(good_data, question_id)
     self.check_bad_data(bad_data, create_quiz)
    def test_bad_data(self, create_quiz):
        """Test bad data validation."""

        good_data = quizzes_data.get_test_answer_response_data()
        bad_data = self.make_bad_data(good_data)
        self.check_bad_data(bad_data, create_quiz)
 def test_good_data(self, create_quiz):
     """Test good data validation."""
     good_data = quizzes_data.get_test_answer_response_data()
     data = self.build_data(good_data, create_quiz)
     self.validator().validate(data)
 def test_one_choice_type(self, create_quiz):
     data = quizzes_data.get_test_answer_response_data()
     bad_data = self._make_bad_many_choices(data)
     self.check_bad_data(bad_data, create_quiz)