SettingTest::initSetting()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 19
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 19
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 15
nc 1
nop 0
1
<?php
2
3
class SettingTest extends \WebCMS\Tests\EntityTestCase
4
{
5
    protected $setting;
6
7
    public function testSetting()
8
    {
9
        $this->initSetting();
10
11
        $this->em->persist($this->setting);
12
        $this->em->flush();
13
14
        $settings = $this->em->getRepository('WebCMS\Entity\Setting')->findAll();
15
16
        $this->assertCount(1, $settings);
17
        $this->assertInstanceOf('WebCMS\Entity\Language', $settings[0]->getLanguage());
18
        $this->assertEquals('key', $settings[0]->getKey());
19
        $this->assertEquals('section', $settings[0]->getSection());
20
        $this->assertEquals(array('a' => 'b'), $settings[0]->getOptions());
21
        $this->assertEquals('type', $settings[0]->getType());
22
        $this->assertEquals('value', $settings[0]->getValue());
23
        $this->assertEquals('value', $settings[0]->getValue(false));
24
25
        $this->em->remove($settings[0]->getLanguage());
26
        $this->em->remove($settings[0]);
27
28
        $this->em->flush();
29
30
        $settings = $this->em->getRepository('WebCMS\Entity\Setting')->findAll();
31
32
        $this->assertEquals(0, count($settings));
33
    }
34
35
    private function initSetting()
36
    {
37
        $language = new WebCMS\Entity\Language();
38
        $language->setAbbr('en');
39
        $language->setDefaultBackend(true);
40
        $language->setDefaultFrontend(true);
41
        $language->setLocale('utf');
42
        $language->setName('Name');
43
44
        $this->em->persist($language);
45
46
        $this->setting = new WebCMS\Entity\Setting();
47
        $this->setting->setKey('key');
48
        $this->setting->setOptions(array('a' => 'b'));
49
        $this->setting->setSection('section');
50
        $this->setting->setType('type');
51
        $this->setting->setValue('value');
52
        $this->setting->setLanguage($language);
53
    }
54
}
55