ResourceDOTest   A
last analyzed

Complexity

Total Complexity 14

Size/Duplication

Total Lines 176
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 14
lcom 1
cbo 2
dl 0
loc 176
ccs 127
cts 127
cp 1
rs 10
c 2
b 0
f 0

14 Methods

Rating   Name   Duplication   Size   Complexity  
A getResourceDO() 0 4 1
A setUp() 0 5 1
A testReset() 0 7 1
A putTestValuesToResource() 0 9 1
A testGetMimeType() 0 6 1
A testGenerateFilePathForEmptyResource() 0 6 1
A testGenerateFilePathForMockedResource() 0 7 1
A testDimension() 0 17 1
A testCrop() 0 10 1
A getCropMock() 0 7 1
A testWidth() 0 14 1
A testHeight() 0 14 1
A testEmptyResourceToArray() 0 21 1
A testMockedResourceToArray() 0 23 1
1
<?php
2
namespace Staticus\Resources\Jpg;
3
4
use Staticus\Resources\Image\CropImageDO;
5
6
class ResourceDOTest extends \PHPUnit_Framework_TestCase
7
{
8
    /**
9
     * @var ResourceDO
10
     */
11
    protected $resourceDO;
12
13
    /**
14
     * @return ResourceDO
15
     */
16 10
    protected function getResourceDO()
17
    {
18 10
        return clone $this->resourceDO;
19
    }
20
21 10
    protected function setUp()
22
    {
23 10
        parent::setUp();
24 10
        $this->resourceDO = new ResourceDO();
25 10
    }
26
27 1
    public function testReset()
28
    {
29 1
        $resourceDO = $this->getResourceDO();
30 1
        $this->putTestValuesToResource($resourceDO);
31 1
        $resourceDO->reset();
32 1
        $this->assertEquals($this->resourceDO, $resourceDO);
33 1
    }
34
35 3
    protected function putTestValuesToResource(ResourceDO $resourceDO)
36
    {
37 3
        $crop = $this->getCropMock();
38
        $resourceDO
39 3
            ->setType('testtype')
40 3
            ->setWidth(2)
41 3
            ->setHeight(3)
42 3
            ->setCrop($crop);
43 3
    }
44
45 1
    public function testGetMimeType()
46
    {
47 1
        $resourceDO = $this->getResourceDO();
48 1
        $result = $resourceDO->getMimeType();
49 1
        $this->assertEquals('image/jpeg', $result);
50 1
    }
51
52 1
    public function testGenerateFilePathForEmptyResource()
53
    {
54 1
        $resourceDO = $this->getResourceDO();
55 1
        $result = $resourceDO->generateFilePath();
56 1
        $this->assertEquals('jpg/def/def/0/d41/0/d41d8cd98f00b204e9800998ecf8427e.jpg', $result);
57 1
    }
58
59 1
    public function testGenerateFilePathForMockedResource()
60
    {
61 1
        $resourceDO = $this->getResourceDO();
62 1
        $this->putTestValuesToResource($resourceDO);
63 1
        $result = $resourceDO->generateFilePath();
64 1
        $this->assertEquals('jpg/def/def/0/d41/2x3/d41d8cd98f00b204e9800998ecf8427e.jpg', $result);
65 1
    }
66
67 1
    public function testWidth()
68
    {
69 1
        $resourceDO = $this->getResourceDO();
70 1
        $result = $resourceDO->getWidth();
71 1
        $this->assertEquals(0, $result);
72 1
        $model = 30;
73 1
        $resourceDO->setWidth($model);
74 1
        $result = $resourceDO->getWidth();
75 1
        $this->assertEquals($model, $result);
76
77 1
        $result = $resourceDO->getFilePath();
78 1
        $model = 'jpg/def/def/0/d41/0/d41d8cd98f00b204e9800998ecf8427e.jpg';
79 1
        $this->assertEquals($model, $result);
80 1
    }
81
82 1
    public function testHeight()
83
    {
84 1
        $resourceDO = $this->getResourceDO();
85 1
        $result = $resourceDO->getHeight();
86 1
        $this->assertEquals(0, $result);
87 1
        $model = 30;
88 1
        $resourceDO->setHeight($model);
89 1
        $result = $resourceDO->getHeight();
90 1
        $this->assertEquals($model, $result);
91
92 1
        $result = $resourceDO->getFilePath();
93 1
        $model = 'jpg/def/def/0/d41/0/d41d8cd98f00b204e9800998ecf8427e.jpg';
94 1
        $this->assertEquals($model, $result);
95 1
    }
96
97 1
    public function testDimension()
98
    {
99 1
        $resourceDO = $this->getResourceDO();
100 1
        $result = $resourceDO->getDimension();
101 1
        $this->assertEquals(0, $result);
102 1
        $model = 30;
103 1
        $model2 = 31;
104 1
        $resourceDO->setWidth($model);
105 1
        $resourceDO->setHeight($model2);
106 1
        $result = $resourceDO->getDimension();
107 1
        $modelDimension = $model . 'x' . $model2;
108 1
        $this->assertEquals($modelDimension, $result);
109
110 1
        $result = $resourceDO->getFilePath();
111 1
        $model = 'jpg/def/def/0/d41/' . $modelDimension . '/d41d8cd98f00b204e9800998ecf8427e.jpg';
112 1
        $this->assertEquals($model, $result);
113 1
    }
114
115 1
    public function testCrop()
116
    {
117 1
        $resourceDO = $this->getResourceDO();
118 1
        $result = $resourceDO->getCrop();
119 1
        $this->assertEmpty($result);
120 1
        $crop = $this->getCropMock();
121 1
        $resourceDO->setCrop($crop);
122 1
        $result = $resourceDO->getCrop();
123 1
        $this->assertEquals($crop, $result);
124 1
    }
125
126
    /**
127
     * @return \PHPUnit_Framework_MockObject_MockObject
128
     */
129 4
    protected function getCropMock()
130
    {
131 4
        $crop = $this->getMockBuilder(CropImageDO::class)
132 4
            ->getMock();
133
134 4
        return $crop;
135
    }
136 1
    public function testEmptyResourceToArray()
137
    {
138 1
        $resourceDO = $this->getResourceDO();
139
        $model = [
140 1
            'name' => '',
141 1
            'nameAlternative' => '',
142 1
            'namespace' => '',
143 1
            'new' => false,
144 1
            'recreate' => false,
145 1
            'type' => 'jpg',
146 1
            'uuid' => '',
147 1
            'variant' => 'def',
148 1
            'version' => 0,
149 1
            'height' => 0,
150 1
            'width' => 0,
151 1
            'dimension' => 0,
152 1
            'body' => '',
153 1
        ];
154 1
        $result = $resourceDO->toArray();
155 1
        $this->assertEquals($model, $result);
156 1
    }
157
158 1
    public function testMockedResourceToArray()
159
    {
160 1
        $resourceDO = $this->getResourceDO();
161
        $model = [
162 1
            'name' => '',
163 1
            'nameAlternative' => '',
164 1
            'namespace' => '',
165 1
            'new' => false,
166 1
            'recreate' => false,
167 1
            'type' => 'jpg',
168 1
            'uuid' => 'd41d8cd98f00b204e9800998ecf8427e',
169 1
            'variant' => 'def',
170 1
            'version' => 0,
171 1
            'height' => 3,
172 1
            'width' => 2,
173 1
            'dimension' => '2x3',
174 1
            'crop' => null,
175 1
            'body' => '',
176 1
        ];
177 1
        $this->putTestValuesToResource($resourceDO);
178 1
        $result = $resourceDO->toArray();
179 1
        $this->assertEquals($model, $result);
180 1
    }
181
}
182