def test_streamfield_with_deeply_nested_blocks(self): page = self.make_page_with_streamfields(SingleStreamFieldPage, content=[ { 'type': 'organism', 'value': { 'molecules': [ { 'title': 'foo', 'atoms': [] }, { 'title': 'bar', 'atoms': [] }, ], }, }, ]) self.assertEqual(get_page_blocks(page), [ 'wagtail.wagtailcore.blocks.field_block.CharBlock', 'wagtail.wagtailcore.blocks.list_block.ListBlock', 'wagtailinventory.tests.testapp.blocks.Molecule', 'wagtailinventory.tests.testapp.blocks.Organism', ])
def test_multiple_streamfields(self): page = self.make_page_with_streamfields(MultipleStreamFieldsPage, first=[{ 'type': 'atom', 'value': 'foo' }], second=[ { 'type': 'organism', 'value': { 'molecules': [ { 'title': 'foo', 'atoms': [] }, ] } }, ]) self.assertEqual(get_page_blocks(page), [ 'wagtail.wagtailcore.blocks.field_block.CharBlock', 'wagtail.wagtailcore.blocks.list_block.ListBlock', 'wagtailinventory.tests.testapp.blocks.Atom', 'wagtailinventory.tests.testapp.blocks.Molecule', 'wagtailinventory.tests.testapp.blocks.Organism', ])
def test_nested_streamblocks(self): page = Page.objects.get(slug='nested-streamblock-page') self.assertEqual(get_page_blocks(page), [ CORE_BLOCKS + '.field_block.CharBlock', CORE_BLOCKS + '.stream_block.StreamBlock', 'wagtailinventory.tests.testapp.blocks.Atom', ])
def test_streamfield_with_single_block(self): page = self.make_page_with_streamfields(SingleStreamFieldPage, content=[{ 'type': 'text', 'value': 'foo' }]) self.assertEqual(get_page_blocks(page), ['wagtail.wagtailcore.blocks.field_block.CharBlock'])
def test_streamfield_with_single_block(self): page = Page.objects.get(slug="single-streamfield-page-content") self.assertEqual( get_page_blocks(page), [ CORE_BLOCKS + ".field_block.CharBlock", "wagtailinventory.tests.testapp.blocks.Atom", ], )
def test_multiple_streamfields(self): page = Page.objects.get(slug='multiple-streamfields-page') self.assertEqual(get_page_blocks(page), [ CORE_BLOCKS + '.field_block.CharBlock', CORE_BLOCKS + '.list_block.ListBlock', 'wagtailinventory.tests.testapp.blocks.Atom', 'wagtailinventory.tests.testapp.blocks.Molecule', 'wagtailinventory.tests.testapp.blocks.Organism', ])
def streamfield_js(self): js = [] block_cls_names = get_page_blocks(self) for block_cls_name in block_cls_names: block_cls = import_string(block_cls_name) if hasattr(block_cls, 'Media') and hasattr(block_cls.Media, 'js'): js.extend(block_cls.Media.js) return js
def streamfield_js(self): js = [] block_cls_names = get_page_blocks(self) for block_cls_name in block_cls_names: block_cls = import_string(block_cls_name) if hasattr(block_cls, 'Media') and hasattr(block_cls.Media, 'js'): js.extend(block_cls.Media.js) return js
def test_nested_streamblocks(self): page = Page.objects.get(slug="nested-streamblock-page") self.assertEqual( get_page_blocks(page), [ CORE_BLOCKS + ".field_block.CharBlock", CORE_BLOCKS + ".stream_block.StreamBlock", "wagtailinventory.tests.testapp.blocks.Atom", ], )
def test_multiple_streamfields(self): page = Page.objects.get(slug="multiple-streamfields-page") self.assertEqual( get_page_blocks(page), [ CORE_BLOCKS + ".field_block.CharBlock", CORE_BLOCKS + ".list_block.ListBlock", "wagtailinventory.tests.testapp.blocks.Atom", "wagtailinventory.tests.testapp.blocks.Molecule", "wagtailinventory.tests.testapp.blocks.Organism", ], )
def test_streamfield_with_structblock_includes_nested_blocks(self): page = self.make_page_with_streamfields(SingleStreamFieldPage, content=[ { 'type': 'atom', 'value': { 'title': 'foo' } }, ]) self.assertEqual(get_page_blocks(page), [ 'wagtail.wagtailcore.blocks.field_block.CharBlock', 'wagtailinventory.tests.testapp.blocks.Atom', ])
def test_streamfield_with_child_stream_block(self): page = self.make_page_with_streamfields(NestedStreamBlockPage, content=[{ 'type': 'streamblock', 'value': [ { 'type': 'text', 'value': 'Test content', }, ], }]) self.assertEqual(get_page_blocks(page), [ 'wagtail.wagtailcore.blocks.field_block.CharBlock', 'wagtail.wagtailcore.blocks.stream_block.StreamBlock', ])
def test_empty_streamfield_returns_empty_list(self): page = self.make_page_with_streamfields(SingleStreamFieldPage) self.assertEqual(get_page_blocks(page), [])
def test_page_with_no_streamfields_returns_empty_list(self): page = NoStreamFieldsPage(title='test', slug='test', content='test') self.assertEqual(get_page_blocks(page), [])
def test_empty_streamfield_returns_empty_list(self): page = Page.objects.get(slug="single-streamfield-page-no-content") self.assertEqual(get_page_blocks(page), [])
def test_page_with_no_streamfields_returns_empty_list(self): page = Page.objects.get(slug="no-streamfields-page") self.assertEqual(get_page_blocks(page), [])