51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
from django.urls import reverse
|
|
from rest_framework import status
|
|
from rest_framework.test import APITestCase
|
|
|
|
from vbv_lernwelt.course.creators.test_utils import (
|
|
add_course_session_user,
|
|
create_course,
|
|
create_course_session,
|
|
create_user,
|
|
)
|
|
from vbv_lernwelt.course.models import CourseSessionUser
|
|
|
|
|
|
class LearningMentorInvitationTest(APITestCase):
|
|
def setUp(self) -> None:
|
|
self.course, self.course_page = create_course("Test Course")
|
|
self.course_session = create_course_session(course=self.course, title="Test VV")
|
|
|
|
self.participant = create_user("participant")
|
|
|
|
def test_create_invitation_not_member(self) -> None:
|
|
# GIVEN
|
|
self.client.force_login(self.participant)
|
|
invite_url = reverse(
|
|
"create_invitation", kwargs={"course_session_id": self.course_session.id}
|
|
)
|
|
|
|
# WHEN
|
|
response = self.client.post(invite_url)
|
|
|
|
# THEN
|
|
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
|
|
|
def test_create_invitation(self) -> None:
|
|
# GIVEN
|
|
self.client.force_login(self.participant)
|
|
add_course_session_user(
|
|
self.course_session,
|
|
self.participant,
|
|
role=CourseSessionUser.Role.MEMBER,
|
|
)
|
|
invite_url = reverse(
|
|
"create_invitation", kwargs={"course_session_id": self.course_session.id}
|
|
)
|
|
|
|
# WHEN
|
|
response = self.client.post(invite_url, data={"email": "test@example.com"})
|
|
|
|
# THEN
|
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|