ElementControllerTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 32
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testForTemplate() 0 8 1
A setUp() 0 5 1
1
<?php
2
3
namespace DNADesign\Elemental\Tests;
4
5
use DNADesign\Elemental\Extensions\ElementalPageExtension;
6
use DNADesign\Elemental\Tests\Src\TestElement;
7
use DNADesign\Elemental\Tests\Src\TestElementController;
8
use DNADesign\Elemental\Tests\Src\TestPage;
9
use SilverStripe\Dev\FunctionalTest;
10
use SilverStripe\Versioned\Versioned;
11
12
class ElementControllerTest extends FunctionalTest
13
{
14
    protected static $fixture_file = 'ElementControllerTest.yml';
15
16
    protected static $use_draft_site = true;
17
18
    protected static $required_extensions = [
19
        TestPage::class => [
20
            ElementalPageExtension::class,
21
        ],
22
    ];
23
24
    protected static $extra_dataobjects = [
25
        TestPage::class,
26
        TestElement::class
27
    ];
28
29
    protected function setUp()
30
    {
31
        Versioned::set_stage(Versioned::DRAFT);
32
33
        parent::setUp();
34
    }
35
36
    public function testForTemplate()
37
    {
38
        $element = $this->objFromFixture(TestElement::class, 'element1');
39
        // Although we read from Versioned::DRAFT, Versioned will still block draft content view permissions
40
        $this->logInWithPermission('ADMIN');
41
        $controller = new TestElementController($element);
42
43
        $this->assertContains('Hello Test', $controller->forTemplate());
44
    }
45
}
46