Passed
Pull Request — master (#7)
by Robbie
02:17
created

BannerBlockTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 1
c 1
b 0
f 1
dl 0
loc 20
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A testTinyMceJavascriptIsRequiredBeforeBlocks() 0 18 1
1
<?php
2
3
namespace SilverStripe\ElementalBlocks\Tests\Block;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\ElementalBlocks\Block\BannerBlock;
7
use SilverStripe\Forms\HTMLEditor\TinyMCEConfig;
8
use SilverStripe\View\Requirements;
9
10
class BannerBlockTest extends SapphireTest
11
{
12
    public function testTinyMceJavascriptIsRequiredBeforeBlocks()
13
    {
14
        $block = new BannerBlock;
15
        $block->getCMSFields();
16
17
        $javascript = Requirements::backend()->getJavascript();
18
19
        // Ensure TinyMCE's scripts are loaded first
20
        $mcePath = TinyMCEConfig::get('cms')->getScriptURL();
21
        $this->assertArrayHasKey($mcePath, $javascript, 'TinyMCE is loaded first');
22
23
        // By pushing the bundle reference again, the size of the requirements shouldn't change
24
        $this->assertNotEmpty($javascript);
25
        Requirements::javascript('silverstripe/elemental-blocks:client/dist/js/bundle.js');
26
        $this->assertSame(
27
            count($javascript),
28
            count(Requirements::backend()->getJavascript()),
29
            'Blocks bundle is added'
30
        );
31
    }
32
}
33