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)