vbv/server/vbv_lernwelt/iam/tests/test_actions.py

84 lines
2.4 KiB
Python

from django.test import TestCase
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
from vbv_lernwelt.iam.permissions import course_session_permissions
from vbv_lernwelt.learning_mentor.models import AgentParticipantRelation
class ActionTestCase(TestCase):
def setUp(self):
self.course, _ = create_course("Test Course")
self.course_session = create_course_session(
course=self.course, title="Test Session"
)
def test_course_session_permissions(self):
# GIVEN
lm = create_user("mentor")
participant = create_user("participant")
csu = add_course_session_user(
self.course_session,
participant,
role=CourseSessionUser.Role.MEMBER,
)
AgentParticipantRelation.objects.create(
agent=lm, participant=csu, role="LEARNING_MENTOR"
)
trainer = create_user("trainer")
add_course_session_user(
self.course_session,
trainer,
role=CourseSessionUser.Role.EXPERT,
)
# WHEN
mentor_actions = course_session_permissions(lm, self.course_session.id)
participant_actions = course_session_permissions(
participant, self.course_session.id
)
trainer_actions = course_session_permissions(trainer, self.course_session.id)
# THEN
self.assertEqual(
mentor_actions,
[
"is_learning_mentor",
"learning-mentor",
"learning-mentor::guide-members",
"preview",
],
)
self.assertEqual(
participant_actions,
[
"is_member",
"learning-mentor",
"learning-mentor::edit-mentors",
"media-library",
"appointments",
"learning-path",
"competence-navi",
"complete-learning-content",
],
)
self.assertEqual(
trainer_actions,
[
"is_expert",
"learning-mentor",
"preview",
"media-library",
"appointments",
"expert-cockpit",
"complete-learning-content",
],
)