fix: filter out feedback
experts that might have submitted just for testing -> should not be included in the feedback results / API
This commit is contained in:
parent
99508fec09
commit
500a376877
|
|
@ -3,7 +3,7 @@ from rest_framework.test import APITestCase
|
||||||
from vbv_lernwelt.core.create_default_users import create_default_users
|
from vbv_lernwelt.core.create_default_users import create_default_users
|
||||||
from vbv_lernwelt.core.models import User
|
from vbv_lernwelt.core.models import User
|
||||||
from vbv_lernwelt.course.creators.test_course import create_test_course
|
from vbv_lernwelt.course.creators.test_course import create_test_course
|
||||||
from vbv_lernwelt.course.models import CourseSession, CourseSessionUser
|
from vbv_lernwelt.course.models import CourseSession
|
||||||
from vbv_lernwelt.feedback.factories import FeedbackResponseFactory
|
from vbv_lernwelt.feedback.factories import FeedbackResponseFactory
|
||||||
from vbv_lernwelt.feedback.models import FeedbackResponse
|
from vbv_lernwelt.feedback.models import FeedbackResponse
|
||||||
from vbv_lernwelt.learnpath.models import Circle
|
from vbv_lernwelt.learnpath.models import Circle
|
||||||
|
|
@ -54,7 +54,7 @@ class FeedbackNotificationTestCase(FeedbackBaseTestCase):
|
||||||
self.assertEqual(notification.course_session, self.course_session)
|
self.assertEqual(notification.course_session, self.course_session)
|
||||||
|
|
||||||
def test_only_submitted_feedback_triggers_notification(self):
|
def test_only_submitted_feedback_triggers_notification(self):
|
||||||
feedback = FeedbackResponse.objects.create(
|
FeedbackResponse.objects.create(
|
||||||
circle=self.circle_basis,
|
circle=self.circle_basis,
|
||||||
course_session=self.course_session,
|
course_session=self.course_session,
|
||||||
feedback_user=self.student,
|
feedback_user=self.student,
|
||||||
|
|
@ -79,10 +79,14 @@ class FeedbackRestApiTestCase(FeedbackBaseTestCase):
|
||||||
"course_negative_feedback": ["Maus", "Hase", "Fuchs"],
|
"course_negative_feedback": ["Maus", "Hase", "Fuchs"],
|
||||||
}
|
}
|
||||||
|
|
||||||
self.students = [
|
self.feedback_users = [
|
||||||
|
# MEMBERS of the course session
|
||||||
self.student,
|
self.student,
|
||||||
User.objects.get(username="test-student2@example.com"),
|
User.objects.get(username="test-student2@example.com"),
|
||||||
User.objects.get(username="test-student3@example.com"),
|
User.objects.get(username="test-student3@example.com"),
|
||||||
|
# EXPERT has submitted feedback for "testing purposes"
|
||||||
|
# -> should be filtered out!
|
||||||
|
User.objects.get(username="test-trainer1@example.com"),
|
||||||
]
|
]
|
||||||
|
|
||||||
for i in range(3):
|
for i in range(3):
|
||||||
|
|
@ -111,7 +115,7 @@ class FeedbackRestApiTestCase(FeedbackBaseTestCase):
|
||||||
"course_negative_feedback"
|
"course_negative_feedback"
|
||||||
][i],
|
][i],
|
||||||
},
|
},
|
||||||
feedback_user=self.students[i],
|
feedback_user=self.feedback_users[i],
|
||||||
submitted=True,
|
submitted=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ from rest_framework.decorators import api_view
|
||||||
from rest_framework.exceptions import PermissionDenied
|
from rest_framework.exceptions import PermissionDenied
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
|
from vbv_lernwelt.course.models import CourseSessionUser
|
||||||
from vbv_lernwelt.course.permissions import is_course_session_expert
|
from vbv_lernwelt.course.permissions import is_course_session_expert
|
||||||
from vbv_lernwelt.feedback.models import FeedbackResponse
|
from vbv_lernwelt.feedback.models import FeedbackResponse
|
||||||
|
|
||||||
|
|
@ -57,6 +58,10 @@ def get_feedback_for_circle(request, course_session_id, circle_id):
|
||||||
course_session__id=course_session_id,
|
course_session__id=course_session_id,
|
||||||
submitted=True,
|
submitted=True,
|
||||||
circle_id=circle_id,
|
circle_id=circle_id,
|
||||||
|
# filter out experts that might have submitted just for testing
|
||||||
|
feedback_user__in=CourseSessionUser.objects.filter(
|
||||||
|
course_session_id=course_session_id, role=CourseSessionUser.Role.MEMBER
|
||||||
|
).values_list("user", flat=True),
|
||||||
).order_by("created_at")
|
).order_by("created_at")
|
||||||
|
|
||||||
# I guess this is ok for the üK case
|
# I guess this is ok for the üK case
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue