PostsSpec::setupPostsApi()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 12
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 14
rs 9.8666
1
<?php
2
3
namespace App\Tests\Modules\Posts\Unit;
4
5
use App\Modules\Posts\Api\PostsApiInterface;
6
use App\Modules\Posts\Domain\PostsApi;
7
use App\Tests\Modules\Posts\Unit\Repository\InMemoryPostsRepository;
8
use App\Tests\Modules\Posts\Unit\Transaction\InMemoryPostTransactionFactory;
9
use App\Tests\TestUtils\Events\InMemoryEventPublisher;
10
use App\Tests\TestUtils\Security\InMemoryLoggedInUserProvider;
11
use PHPUnit\Framework\TestCase;
12
use Psr\Log\LoggerInterface;
13
14
abstract class PostsSpec extends TestCase
15
{
16
    protected PostsApiInterface $postsApi;
17
18
    /**
19
     * @before
20
     */
21
    protected function setupPostsApi()
22
    {
23
        $repository = new InMemoryPostsRepository();
24
        $this->postsApi = new PostsApi(
25
            new InMemoryEventPublisher(),
26
            $repository,
27
            $repository,
28
            $repository,
29
            $repository,
30
            new InMemoryLoggedInUserProvider(),
31
            new InMemoryPostTransactionFactory(),
32
            $repository,
33
            $repository,
34
            $this->createMock(LoggerInterface::class)
35
        );
36
    }
37
}