SettingsTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
B testSettings() 0 41 1
1
<?php
2
3
class SettingsTest extends \WebCMS\Tests\EntityTestCase
4
{
5
    public function testSettings()
6
    {
7
        $language = new WebCMS\Entity\Language();
8
        $language->setName('English');
9
        $language->setAbbr('en');
10
        $language->setDefaultFrontend(true);
11
        $language->setDefaultBackend(true);
12
        $language->setLocale('en_US.utf8');
13
14
        $this->em->persist($language);
15
        $this->em->flush();
16
17
        $settings = new \WebCMS\Settings($this->em, $language);
18
19
        $settings->get('testKey', 'testSection', null, array(
20
            1 => 'first',
21
            2 => 'second',
22
        ), true);
23
24
        $setting = $settings->get('testKey', 'testSection', 'option', array(
25
            1 => 'first',
26
            2 => 'second',
27
        ), true);
28
29
        $settings->setLanguage(1);
30
31
        $falseSection = $settings->getSection('asd', 'unknown');
32
        $this->assertFalse($falseSection);
33
34
        $settings->setSettings(array('testSection' => array(0 => $setting)));
35
        $section = $settings->getSection('testSection');
36
37
        $this->assertEquals('testKey', $setting->getKey());
38
        $this->assertEquals('testSection', $setting->getSection());
39
        $this->assertEquals(array(
40
            1 => 'first',
41
            2 => 'second',
42
        ), $setting->getOptions());
43
        $this->assertEquals(array('testSection' => array(0 => $setting)), $settings->getSettings());
44
        $this->assertEquals(array(0 => $setting), $section);
45
    }
46
}
47