chore: tests for various things

This commit is contained in:
Livio Bieri 2024-02-02 15:41:50 +01:00
parent 0734894cb9
commit bd3f2a4513
3 changed files with 58 additions and 3 deletions

View File

@ -59,11 +59,13 @@ from vbv_lernwelt.learnpath.tests.learning_path_factories import (
)
def create_course(title: str, _id=None) -> Tuple[Course, CoursePage]:
def create_course(
title: str = "Course Title", _id=None, course_page_title: str = "Test Lehrgang"
) -> Tuple[Course, CoursePage]:
course = Course.objects.create(id=_id, title=title, category_name="Handlungsfeld")
course_page = CoursePageFactory(
title="Test Lehrgang",
title=course_page_title,
parent=get_wagtail_default_site().root_page,
course=course,
)
@ -272,9 +274,11 @@ def create_course_session_edoniq_test(
def create_learning_unit(
circle: Circle,
course: Course,
course_category_title: str = "Course Category",
) -> LearningUnit:
cat, _ = CourseCategory.objects.get_or_create(
course=course, title="Course Category"
course=course,
title=course_category_title,
)
return LearningUnitFactory(

View File

@ -2,6 +2,12 @@ from django.test import TestCase
from vbv_lernwelt.core.create_default_users import create_default_users
from vbv_lernwelt.course.creators.test_course import create_test_course
from vbv_lernwelt.course.creators.test_utils import (
create_circle,
create_course,
create_course_session,
create_learning_unit,
)
from vbv_lernwelt.learnpath.models import LearningContentPlaceholder
@ -31,3 +37,22 @@ class SaveSlugTestCase(TestCase):
self.assertEqual(
lc_fachcheck.slug, "test-lehrgang-lp-circle-reisen-lc-fachcheck-foobar"
)
def test_learning_unit_frontend_url_parts(self):
# GIVEN
course, course_page = create_course(course_page_title="What Ever Course Page")
course_session = create_course_session(course=course, title=":)")
circle, _ = create_circle(title="A-nice Circle", course_page=course_page)
# WHEN
cut = create_learning_unit(
course_category_title="course category title",
circle=circle,
course=course,
)
course_part, circle_part, learning_unit_part = cut.get_frontend_url_parts()
# THEN
self.assertEqual(course_part, "what-ever-course-page")
self.assertEqual(circle_part, "a-nice-circle")
self.assertEqual(learning_unit_part, "course-category-title")

View File

@ -430,3 +430,29 @@ class SelfEvaluationFeedbackAPI(APITestCase):
mock_notification_service_send.assert_called_once_with(
self_evaluation_feedback=self_evaluation_feedback
)
def test_get_self_evaluation_feedback_frontend_urls(self):
"""Makes sure that the frontend urls are correct (used in notifications)"""
# GIVEN
cut = create_self_evaluation_feedback(
learning_unit=create_learning_unit(course=self.course, circle=self.circle),
feedback_requester_user=self.member,
feedback_provider_user=self.mentor,
)
# WHEN
requester_url = cut.feedback_requester_results_url
provider_url = cut.feedback_provider_evaluation_url
# THEN
self.assertEqual(
requester_url,
# 0 -> no completions so step=0 is correct
"/course/test-lehrgang/learn/test-circle/evaluate/course-category?step=0",
)
self.assertEqual(
provider_url,
"/course/test-lehrgang/cockpit/mentor/self-evaluation-feedback/34",
)