Beispiel #1
0
    def test_submission_status_fetch_serializer(self):
        """Base serialization behavior"""
        input_data = MagicMock()
        serializer = SubmissionStatusFetchSerializer(input_data)
        with patch.object(serializer, "get_gradeStatus") as mock_get_grade_status:
            data = serializer.data

        expected_value = {
            "gradeData": GradeDataSerializer(input_data.assessment_info).data,
            "gradeStatus": mock_get_grade_status.return_value,
            "lockStatus": LockStatusField().to_representation(
                input_data.lock_info.lock_status
            ),
        }
        mock_get_grade_status.assert_called_once_with(input_data)
        assert data == expected_value
Beispiel #2
0
    def test_grade_data_serializer__assessment(self, has_criteria):
        """Base serialization behavior, with and without criteria"""
        input_data = MagicMock()
        if has_criteria:
            input_data.criteria = [Mock(points=123), Mock(points=11), Mock(points=22)]
        data = GradeDataSerializer(input_data).data

        expected_value = {
            "score": ScoreField().to_representation(input_data.score),
            "overallFeedback": str(input_data.feedback),
        }
        if has_criteria:
            expected_value["criteria"] = [
                AssessmentCriteriaSerializer(criterion).data
                for criterion in input_data.criteria
            ]
        else:
            expected_value["criteria"] = []
        assert data == expected_value
 def test_grade_data_serializer__no_assessment(self):
     """Passing an empty dict should result in an empty dict"""
     # pylint: disable=use-implicit-booleaness-not-comparison
     assert GradeDataSerializer({}).data == {}