Passed
Pull Request — master (#12)
by romain
09:45
created

CompanyPatchMessageSpec   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 34
Duplicated Lines 100 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 3
dl 34
loc 34
rs 10
c 0
b 0
f 0

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
namespace spec\Yproximite\Api\Message\Company;
4
5
use PhpSpec\ObjectBehavior;
6
7
use Yproximite\Api\Model\Company\Company;
8
use Yproximite\Api\Message\Company\CompanyPatchMessage;
9
10
class CompanyPatchMessageSpec extends ObjectBehavior
11
{
12
    function it_is_initializable()
13
    {
14
        $this->shouldHaveType(CompanyPatchMessage::class);
15
    }
16
17
    function it_should_build()
18
    {
19
        $this->setParentId(5);
20
        $this->setName('First company');
21
22
        $data = [
23
            'companyName' => 'First company',
24
            'parent'      => 5,
25
        ];
26
27
        $this->build()->shouldReturn($data);
28
    }
29
30
    function it_should_create_from_company(Company $company)
31
    {
32
        $company->getId()->willReturn(1);
33
        $company->getName()->willReturn('First company');
34
        $company->getParentId()->willReturn(5);
35
36
        $message = new CompanyPatchMessage();
37
        $message->setId(1);
38
        $message->setName('First company');
39
        $message->setParentId(5);
40
41
        $this::createFromCompany($company)->shouldBeLike($message);
42
    }
43
}
44