Passed
Push — master ( d26101...1eb4af )
by Gabor
03:11
created

FakeViewAction   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 0
Metric Value
dl 0
loc 36
c 0
b 0
f 0
wmc 3
lcom 1
cbo 4
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getTemplateName() 0 4 1
A getTemplateData() 0 18 1
1
<?php
2
3
namespace WebHemi\Middleware\Action;
4
5
use WebHemi\Adapter\Http\ResponseInterface;
6
use WebHemi\Adapter\Http\ServerRequestInterface;
7
use WebHemi\DataEntity\User\UserEntity;
8
use WebHemi\DataStorage\User\UserStorage;
9
use WebHemi\Middleware\AbstractMiddlewareAction;
10
11
/**
12
 * Class FakeViewAction
13
 *
14
 * @codeCoverageIgnore - only for test purposes
15
 */
16
class FakeViewAction extends AbstractMiddlewareAction
17
{
18
    /** @var UserStorage */
19
    private $userStorage;
20
21
    private $template = 'blog-post';
22
23
    public function __construct(UserStorage $userStorage)
24
    {
25
        $this->userStorage = $userStorage;
26
    }
27
28
    public function getTemplateName()
29
    {
30
        return $this->template;
31
    }
32
33
    public function getTemplateData()
34
    {
35
        /** @var UserEntity $userEntity */
36
        $userEntity = $this->userStorage->getUserById(1);
37
        $routingParams = $this->request->getAttribute(ServerRequestInterface::REQUEST_ATTR_ROUTING_PARAMETERS);
38
39
        return [
40
            'blogPost' => [
41
                'title'       => 'Fake test',
42
                'publishedAt' => time(),
43
                'author'      => [
44
                    'name' => $userEntity->getUserName()
45
                ],
46
                'content'     => 'Lorem ipsum dolor sit amet...',
47
                'parameter'   => $routingParams
48
            ]
49
        ];
50
    }
51
}
52