39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
from rest_framework.test import APITestCase
|
|
|
|
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.learnpath.models import Circle, LearningContentAttendanceCourse
|
|
|
|
|
|
class CourseBasePageSaveTestCase(APITestCase):
|
|
def setUp(self) -> None:
|
|
create_default_users()
|
|
create_test_course()
|
|
|
|
def test_save_willRenameSlugsOfChildren(self):
|
|
circle_fahrzeug = Circle.objects.get(title="Fahrzeug")
|
|
self.assertEqual(circle_fahrzeug.slug, "test-lehrgang-lp-circle-fahrzeug")
|
|
|
|
lc_attendance_course = LearningContentAttendanceCourse.objects.descendant_of(
|
|
circle_fahrzeug
|
|
).first()
|
|
self.assertEqual(
|
|
lc_attendance_course.slug,
|
|
"test-lehrgang-lp-circle-fahrzeug-lc-präsenzkurs-fahrzeug",
|
|
)
|
|
|
|
# title update should also update the slugs of the descendants
|
|
circle_fahrzeug.title = "Foobar"
|
|
circle_fahrzeug.save()
|
|
|
|
circle_fahrzeug = Circle.objects.get(id=circle_fahrzeug.id)
|
|
self.assertEqual(circle_fahrzeug.slug, "test-lehrgang-lp-circle-foobar")
|
|
|
|
lc_attendance_course = LearningContentAttendanceCourse.objects.descendant_of(
|
|
circle_fahrzeug
|
|
).first()
|
|
self.assertEqual(
|
|
lc_attendance_course.slug,
|
|
"test-lehrgang-lp-circle-foobar-lc-präsenzkurs-fahrzeug",
|
|
)
|