diff --git a/server/books/factories.py b/server/books/factories.py index 09c22649..9624f9e2 100644 --- a/server/books/factories.py +++ b/server/books/factories.py @@ -9,6 +9,7 @@ from wagtail.core.models import Page from wagtail.core.rich_text import RichText from assignments.models import Assignment +from basicknowledge.models import BasicKnowledge from books.blocks import BasicKnowledgeBlock, ImageUrlBlock, LinkBlock, AssignmentBlock, VideoBlock from books.models import Book, Topic, Module, Chapter, ContentBlock, TextBlock from core.factories import BasePageFactory, fake, DummyImageFactory, fake_paragraph, fake_title @@ -69,9 +70,17 @@ class TextBlockFactory(wagtail_factories.StructBlockFactory): model = TextBlock +class InstrumentFactory(BasePageFactory): + title = factory.LazyAttribute(fake_title) + type = factory.Iterator([BasicKnowledge.LANGUAGE_COMMUNICATION, BasicKnowledge.SOCIETY, BasicKnowledge.INTERDISCIPLINARY]) + + class Meta: + model = BasicKnowledge + + class BasicKnowledgeBlockFactory(wagtail_factories.StructBlockFactory): description = factory.LazyAttribute(fake_paragraph) - url = factory.LazyAttribute(lambda x: fake.uri()) + basic_knowledge = factory.SubFactory(InstrumentFactory) class Meta: model = BasicKnowledgeBlock @@ -139,6 +148,11 @@ class ContentBlockFactory(BasePageFactory): @classmethod def stream_field_magic(cls, module, kwargs, stream_field_name): if stream_field_name in kwargs: + """ + stream_field_name is most likely 'contents' + this means: if there is a property named contents, us the defined ones in this block. + otherwise, go into the other block and randomize the contents + """ for idx, resource in enumerate(kwargs[stream_field_name]): value = resource['value'] block_type = resource['type'] @@ -181,7 +195,7 @@ class ContentBlockFactory(BasePageFactory): '{}__{}__{}__{}'.format(stream_field_name, idx, block_type, field)] = value[field] del kwargs[stream_field_name] - else: + else: # random contents from generator for i in range(0, random.randint(3, 7)): block_type = random.choice(block_types) if block_type == 'text_block': diff --git a/server/core/management/commands/data/module_data.py b/server/core/management/commands/data/module_data.py index 44ff137d..a5086745 100644 --- a/server/core/management/commands/data/module_data.py +++ b/server/core/management/commands/data/module_data.py @@ -663,6 +663,10 @@ modules = [ intro, module_1, module_2, + +] + +other_modules = [ module_3, module_4 ] @@ -680,8 +684,8 @@ data = [ { 'order': 2, 'title': 'Berufliche Grundbildung', - 'teaser': 'Yada yada bla bla', - 'modules': '' + 'teaser': 'Ein Teaser', + 'modules': other_modules } ] }]