fedi-feed-router/backend/tests/Traits/CreatesArticleFetcher.php
2025-08-15 18:20:19 +02:00

36 lines
No EOL
1.1 KiB
PHP

<?php
namespace Tests\Traits;
use Domains\Article\Services\ArticleFetcher;
use Domains\Logging\Services\LogSaver;
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];
}
}