ModuleTest::testModule()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 56
Code Lines 44

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 56
rs 9.7251
c 0
b 0
f 0
cc 1
eloc 44
nc 1
nop 0

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
namespace WebCMS\Tests;
4
5
class ModuleTest extends \WebCMS\Tests\BasicTestCase
6
{
7
    public function testModule()
8
    {
9
        $moduleMock = $this->getMockForAbstractClass('WebCMS\Module');
10
11
        $moduleMock->setName('Test module');
12
        $moduleMock->setAuthor('Name Surname');
13
        $moduleMock->setPresenters(array(
14
                    array(
15
                        'name' => 'Module',
16
                        'frontend' => TRUE,
17
                        'parameters' => FALSE,
18
                        ),
19
                    array(
20
                        'name' => 'Settings',
21
                        'frontend' => FALSE,
22
                        ),
23
                    ));
24
25
        $moduleMock->addBox('name', 'Module', 'function', 'ModuleName');
26
27
        $moduleMock->getPresenterSettings('Module - the bad one');
28
        $presenter = $moduleMock->getPresenterSettings('Module');
29
30
        $this->assertEquals('Test module', $moduleMock->getName());
31
        $this->assertEquals('Name Surname', $moduleMock->getAuthor());
32
        $this->assertCount(2, $moduleMock->getPresenters());
33
        $this->assertEquals(array(
34
                        array(
35
                            'name' => 'Module',
36
                            'frontend' => TRUE,
37
                            'parameters' => FALSE,
38
                            ),
39
                        array(
40
                            'name' => 'Settings',
41
                            'frontend' => FALSE,
42
                            ),
43
                    ), $moduleMock->getPresenters());
44
        $this->assertEquals('Module', $presenter['name']);
45
        $this->assertTrue($presenter['frontend']);
46
        $this->assertFalse($presenter['parameters']);
47
        $this->assertEquals(array(array(
48
            'key' => 'name',
49
            'name' => 'name',
50
            'presenter' => 'Module',
51
            'module' => 'ModuleName',
52
            'function' => 'function',
53
        )), $moduleMock->getBoxes());
54
        $this->assertFalse($moduleMock->isSearchable());
55
        $this->assertFalse($moduleMock->isTranslatable());
56
        $this->assertFalse($moduleMock->isSearchable());
57
58
        $moduleMock->isCloneable();
59
        $moduleMock->cloneData($this->em, 1, 1, array());
60
        $moduleMock->translateData($this->em, 1, 1, array(), $this->getMock('\Webcook\Translator\ITranslator'));
61
        $moduleMock->search($this->em, 'test', $this->getMock('\WebCMS\Entity\Language'));
62
    }
63
}
64