Lesson.figures: fixed diagrams per lesson (stored once, served with the lesson); gen_lesson_figures; 3 calculus-12 lessons

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-07 16:26:10 +03:30
parent 1d7eb829e2
commit ce629e32e4
9 changed files with 399 additions and 3 deletions

View File

@@ -0,0 +1,17 @@
from django.test import TestCase
from rest_framework.test import APIClient
from content.models import Grade, Lesson, Node, Unit
class LessonFiguresTests(TestCase):
def test_intro_returns_stored_figures_and_empty_list_by_default(self):
grade = Grade.objects.create(title='دوازدهم', number=12)
unit = Unit.objects.create(grade=grade, title='u', order=1)
node = Node.objects.create(unit=unit, title='n', order=1)
fig = {'where': 'step', 'index': 0, 'diagram': {'kind': 'plane', 'title': 't'}}
with_fig = Lesson.objects.create(node=node, title='a', intro_text='x', steps=['s'], figures=[fig])
plain = Lesson.objects.create(node=node, title='b', intro_text='x')
c = APIClient()
self.assertEqual(c.get(f'/api/lessons/{with_fig.id}/intro').json()['figures'], [fig])
self.assertEqual(c.get(f'/api/lessons/{plain.id}/intro').json()['figures'], [])