first commit
This commit is contained in:
89
tests/Post/PostMediaUsageReaderTest.php
Normal file
89
tests/Post/PostMediaUsageReaderTest.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\Post;
|
||||
|
||||
use App\Post\Domain\Repository\PostMediaUsageRepositoryInterface;
|
||||
use App\Post\Domain\ValueObject\PostMediaUsageReference;
|
||||
use App\Post\Infrastructure\PostMediaUsageReader;
|
||||
use Netig\Netslim\Media\Contracts\MediaUsageReference;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
#[\PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations]
|
||||
final class PostMediaUsageReaderTest extends TestCase
|
||||
{
|
||||
/** @var PostMediaUsageRepositoryInterface&MockObject */
|
||||
private PostMediaUsageRepositoryInterface $repository;
|
||||
|
||||
private PostMediaUsageReader $reader;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->repository = $this->createMock(PostMediaUsageRepositoryInterface::class);
|
||||
$this->reader = new PostMediaUsageReader($this->repository);
|
||||
}
|
||||
|
||||
public function testCountUsagesDelegatesToRepository(): void
|
||||
{
|
||||
$this->repository
|
||||
->expects($this->once())
|
||||
->method('countUsages')
|
||||
->with(12)
|
||||
->willReturn(4);
|
||||
|
||||
self::assertSame(4, $this->reader->countUsages(12));
|
||||
}
|
||||
|
||||
public function testCountUsagesByMediaIdsDelegatesToRepository(): void
|
||||
{
|
||||
$this->repository
|
||||
->expects($this->once())
|
||||
->method('countUsagesByMediaIds')
|
||||
->with([12, 18])
|
||||
->willReturn([12 => 4, 18 => 1]);
|
||||
|
||||
self::assertSame([12 => 4, 18 => 1], $this->reader->countUsagesByMediaIds([12, 18]));
|
||||
}
|
||||
|
||||
public function testFindUsagesDelegatesToRepository(): void
|
||||
{
|
||||
$repositoryReferences = [
|
||||
new PostMediaUsageReference(8, 'Titre', '/admin/posts/edit/8'),
|
||||
];
|
||||
|
||||
$expectedReferences = [
|
||||
new MediaUsageReference(8, 'Titre', '/admin/posts/edit/8'),
|
||||
];
|
||||
|
||||
$this->repository
|
||||
->expects($this->once())
|
||||
->method('findUsages')
|
||||
->with(12, 3)
|
||||
->willReturn($repositoryReferences);
|
||||
|
||||
self::assertEquals($expectedReferences, $this->reader->findUsages(12, 3));
|
||||
}
|
||||
|
||||
public function testFindUsagesByMediaIdsDelegatesToRepository(): void
|
||||
{
|
||||
$repositoryReferences = [
|
||||
12 => [new PostMediaUsageReference(8, 'Titre', '/admin/posts/edit/8')],
|
||||
18 => [new PostMediaUsageReference(14, 'Autre', '/admin/posts/edit/14')],
|
||||
];
|
||||
|
||||
$expectedReferences = [
|
||||
12 => [new MediaUsageReference(8, 'Titre', '/admin/posts/edit/8')],
|
||||
18 => [new MediaUsageReference(14, 'Autre', '/admin/posts/edit/14')],
|
||||
];
|
||||
|
||||
$this->repository
|
||||
->expects($this->once())
|
||||
->method('findUsagesByMediaIds')
|
||||
->with([12, 18], 3)
|
||||
->willReturn($repositoryReferences);
|
||||
|
||||
self::assertEquals($expectedReferences, $this->reader->findUsagesByMediaIds([12, 18], 3));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user