vbv/server/vbv_lernwelt/course/tests/test_model_save.py

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",
)