Completed
Push — scalar-types/ui ( 162de3 )
by Kamil
22:15
created

ShippingCategorySpec   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 66
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 11
lcom 0
cbo 1
dl 0
loc 66
rs 10
c 0
b 0
f 0

11 Methods

Rating   Name   Duplication   Size   Complexity  
A it_implements_shipping_category_interface() 0 4 1
A it_has_no_id_by_default() 0 4 1
A its_code_is_mutable() 0 5 1
A it_is_unnamed_by_default() 0 4 1
A its_name_is_mutable() 0 5 1
A it_has_no_description_by_default() 0 4 1
A its_description_is_mutable() 0 5 1
A it_initializes_creation_date_by_default() 0 4 1
A its_creation_date_is_mutable() 0 7 1
A it_has_no_last_update_date_by_default() 0 4 1
A its_last_update_date_is_mutable() 0 7 1
1
<?php
2
3
/*
4
 * This file is part of the Sylius package.
5
 *
6
 * (c) Paweł Jędrzejewski
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace spec\Sylius\Component\Shipping\Model;
15
16
use PhpSpec\ObjectBehavior;
17
use Sylius\Component\Shipping\Model\ShippingCategoryInterface;
18
19
/**
20
 * @author Paweł Jędrzejewski <[email protected]>
21
 */
22
final class ShippingCategorySpec extends ObjectBehavior
23
{
24
    function it_implements_shipping_category_interface(): void
25
    {
26
        $this->shouldImplement(ShippingCategoryInterface::class);
27
    }
28
29
    function it_has_no_id_by_default(): void
30
    {
31
        $this->getId()->shouldReturn(null);
32
    }
33
34
    function its_code_is_mutable(): void
35
    {
36
        $this->setCode('SC2');
37
        $this->getCode()->shouldReturn('SC2');
38
    }
39
40
    function it_is_unnamed_by_default(): void
41
    {
42
        $this->getName()->shouldReturn(null);
43
    }
44
45
    function its_name_is_mutable(): void
46
    {
47
        $this->setName('Shippingable goods');
48
        $this->getName()->shouldReturn('Shippingable goods');
49
    }
50
51
    function it_has_no_description_by_default(): void
52
    {
53
        $this->getDescription()->shouldReturn(null);
54
    }
55
56
    function its_description_is_mutable(): void
57
    {
58
        $this->setDescription('All shippingable goods');
59
        $this->getDescription()->shouldReturn('All shippingable goods');
60
    }
61
62
    function it_initializes_creation_date_by_default(): void
63
    {
64
        $this->getCreatedAt()->shouldHaveType(\DateTimeInterface::class);
65
    }
66
67
    function its_creation_date_is_mutable(): void
68
    {
69
        $date = new \DateTime();
70
71
        $this->setCreatedAt($date);
72
        $this->getCreatedAt()->shouldReturn($date);
73
    }
74
75
    function it_has_no_last_update_date_by_default(): void
76
    {
77
        $this->getUpdatedAt()->shouldReturn(null);
78
    }
79
80
    function its_last_update_date_is_mutable(): void
81
    {
82
        $date = new \DateTime();
83
84
        $this->setUpdatedAt($date);
85
        $this->getUpdatedAt()->shouldReturn($date);
86
    }
87
}
88