chore: test notifications are sent
This commit is contained in:
parent
844cc881ca
commit
0734894cb9
|
|
@ -1,3 +1,5 @@
|
|||
from unittest.mock import patch
|
||||
|
||||
from django.urls import reverse
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
|
|
@ -56,7 +58,10 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
|||
|
||||
learning_mentor.participants.add(member_csu)
|
||||
|
||||
def test_start_self_evaluation_feedback(self):
|
||||
@patch(
|
||||
"vbv_lernwelt.notify.services.NotificationService.send_self_evaluation_feedback_request_feedback_notification"
|
||||
)
|
||||
def test_start_self_evaluation_feedback(self, mock_notification_service_send):
|
||||
# GIVEN
|
||||
learning_unit = create_learning_unit(course=self.course, circle=self.circle)
|
||||
|
||||
|
|
@ -98,6 +103,17 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
|||
},
|
||||
)
|
||||
|
||||
# shall be idempotent
|
||||
self.client.post(
|
||||
reverse(
|
||||
"start_self_evaluation_feedback",
|
||||
args=[learning_unit.id],
|
||||
),
|
||||
{
|
||||
"feedback_provider_user_id": self.mentor.id,
|
||||
},
|
||||
)
|
||||
|
||||
# THEN
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.data["success"], True)
|
||||
|
|
@ -107,12 +123,14 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
|||
1,
|
||||
)
|
||||
|
||||
# just get the first one
|
||||
f = SelfEvaluationFeedback.objects.first()
|
||||
self_evaluation_feedback = SelfEvaluationFeedback.objects.first()
|
||||
self.assertEqual(self_evaluation_feedback.feedback_requester_user, self.member)
|
||||
self.assertEqual(self_evaluation_feedback.feedback_provider_user, self.mentor)
|
||||
self.assertEqual(self_evaluation_feedback.learning_unit, learning_unit)
|
||||
|
||||
self.assertEqual(f.feedback_requester_user, self.member)
|
||||
self.assertEqual(f.feedback_provider_user, self.mentor)
|
||||
self.assertEqual(f.learning_unit, learning_unit)
|
||||
mock_notification_service_send.assert_called_once_with(
|
||||
self_evaluation_feedback=self_evaluation_feedback
|
||||
)
|
||||
|
||||
def test_start_self_evaluation_feedback_not_allowed_user(self):
|
||||
# GIVEN
|
||||
|
|
@ -370,7 +388,10 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
|||
feedback.feedback_assessment, CourseCompletionStatus.FAIL.value
|
||||
)
|
||||
|
||||
def test_release_self_evaluation_feedback(self):
|
||||
@patch(
|
||||
"vbv_lernwelt.notify.services.NotificationService.send_self_evaluation_feedback_received_notification"
|
||||
)
|
||||
def test_release_self_evaluation_feedback(self, mock_notification_service_send):
|
||||
# GIVEN
|
||||
learning_unit = create_learning_unit(course=self.course, circle=self.circle)
|
||||
self_evaluation_feedback = create_self_evaluation_feedback(
|
||||
|
|
@ -389,6 +410,13 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
|||
),
|
||||
)
|
||||
|
||||
# shall be idempotent
|
||||
response = self.client.put(
|
||||
reverse(
|
||||
"release_self_evaluation_feedback", args=[self_evaluation_feedback.id]
|
||||
),
|
||||
)
|
||||
|
||||
# THEN
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.data["success"], True)
|
||||
|
|
@ -398,3 +426,7 @@ class SelfEvaluationFeedbackAPI(APITestCase):
|
|||
).feedback_submitted,
|
||||
True,
|
||||
)
|
||||
|
||||
mock_notification_service_send.assert_called_once_with(
|
||||
self_evaluation_feedback=self_evaluation_feedback
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue