feat: expose detail_url // counts
This commit is contained in:
parent
a1d069186c
commit
cc27ed0dd3
|
|
@ -308,9 +308,9 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
||||||
result = response.data["results"][0]
|
result = response.data["results"][0]
|
||||||
|
|
||||||
self_assessment = result["self_assessment"]
|
self_assessment = result["self_assessment"]
|
||||||
self.assertEqual(self_assessment["pass"], 1)
|
self.assertEqual(self_assessment["counts"]["pass"], 1)
|
||||||
self.assertEqual(self_assessment["fail"], 1)
|
self.assertEqual(self_assessment["counts"]["fail"], 1)
|
||||||
self.assertEqual(self_assessment["unknown"], 1)
|
self.assertEqual(self_assessment["counts"]["unknown"], 1)
|
||||||
|
|
||||||
feedback_assessment = result["feedback_assessment"]
|
feedback_assessment = result["feedback_assessment"]
|
||||||
self.assertEqual(feedback_assessment["counts"]["pass"], 1)
|
self.assertEqual(feedback_assessment["counts"]["pass"], 1)
|
||||||
|
|
@ -370,9 +370,10 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
result = response.data["results"][0]
|
result = response.data["results"][0]
|
||||||
self.assertEqual(result["self_assessment"]["pass"], 1)
|
counts = result["self_assessment"]["counts"]
|
||||||
self.assertEqual(result["self_assessment"]["fail"], 0)
|
self.assertEqual(counts["pass"], 1)
|
||||||
self.assertEqual(result["self_assessment"]["unknown"], 0)
|
self.assertEqual(counts["fail"], 0)
|
||||||
|
self.assertEqual(counts["unknown"], 0)
|
||||||
|
|
||||||
def test_feedbacks_not_started(self):
|
def test_feedbacks_not_started(self):
|
||||||
"""Case: Learning unit with no completion status and no feedback"""
|
"""Case: Learning unit with no completion status and no feedback"""
|
||||||
|
|
@ -405,9 +406,9 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
result = response.data["results"][0]
|
result = response.data["results"][0]
|
||||||
self.assertEqual(result["self_assessment"]["pass"], 0)
|
self.assertEqual(result["self_assessment"]["counts"]["pass"], 0)
|
||||||
self.assertEqual(result["self_assessment"]["fail"], 0)
|
self.assertEqual(result["self_assessment"]["counts"]["fail"], 0)
|
||||||
self.assertEqual(result["self_assessment"]["unknown"], 1)
|
self.assertEqual(result["self_assessment"]["counts"]["unknown"], 1)
|
||||||
|
|
||||||
def test_feedbacks_metadata(self):
|
def test_feedbacks_metadata(self):
|
||||||
# GIVEN
|
# GIVEN
|
||||||
|
|
@ -442,6 +443,7 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
||||||
self.assertEqual(result["id"], learning_unit.id)
|
self.assertEqual(result["id"], learning_unit.id)
|
||||||
self.assertEqual(result["circle_id"], self.circle.id)
|
self.assertEqual(result["circle_id"], self.circle.id)
|
||||||
self.assertEqual(result["circle_title"], self.circle.title)
|
self.assertEqual(result["circle_title"], self.circle.title)
|
||||||
|
self.assertEqual(result["detail_url"], learning_unit.get_evaluate_url())
|
||||||
|
|
||||||
circles = response.data["circles"]
|
circles = response.data["circles"]
|
||||||
self.assertEqual(len(circles), 1)
|
self.assertEqual(len(circles), 1)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import structlog
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from rest_framework.decorators import api_view, permission_classes
|
from rest_framework.decorators import api_view, permission_classes
|
||||||
from rest_framework.exceptions import PermissionDenied
|
from rest_framework.exceptions import PermissionDenied
|
||||||
|
|
@ -27,6 +28,8 @@ from vbv_lernwelt.self_evaluation_feedback.utils import (
|
||||||
get_self_evaluation_feedback_counts,
|
get_self_evaluation_feedback_counts,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
logger = structlog.get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@api_view(["POST"])
|
@api_view(["POST"])
|
||||||
@permission_classes([IsAuthenticated])
|
@permission_classes([IsAuthenticated])
|
||||||
|
|
@ -105,6 +108,12 @@ def get_self_evaluation_feedbacks_as_requester(request, course_session_id: int):
|
||||||
feedback_user=LearningUnitPerformanceFeedbackType.MENTOR_FEEDBACK.value,
|
feedback_user=LearningUnitPerformanceFeedbackType.MENTOR_FEEDBACK.value,
|
||||||
course_category__course=course_session.course,
|
course_category__course=course_session.course,
|
||||||
):
|
):
|
||||||
|
# this is not a problem in real life, but in the test environment
|
||||||
|
# we have a lot of learning units without self assessment criteria
|
||||||
|
# -> just skip those learning units
|
||||||
|
if len(learning_unit.performancecriteria_set.all()) == 0:
|
||||||
|
continue
|
||||||
|
|
||||||
circle = learning_unit.get_parent().specific
|
circle = learning_unit.get_parent().specific
|
||||||
circle_ids.add(circle.id)
|
circle_ids.add(circle.id)
|
||||||
|
|
||||||
|
|
@ -138,13 +147,16 @@ def get_self_evaluation_feedbacks_as_requester(request, course_session_id: int):
|
||||||
{
|
{
|
||||||
"id": learning_unit.id,
|
"id": learning_unit.id,
|
||||||
"title": learning_unit.title,
|
"title": learning_unit.title,
|
||||||
|
"detail_url": learning_unit.get_evaluate_url(),
|
||||||
"circle_id": circle.id,
|
"circle_id": circle.id,
|
||||||
"circle_title": circle.title,
|
"circle_title": circle.title,
|
||||||
"feedback_assessment": feedback_assessment,
|
"feedback_assessment": feedback_assessment,
|
||||||
"self_assessment": {
|
"self_assessment": {
|
||||||
"pass": self_assessment_counts.pass_count,
|
"counts": {
|
||||||
"fail": self_assessment_counts.fail_count,
|
"pass": self_assessment_counts.pass_count,
|
||||||
"unknown": self_assessment_counts.unknown_count,
|
"fail": self_assessment_counts.fail_count,
|
||||||
|
"unknown": self_assessment_counts.unknown_count,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue