2025-08-15 02:50:42 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Tests\Traits;
|
|
|
|
|
|
2025-08-15 16:39:18 +02:00
|
|
|
use Domains\Article\Services\ArticleFetcher;
|
|
|
|
|
use Domains\Logging\Services\LogSaver;
|
2025-08-15 02:50:42 +02:00
|
|
|
use Mockery;
|
|
|
|
|
|
|
|
|
|
trait CreatesArticleFetcher
|
|
|
|
|
{
|
|
|
|
|
protected function createArticleFetcher(?LogSaver $logSaver = null): ArticleFetcher
|
|
|
|
|
{
|
|
|
|
|
if (!$logSaver) {
|
|
|
|
|
$logSaver = Mockery::mock(LogSaver::class);
|
|
|
|
|
$logSaver->shouldReceive('info')->zeroOrMoreTimes();
|
|
|
|
|
$logSaver->shouldReceive('warning')->zeroOrMoreTimes();
|
|
|
|
|
$logSaver->shouldReceive('error')->zeroOrMoreTimes();
|
|
|
|
|
$logSaver->shouldReceive('debug')->zeroOrMoreTimes();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return new ArticleFetcher($logSaver);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected function createArticleFetcherWithMockedLogSaver(): array
|
|
|
|
|
{
|
|
|
|
|
$logSaver = Mockery::mock(LogSaver::class);
|
|
|
|
|
$logSaver->shouldReceive('info')->zeroOrMoreTimes();
|
|
|
|
|
$logSaver->shouldReceive('warning')->zeroOrMoreTimes();
|
|
|
|
|
$logSaver->shouldReceive('error')->zeroOrMoreTimes();
|
|
|
|
|
$logSaver->shouldReceive('debug')->zeroOrMoreTimes();
|
|
|
|
|
|
|
|
|
|
$articleFetcher = new ArticleFetcher($logSaver);
|
|
|
|
|
|
|
|
|
|
return [$articleFetcher, $logSaver];
|
|
|
|
|
}
|
|
|
|
|
}
|