from rest_framework.test import APITestCase from vbv_lernwelt.core.admin import User 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 LearningPath class TestRetrieveLearingPathContents(APITestCase): def setUp(self) -> None: create_default_users() create_test_course() self.user = User.objects.get(username="student") self.client.login(username="student", password="test") def test_get_learnpathPage(self): slug = "test-lehrgang-lp" learning_path = LearningPath.objects.get(slug=slug) response = self.client.get(f"/api/course/page/{slug}/") self.assertEqual(response.status_code, 200) data = response.json() self.assertEqual(learning_path.title, data["title"]) # topics and circles self.assertEqual(4, len(data["children"])) # circle "analyse" contents self.assertEqual(12, len(data["children"][3]["children"]))