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']))