vbv/server/vbv_lernwelt/learning_mentor/tests/test_invitation.py

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)