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

ArticleTranslationMessageSpec   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\Article;
4
5
use PhpSpec\ObjectBehavior;
6
7
use Yproximite\Api\Model\Article\ArticleTranslation;
8
use Yproximite\Api\Message\Article\ArticleTranslationMessage;
9
10
class ArticleTranslationMessageSpec extends ObjectBehavior
11
{
12
    function it_is_initializable()
13
    {
14
        $this->shouldHaveType(ArticleTranslationMessage::class);
15
    }
16
17
    function it_should_build()
18
    {
19
        $this->setTitle('Big title');
20
        $this->setBody('Long body');
21
22
        $data = [
23
            'title' => 'Big title',
24
            'body'  => 'Long body',
25
        ];
26
27
        $this->build()->shouldReturn($data);
28
    }
29
30
    function it_should_create_from_article_translation(ArticleTranslation $translation)
31
    {
32
        $translation->getLocale()->willReturn('en');
33
        $translation->getTitle()->willReturn('Big title');
34
        $translation->getBody()->willReturn('Long body');
35
36
        $message = new ArticleTranslationMessage();
37
        $message->setLocale('en');
38
        $message->setTitle('Big title');
39
        $message->setBody('Long body');
40
41
        $this::createFromArticleTranslation($translation)->shouldBeLike($message);
42
    }
43
}
44