Apply fixes for PHPUnit 13

This commit is contained in:
Alejandro Celaya
2026-02-09 12:35:39 +01:00
parent 03e9117f13
commit 197cfa8811
10 changed files with 20 additions and 23 deletions

View File

@@ -50,7 +50,7 @@ class CreateShortUrlCommandTest extends TestCase
$this->urlShortener->expects($this->once())->method('shorten')->withAnyParameters()->willReturn( $this->urlShortener->expects($this->once())->method('shorten')->withAnyParameters()->willReturn(
UrlShorteningResult::withoutErrorOnEventDispatching($shortUrl), UrlShorteningResult::withoutErrorOnEventDispatching($shortUrl),
); );
$this->stringifier->method('stringify')->with($shortUrl)->willReturn('stringified_short_url'); $this->stringifier->method('stringify')->willReturnMap([[$shortUrl, 'stringified_short_url']]);
$this->commandTester->execute([ $this->commandTester->execute([
'long-url' => 'http://domain.com/foo/bar', 'long-url' => 'http://domain.com/foo/bar',
@@ -70,7 +70,7 @@ class CreateShortUrlCommandTest extends TestCase
$this->urlShortener->expects($this->once())->method('shorten')->withAnyParameters()->willReturn( $this->urlShortener->expects($this->once())->method('shorten')->withAnyParameters()->willReturn(
UrlShorteningResult::withoutErrorOnEventDispatching($shortUrl), UrlShorteningResult::withoutErrorOnEventDispatching($shortUrl),
); );
$this->stringifier->method('stringify')->with($shortUrl)->willReturn('stringified_short_url'); $this->stringifier->method('stringify')->willReturnMap([[$shortUrl, 'stringified_short_url']]);
$this->commandTester->setInputs([$shortUrl->getLongUrl()]); $this->commandTester->setInputs([$shortUrl->getLongUrl()]);
$this->commandTester->execute([]); $this->commandTester->execute([]);
@@ -101,7 +101,7 @@ class CreateShortUrlCommandTest extends TestCase
return true; return true;
}), }),
)->willReturn(UrlShorteningResult::withoutErrorOnEventDispatching($shortUrl)); )->willReturn(UrlShorteningResult::withoutErrorOnEventDispatching($shortUrl));
$this->stringifier->method('stringify')->with($shortUrl)->willReturn('stringified_short_url'); $this->stringifier->method('stringify')->willReturnMap([[$shortUrl, 'stringified_short_url']]);
$this->commandTester->execute([ $this->commandTester->execute([
'long-url' => 'http://domain.com/foo/bar', 'long-url' => 'http://domain.com/foo/bar',

View File

@@ -113,7 +113,7 @@ class RedirectRuleHandlerTest extends TestCase
array $expectedConditions, array $expectedConditions,
bool $continue = false, bool $continue = false,
): void { ): void {
$this->io->expects($this->any())->method('ask')->willReturnCallback( $this->io->method('ask')->willReturnCallback(
fn (string $message): string|int => match ($message) { fn (string $message): string|int => match ($message) {
'Rule priority (the lower the value, the higher the priority)' => 2, // Add in between existing rules 'Rule priority (the lower the value, the higher the priority)' => 2, // Add in between existing rules
'Long URL to redirect when the rule matches' => 'https://example.com/new-two', 'Long URL to redirect when the rule matches' => 'https://example.com/new-two',
@@ -127,7 +127,7 @@ class RedirectRuleHandlerTest extends TestCase
default => '', default => '',
}, },
); );
$this->io->expects($this->any())->method('choice')->willReturnCallback( $this->io->method('choice')->willReturnCallback(
function (string $message) use (&$callIndex, $type): string { function (string $message) use (&$callIndex, $type): string {
$callIndex++; $callIndex++;
@@ -241,7 +241,7 @@ class RedirectRuleHandlerTest extends TestCase
#[Test] #[Test]
public function existingRulesCanBeReArranged(): void public function existingRulesCanBeReArranged(): void
{ {
$this->io->expects($this->any())->method('ask')->willReturnCallback( $this->io->method('ask')->willReturnCallback(
fn (string $message): string|int => match ($message) { fn (string $message): string|int => match ($message) {
'Rule priority (the lower the value, the higher the priority)' => 1, 'Rule priority (the lower the value, the higher the priority)' => 1,
default => '', default => '',

View File

@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace ShlinkioTest\Shlink\CLI\Util; namespace ShlinkioTest\Shlink\CLI\Util;
use PHPUnit\Framework\Assert;
use PHPUnit\Framework\MockObject\Generator\Generator; use PHPUnit\Framework\MockObject\Generator\Generator;
use PHPUnit\Framework\MockObject\Stub; use PHPUnit\Framework\MockObject\Stub;
use Symfony\Component\Console\Application; use Symfony\Component\Console\Application;
@@ -32,7 +31,6 @@ class CliTestUtils
$command->method('isEnabled')->willReturn(true); $command->method('isEnabled')->willReturn(true);
$command->method('getAliases')->willReturn([]); $command->method('getAliases')->willReturn([]);
$command->method('getDefinition')->willReturn(new InputDefinition()); $command->method('getDefinition')->willReturn(new InputDefinition());
$command->method('setApplication')->with(Assert::isInstanceOf(Application::class));
return $command; return $command;
} }

View File

@@ -111,7 +111,7 @@ class DomainServiceTest extends TestCase
#[Test, AllowMockObjectsWithoutExpectations] #[Test, AllowMockObjectsWithoutExpectations]
public function getDomainThrowsExceptionWhenDomainIsNotFound(): void public function getDomainThrowsExceptionWhenDomainIsNotFound(): void
{ {
$this->em->method('find')->with(Domain::class, '123')->willReturn(null); $this->em->method('find')->willReturnMap([[Domain::class, '123', null]]);
$this->expectException(DomainNotFoundException::class); $this->expectException(DomainNotFoundException::class);
@@ -122,7 +122,7 @@ class DomainServiceTest extends TestCase
public function getDomainReturnsEntityWhenFound(): void public function getDomainReturnsEntityWhenFound(): void
{ {
$domain = Domain::withAuthority(''); $domain = Domain::withAuthority('');
$this->em->method('find')->with(Domain::class, '123')->willReturn($domain); $this->em->method('find')->willReturnMap([[Domain::class, '123', $domain]]);
$result = $this->domainService->getDomain('123'); $result = $this->domainService->getDomain('123');
@@ -136,7 +136,6 @@ class DomainServiceTest extends TestCase
$this->repo->expects($this->once())->method('findOneByAuthority')->with($authority, $apiKey)->willReturn( $this->repo->expects($this->once())->method('findOneByAuthority')->with($authority, $apiKey)->willReturn(
$foundDomain, $foundDomain,
); );
$this->em->method('persist')->with($foundDomain ?? $this->isInstanceOf(Domain::class));
$result = $this->domainService->getOrCreate($authority, $apiKey); $result = $this->domainService->getOrCreate($authority, $apiKey);
@@ -168,7 +167,6 @@ class DomainServiceTest extends TestCase
$this->repo->expects($this->once())->method('findOneByAuthority')->with($authority, $apiKey)->willReturn( $this->repo->expects($this->once())->method('findOneByAuthority')->with($authority, $apiKey)->willReturn(
$foundDomain, $foundDomain,
); );
$this->em->method('persist')->with($foundDomain ?? $this->isInstanceOf(Domain::class));
$result = $this->domainService->configureNotFoundRedirects($authority, NotFoundRedirects::withRedirects( $result = $this->domainService->configureNotFoundRedirects($authority, NotFoundRedirects::withRedirects(
'foo.com', 'foo.com',

View File

@@ -229,7 +229,7 @@ class ImportedLinksProcessorTest extends TestCase
$this->em->expects($this->exactly($amountOfPersistedVisits + ($foundShortUrl === null ? 1 : 0)))->method( $this->em->expects($this->exactly($amountOfPersistedVisits + ($foundShortUrl === null ? 1 : 0)))->method(
'persist', 'persist',
)->with($this->callback(fn (object $arg) => $arg instanceof ShortUrl || $arg instanceof Visit)); )->with($this->callback(fn (object $arg) => $arg instanceof ShortUrl || $arg instanceof Visit));
$this->em->expects($this->any())->method('find')->willReturn(null); $this->em->method('find')->willReturn(null);
$this->io->expects($this->once())->method('text')->with($this->stringContains($expectedOutput)); $this->io->expects($this->once())->method('text')->with($this->stringContains($expectedOutput));
$this->processor->process($this->io, ImportResult::withShortUrls([$importedUrl]), $this->buildParams()); $this->processor->process($this->io, ImportResult::withShortUrls([$importedUrl]), $this->buildParams());

View File

@@ -116,15 +116,12 @@ class MatomoVisitSenderTest extends TestCase
#[Test, DataProvider('provideUrlsToTrack')] #[Test, DataProvider('provideUrlsToTrack')]
public function properUrlIsTracked(Visit $visit, string $expectedTrackedUrl): void public function properUrlIsTracked(Visit $visit, string $expectedTrackedUrl): void
{ {
$tracker = $this->createMock(MatomoTracker::class); $tracker = $this->createStub(MatomoTracker::class);
$tracker->expects($this->once())->method('setUrl')->with($expectedTrackedUrl)->willReturn($tracker); $tracker->method('setUrl')->willReturn($tracker);
$tracker->expects($this->once())->method('setUserAgent')->willReturn($tracker); $tracker->method('setUserAgent')->willReturn($tracker);
$tracker->expects($this->once())->method('setUrlReferrer')->willReturn($tracker); $tracker->method('setUrlReferrer')->willReturn($tracker);
$tracker->expects($this->any())->method('setCustomTrackingParameter')->willReturn($tracker); $tracker->method('setCustomTrackingParameter')->willReturn($tracker);
$tracker->expects($this->once())->method('doTrackPageView'); $tracker->method('doTrackPageView');
$tracker->expects($this->once())->method('setForceVisitDateTime')->with(
$visit->date->setTimezone('UTC')->toDateTimeString(),
);
$this->trackerBuilder->expects($this->once())->method('buildMatomoTracker')->willReturn($tracker); $this->trackerBuilder->expects($this->once())->method('buildMatomoTracker')->willReturn($tracker);
@@ -156,7 +153,7 @@ class MatomoVisitSenderTest extends TestCase
$visitor = Visitor::empty(); $visitor = Visitor::empty();
$bot = Visitor::botInstance(); $bot = Visitor::botInstance();
$this->visitIterationRepository->method('findAllVisits')->with($dateRange)->willReturn([ $this->visitIterationRepository->method('findAllVisits')->willReturn([
Visit::forBasePath($bot), Visit::forBasePath($bot),
Visit::forValidShortUrl(ShortUrl::createFake(), $visitor), Visit::forValidShortUrl(ShortUrl::createFake(), $visitor),
Visit::forInvalidShortUrl($visitor), Visit::forInvalidShortUrl($visitor),

View File

@@ -8,6 +8,7 @@
displayDetailsOnTestsThatTriggerWarnings="true" displayDetailsOnTestsThatTriggerWarnings="true"
displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnPhpunitNotices="true" displayDetailsOnPhpunitNotices="true"
displayDetailsOnPhpunitDeprecations="true"
displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnTestsThatTriggerNotices="true"
> >
<testsuites> <testsuites>

View File

@@ -8,6 +8,7 @@
displayDetailsOnTestsThatTriggerWarnings="true" displayDetailsOnTestsThatTriggerWarnings="true"
displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnPhpunitNotices="true" displayDetailsOnPhpunitNotices="true"
displayDetailsOnPhpunitDeprecations="true"
displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnTestsThatTriggerNotices="true"
> >
<testsuites> <testsuites>

View File

@@ -8,6 +8,7 @@
displayDetailsOnTestsThatTriggerWarnings="true" displayDetailsOnTestsThatTriggerWarnings="true"
displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnPhpunitNotices="true" displayDetailsOnPhpunitNotices="true"
displayDetailsOnPhpunitDeprecations="true"
displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnTestsThatTriggerNotices="true"
> >
<testsuites> <testsuites>

View File

@@ -8,6 +8,7 @@
displayDetailsOnTestsThatTriggerWarnings="true" displayDetailsOnTestsThatTriggerWarnings="true"
displayDetailsOnTestsThatTriggerDeprecations="true" displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnPhpunitNotices="true" displayDetailsOnPhpunitNotices="true"
displayDetailsOnPhpunitDeprecations="true"
displayDetailsOnTestsThatTriggerNotices="true" displayDetailsOnTestsThatTriggerNotices="true"
> >
<testsuites> <testsuites>