Exemplo n.º 1
0
    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',
        ])
Exemplo n.º 2
0
    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',
        ])
Exemplo n.º 3
0
 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',
     ])
Exemplo n.º 4
0
    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'])
Exemplo n.º 5
0
 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",
         ],
     )
Exemplo n.º 6
0
 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',
     ])
Exemplo n.º 7
0
    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
Exemplo n.º 8
0
    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
Exemplo n.º 9
0
 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",
         ],
     )
Exemplo n.º 10
0
 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",
         ],
     )
Exemplo n.º 11
0
    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',
        ])
Exemplo n.º 12
0
    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',
        ])
Exemplo n.º 13
0
 def test_empty_streamfield_returns_empty_list(self):
     page = self.make_page_with_streamfields(SingleStreamFieldPage)
     self.assertEqual(get_page_blocks(page), [])
Exemplo n.º 14
0
 def test_page_with_no_streamfields_returns_empty_list(self):
     page = NoStreamFieldsPage(title='test', slug='test', content='test')
     self.assertEqual(get_page_blocks(page), [])
Exemplo n.º 15
0
 def test_empty_streamfield_returns_empty_list(self):
     page = Page.objects.get(slug="single-streamfield-page-no-content")
     self.assertEqual(get_page_blocks(page), [])
Exemplo n.º 16
0
 def test_page_with_no_streamfields_returns_empty_list(self):
     page = Page.objects.get(slug="no-streamfields-page")
     self.assertEqual(get_page_blocks(page), [])