Completed
Push — master ( 7e3127...a09c74 )
by Gabor
04:27
created

FakeAction   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 3
Bugs 0 Features 2
Metric Value
c 3
b 0
f 2
dl 0
loc 46
wmc 2
lcom 0
cbo 3
ccs 0
cts 35
cp 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
B __invoke() 0 35 1
1
<?php
2
3
namespace WebHemi\Middleware\Action;
4
5
use Psr\Http\Message\ResponseInterface;
6
use Psr\Http\Message\ServerRequestInterface;
7
use WebHemi\DataEntity\User\UserEntity;
8
use WebHemi\DataStorage\User\UserStorage;
9
use WebHemi\Middleware\MiddlewareInterface;
10
11
class FakeAction implements MiddlewareInterface
12
{
13
    /** @var UserStorage */
14
    private $userStorage;
15
16
    public function __construct(UserStorage $userStorage)
17
    {
18
        $this->userStorage = $userStorage;
19
    }
20
21
    public function __invoke(ServerRequestInterface &$request, ResponseInterface $response)
22
    {
23
        /** @var UserEntity $userEntity */
24
        $userEntity = $this->userStorage->getUserById(1);
25
26
        $template = 'blog-list';
27
        $data = [
28
            'blogPosts' => [
29
                [
30
                    'title'       => 'Fake test 1',
31
                    'slug'        => 'fake_1',
32
                    'publishedAt' => time(),
33
                    'author'      => [
34
                        'name' => $userEntity->getUserName()
35
                    ],
36
                    'content'     => 'Lorem ipsum dolor sit amet...'
37
                ],
38
                [
39
                    'title'       => 'Fake test 2',
40
                    'slug'        => 'fake_2',
41
                    'publishedAt' => time(),
42
                    'author'      => [
43
                        'name' => 'Jane Doe'
44
                    ],
45
                    'content'     => 'Lorem ipsum dolor sit amet...'
46
                ]
47
            ]
48
        ];
49
50
        $request = $request
51
            ->withAttribute('template', $template)
52
            ->withAttribute('data', $data);
53
54
        return $response;
55
    }
56
}
57