Completed
Push — master ( 5cf2d8...46bcff )
by Damian
13s
created

SubsiteFunctionalTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 1
lcom 1
cbo 2
dl 0
loc 33
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B testIfSubsiteThemeIsSetToThemeList() 0 25 1
1
<?php
2
3
namespace SilverStripe\Subsites\Tests;
4
5
use Page;
6
use SilverStripe\Dev\FunctionalTest;
7
use SilverStripe\Subsites\Model\Subsite;
8
use SilverStripe\View\SSViewer;
9
10
class SubsiteFunctionalTest extends FunctionalTest
11
{
12
    protected static $fixture_file = 'SubsiteTest.yml';
13
14
    /**
15
     * @todo: remove test from SiteTreeSubsitesTest when this one works. Seems domain lookup is broken atm
16
     */
17
    public function testIfSubsiteThemeIsSetToThemeList()
18
    {
19
        $this->markTestSkipped('doesn\'t work somehow - refactor when domain lookup is working');
20
        $defaultThemes = ['default'];
21
        SSViewer::set_themes($defaultThemes);
22
23
        $subsitePage = $this->objFromFixture(Page::class, 'contact');
24
        $this->get($subsitePage->AbsoluteLink());
25
        $this->assertEquals($subsitePage->SubsiteID, SubsiteState::singleton()->getSubsiteId(), 'Subsite should be changed');
26
        $this->assertEquals(
27
            SSViewer::get_themes(),
28
            $defaultThemes,
29
            'Themes should not be modified when Subsite has no theme defined'
30
        );
31
32
        $pageWithTheme = $this->objFromFixture(Page::class, 'subsite1_contactus');
33
        $this->get($pageWithTheme->AbsoluteLink());
34
        $subsiteTheme = $pageWithTheme->Subsite()->Theme;
35
        $this->assertEquals($pageWithTheme->SubsiteID, SubsiteState::singleton()->getSubsiteId(), 'Subsite should be changed');
36
        $this->assertEquals(
37
            SSViewer::get_themes(),
38
            array_merge([$subsiteTheme], $defaultThemes),
39
            'Themes should be modified when Subsite has theme defined'
40
        );
41
    }
42
}
43