1
0
Fork 0
mirror of https://github.com/shlinkio/shlink.git synced 2025-02-03 17:11:01 +03:00

Removed all uinnecessary usages of equalsTo param constraint

This commit is contained in:
Alejandro Celaya 2022-10-23 18:15:57 +02:00
parent 1fbcea7a06
commit 6a2227efc5
43 changed files with 272 additions and 423 deletions

View file

@ -36,11 +36,9 @@ class RoleResolverTest extends TestCase
array $expectedRoles, array $expectedRoles,
int $expectedDomainCalls, int $expectedDomainCalls,
): void { ): void {
$this->domainService $this->domainService->expects($this->exactly($expectedDomainCalls))->method('getOrCreate')->with(
->expects($this->exactly($expectedDomainCalls)) 'example.com',
->method('getOrCreate') )->willReturn(Domain::withAuthority('example.com')->setId('1'));
->with($this->equalTo('example.com'))
->willReturn(Domain::withAuthority('example.com')->setId('1'));
$result = $this->resolver->determineRoles($input); $result = $this->resolver->determineRoles($input);

View file

@ -29,7 +29,7 @@ class DisableKeyCommandTest extends TestCase
public function providedApiKeyIsDisabled(): void public function providedApiKeyIsDisabled(): void
{ {
$apiKey = 'abcd1234'; $apiKey = 'abcd1234';
$this->apiKeyService->expects($this->once())->method('disable')->with($this->equalTo($apiKey)); $this->apiKeyService->expects($this->once())->method('disable')->with($apiKey);
$this->commandTester->execute([ $this->commandTester->execute([
'apiKey' => $apiKey, 'apiKey' => $apiKey,
@ -44,9 +44,9 @@ class DisableKeyCommandTest extends TestCase
{ {
$apiKey = 'abcd1234'; $apiKey = 'abcd1234';
$expectedMessage = 'API key "abcd1234" does not exist.'; $expectedMessage = 'API key "abcd1234" does not exist.';
$this->apiKeyService->expects($this->once())->method('disable')->with( $this->apiKeyService->expects($this->once())->method('disable')->with($apiKey)->willThrowException(
$this->equalTo($apiKey), new InvalidArgumentException($expectedMessage),
)->willThrowException(new InvalidArgumentException($expectedMessage)); );
$this->commandTester->execute([ $this->commandTester->execute([
'apiKey' => $apiKey, 'apiKey' => $apiKey,

View file

@ -35,9 +35,7 @@ class ListKeysCommandTest extends TestCase
*/ */
public function returnsExpectedOutput(array $keys, bool $enabledOnly, string $expected): void public function returnsExpectedOutput(array $keys, bool $enabledOnly, string $expected): void
{ {
$this->apiKeyService->expects($this->once())->method('listKeys')->with( $this->apiKeyService->expects($this->once())->method('listKeys')->with($enabledOnly)->willReturn($keys);
$this->equalTo($enabledOnly),
)->willReturn($keys);
$this->commandTester->execute(['--enabled-only' => $enabledOnly]); $this->commandTester->execute(['--enabled-only' => $enabledOnly]);
$output = $this->commandTester->getDisplay(); $output = $this->commandTester->getDisplay();

View file

@ -87,7 +87,7 @@ class CreateDatabaseCommandTest extends TestCase
$shlinkDatabase = 'shlink_database'; $shlinkDatabase = 'shlink_database';
$this->regularConn->expects($this->once())->method('getParams')->willReturn(['dbname' => $shlinkDatabase]); $this->regularConn->expects($this->once())->method('getParams')->willReturn(['dbname' => $shlinkDatabase]);
$this->schemaManager->expects($this->once())->method('listDatabases')->willReturn(['foo', 'bar']); $this->schemaManager->expects($this->once())->method('listDatabases')->willReturn(['foo', 'bar']);
$this->schemaManager->expects($this->once())->method('createDatabase')->with($this->equalTo($shlinkDatabase)); $this->schemaManager->expects($this->once())->method('createDatabase')->with($shlinkDatabase);
$this->schemaManager->expects($this->once())->method('listTableNames')->willReturn( $this->schemaManager->expects($this->once())->method('listTableNames')->willReturn(
['foo_table', 'bar_table', MIGRATIONS_TABLE], ['foo_table', 'bar_table', MIGRATIONS_TABLE],
); );
@ -109,15 +109,12 @@ class CreateDatabaseCommandTest extends TestCase
); );
$this->schemaManager->expects($this->never())->method('createDatabase'); $this->schemaManager->expects($this->never())->method('createDatabase');
$this->schemaManager->expects($this->once())->method('listTableNames')->willReturn($tables); $this->schemaManager->expects($this->once())->method('listTableNames')->willReturn($tables);
$this->processHelper->expects($this->once())->method('run')->with( $this->processHelper->expects($this->once())->method('run')->with($this->isInstanceOf(OutputInterface::class), [
$this->isInstanceOf(OutputInterface::class),
$this->equalTo([
'/usr/local/bin/php', '/usr/local/bin/php',
CreateDatabaseCommand::DOCTRINE_SCRIPT, CreateDatabaseCommand::DOCTRINE_SCRIPT,
CreateDatabaseCommand::DOCTRINE_CREATE_SCHEMA_COMMAND, CreateDatabaseCommand::DOCTRINE_CREATE_SCHEMA_COMMAND,
'--no-interaction', '--no-interaction',
]), ]);
);
$this->driver->method('getDatabasePlatform')->willReturn($this->createMock(AbstractPlatform::class)); $this->driver->method('getDatabasePlatform')->willReturn($this->createMock(AbstractPlatform::class));
$this->commandTester->execute([]); $this->commandTester->execute([]);

View file

@ -41,15 +41,12 @@ class MigrateDatabaseCommandTest extends TestCase
/** @test */ /** @test */
public function migrationsCommandIsRunWithProperVerbosity(): void public function migrationsCommandIsRunWithProperVerbosity(): void
{ {
$this->processHelper->expects($this->once())->method('run')->with( $this->processHelper->expects($this->once())->method('run')->with($this->isInstanceOf(OutputInterface::class), [
$this->isInstanceOf(OutputInterface::class),
$this->equalTo([
'/usr/local/bin/php', '/usr/local/bin/php',
MigrateDatabaseCommand::DOCTRINE_MIGRATIONS_SCRIPT, MigrateDatabaseCommand::DOCTRINE_MIGRATIONS_SCRIPT,
MigrateDatabaseCommand::DOCTRINE_MIGRATE_COMMAND, MigrateDatabaseCommand::DOCTRINE_MIGRATE_COMMAND,
'--no-interaction', '--no-interaction',
]), ]);
);
$this->commandTester->execute([]); $this->commandTester->execute([]);
$output = $this->commandTester->getDisplay(); $output = $this->commandTester->getDisplay();

View file

@ -37,12 +37,12 @@ class DomainRedirectsCommandTest extends TestCase
public function onlyPlainQuestionsAreAskedForNewDomainsAndDomainsWithNoRedirects(?Domain $domain): void public function onlyPlainQuestionsAreAskedForNewDomainsAndDomainsWithNoRedirects(?Domain $domain): void
{ {
$domainAuthority = 'my-domain.com'; $domainAuthority = 'my-domain.com';
$this->domainService->expects($this->once())->method('findByAuthority')->with( $this->domainService->expects($this->once())->method('findByAuthority')->with($domainAuthority)->willReturn(
$this->equalTo($domainAuthority), $domain,
)->willReturn($domain); );
$this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with( $this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with(
$this->equalTo($domainAuthority), $domainAuthority,
$this->equalTo(NotFoundRedirects::withRedirects('foo.com', null, 'baz.com')), NotFoundRedirects::withRedirects('foo.com', null, 'baz.com'),
)->willReturn(Domain::withAuthority('')); )->willReturn(Domain::withAuthority(''));
$this->domainService->expects($this->never())->method('listDomains'); $this->domainService->expects($this->never())->method('listDomains');
@ -73,12 +73,12 @@ class DomainRedirectsCommandTest extends TestCase
$domain = Domain::withAuthority($domainAuthority); $domain = Domain::withAuthority($domainAuthority);
$domain->configureNotFoundRedirects(NotFoundRedirects::withRedirects('foo.com', 'bar.com', 'baz.com')); $domain->configureNotFoundRedirects(NotFoundRedirects::withRedirects('foo.com', 'bar.com', 'baz.com'));
$this->domainService->expects($this->once())->method('findByAuthority')->with( $this->domainService->expects($this->once())->method('findByAuthority')->with($domainAuthority)->willReturn(
$this->equalTo($domainAuthority), $domain,
)->willReturn($domain); );
$this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with( $this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with(
$this->equalTo($domainAuthority), $domainAuthority,
$this->equalTo(NotFoundRedirects::withRedirects(null, 'edited.com', 'baz.com')), NotFoundRedirects::withRedirects(null, 'edited.com', 'baz.com'),
)->willReturn($domain); )->willReturn($domain);
$this->domainService->expects($this->never())->method('listDomains'); $this->domainService->expects($this->never())->method('listDomains');
@ -102,12 +102,12 @@ class DomainRedirectsCommandTest extends TestCase
$domain = Domain::withAuthority($domainAuthority); $domain = Domain::withAuthority($domainAuthority);
$this->domainService->expects($this->once())->method('listDomains')->with()->willReturn([]); $this->domainService->expects($this->once())->method('listDomains')->with()->willReturn([]);
$this->domainService->expects($this->once())->method('findByAuthority')->with( $this->domainService->expects($this->once())->method('findByAuthority')->with($domainAuthority)->willReturn(
$this->equalTo($domainAuthority), $domain,
)->willReturn($domain); );
$this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with( $this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with(
$this->equalTo($domainAuthority), $domainAuthority,
$this->equalTo(NotFoundRedirects::withoutRedirects()), NotFoundRedirects::withoutRedirects(),
)->willReturn($domain); )->willReturn($domain);
$this->commandTester->setInputs([$domainAuthority, '', '', '']); $this->commandTester->setInputs([$domainAuthority, '', '', '']);
@ -128,12 +128,12 @@ class DomainRedirectsCommandTest extends TestCase
DomainItem::forNonDefaultDomain(Domain::withAuthority('existing-one.com')), DomainItem::forNonDefaultDomain(Domain::withAuthority('existing-one.com')),
DomainItem::forNonDefaultDomain(Domain::withAuthority($domainAuthority)), DomainItem::forNonDefaultDomain(Domain::withAuthority($domainAuthority)),
]); ]);
$this->domainService->expects($this->once())->method('findByAuthority')->with( $this->domainService->expects($this->once())->method('findByAuthority')->with($domainAuthority)->willReturn(
$this->equalTo($domainAuthority), $domain,
)->willReturn($domain); );
$this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with( $this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with(
$this->equalTo($domainAuthority), $domainAuthority,
$this->equalTo(NotFoundRedirects::withoutRedirects()), NotFoundRedirects::withoutRedirects(),
)->willReturn($domain); )->willReturn($domain);
$this->commandTester->setInputs(['1', '', '', '']); $this->commandTester->setInputs(['1', '', '', '']);
@ -157,12 +157,12 @@ class DomainRedirectsCommandTest extends TestCase
DomainItem::forNonDefaultDomain(Domain::withAuthority('existing-one.com')), DomainItem::forNonDefaultDomain(Domain::withAuthority('existing-one.com')),
DomainItem::forNonDefaultDomain(Domain::withAuthority('existing-two.com')), DomainItem::forNonDefaultDomain(Domain::withAuthority('existing-two.com')),
]); ]);
$this->domainService->expects($this->once())->method('findByAuthority')->with( $this->domainService->expects($this->once())->method('findByAuthority')->with($domainAuthority)->willReturn(
$this->equalTo($domainAuthority), $domain,
)->willReturn($domain); );
$this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with( $this->domainService->expects($this->once())->method('configureNotFoundRedirects')->with(
$this->equalTo($domainAuthority), $domainAuthority,
$this->equalTo(NotFoundRedirects::withoutRedirects()), NotFoundRedirects::withoutRedirects(),
)->willReturn($domain); )->willReturn($domain);
$this->commandTester->setInputs(['2', $domainAuthority, '', '', '']); $this->commandTester->setInputs(['2', $domainAuthority, '', '', '']);

View file

@ -46,10 +46,10 @@ class GetDomainVisitsCommandTest extends TestCase
); );
$domain = 'doma.in'; $domain = 'doma.in';
$this->visitsHelper->expects($this->once())->method('visitsForDomain')->with( $this->visitsHelper->expects($this->once())->method('visitsForDomain')->with(
$this->equalTo($domain), $domain,
$this->anything(), $this->anything(),
)->willReturn(new Paginator(new ArrayAdapter([$visit]))); )->willReturn(new Paginator(new ArrayAdapter([$visit])));
$this->stringifier->expects($this->once())->method('stringify')->with($this->equalTo($shortUrl))->willReturn( $this->stringifier->expects($this->once())->method('stringify')->with($shortUrl)->willReturn(
'the_short_url', 'the_short_url',
); );

View file

@ -47,7 +47,7 @@ class CreateShortUrlCommandTest extends TestCase
{ {
$shortUrl = ShortUrl::createEmpty(); $shortUrl = ShortUrl::createEmpty();
$this->urlShortener->expects($this->once())->method('shorten')->withAnyParameters()->willReturn($shortUrl); $this->urlShortener->expects($this->once())->method('shorten')->withAnyParameters()->willReturn($shortUrl);
$this->stringifier->expects($this->once())->method('stringify')->with($this->equalTo($shortUrl))->willReturn( $this->stringifier->expects($this->once())->method('stringify')->with($shortUrl)->willReturn(
'stringified_short_url', 'stringified_short_url',
); );
@ -103,7 +103,7 @@ class CreateShortUrlCommandTest extends TestCase
return true; return true;
}), }),
)->willReturn($shortUrl); )->willReturn($shortUrl);
$this->stringifier->expects($this->once())->method('stringify')->with($this->equalTo($shortUrl))->willReturn( $this->stringifier->expects($this->once())->method('stringify')->with($shortUrl)->willReturn(
'stringified_short_url', 'stringified_short_url',
); );

View file

@ -35,7 +35,7 @@ class DeleteShortUrlCommandTest extends TestCase
{ {
$shortCode = 'abc123'; $shortCode = 'abc123';
$this->service->expects($this->once())->method('deleteByShortCode')->with( $this->service->expects($this->once())->method('deleteByShortCode')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
$this->isFalse(), $this->isFalse(),
); );
@ -54,7 +54,7 @@ class DeleteShortUrlCommandTest extends TestCase
$shortCode = 'abc123'; $shortCode = 'abc123';
$identifier = ShortUrlIdentifier::fromShortCodeAndDomain($shortCode); $identifier = ShortUrlIdentifier::fromShortCodeAndDomain($shortCode);
$this->service->expects($this->once())->method('deleteByShortCode')->with( $this->service->expects($this->once())->method('deleteByShortCode')->with(
$this->equalTo($identifier), $identifier,
$this->isFalse(), $this->isFalse(),
)->willThrowException(Exception\ShortUrlNotFoundException::fromNotFound($identifier)); )->willThrowException(Exception\ShortUrlNotFoundException::fromNotFound($identifier));
@ -76,7 +76,7 @@ class DeleteShortUrlCommandTest extends TestCase
$shortCode = 'abc123'; $shortCode = 'abc123';
$identifier = ShortUrlIdentifier::fromShortCodeAndDomain($shortCode); $identifier = ShortUrlIdentifier::fromShortCodeAndDomain($shortCode);
$this->service->expects($this->exactly($expectedDeleteCalls))->method('deleteByShortCode')->with( $this->service->expects($this->exactly($expectedDeleteCalls))->method('deleteByShortCode')->with(
$this->equalTo($identifier), $identifier,
$this->isType('bool'), $this->isType('bool'),
)->willReturnCallback(function ($_, bool $ignoreThreshold) use ($shortCode): void { )->willReturnCallback(function ($_, bool $ignoreThreshold) use ($shortCode): void {
if (!$ignoreThreshold) { if (!$ignoreThreshold) {
@ -110,7 +110,7 @@ class DeleteShortUrlCommandTest extends TestCase
{ {
$shortCode = 'abc123'; $shortCode = 'abc123';
$this->service->expects($this->once())->method('deleteByShortCode')->with( $this->service->expects($this->once())->method('deleteByShortCode')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
$this->isFalse(), $this->isFalse(),
)->willThrowException(Exception\DeleteShortUrlException::fromVisitsThreshold( )->willThrowException(Exception\DeleteShortUrlException::fromVisitsThreshold(
10, 10,

View file

@ -44,8 +44,8 @@ class GetShortUrlVisitsCommandTest extends TestCase
{ {
$shortCode = 'abc123'; $shortCode = 'abc123';
$this->visitsHelper->expects($this->once())->method('visitsForShortUrl')->with( $this->visitsHelper->expects($this->once())->method('visitsForShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
$this->equalTo(new VisitsParams(DateRange::allTime())), new VisitsParams(DateRange::allTime()),
)->willReturn(new Paginator(new ArrayAdapter([]))); )->willReturn(new Paginator(new ArrayAdapter([])));
$this->commandTester->execute(['shortCode' => $shortCode]); $this->commandTester->execute(['shortCode' => $shortCode]);
@ -58,8 +58,8 @@ class GetShortUrlVisitsCommandTest extends TestCase
$startDate = '2016-01-01'; $startDate = '2016-01-01';
$endDate = '2016-02-01'; $endDate = '2016-02-01';
$this->visitsHelper->expects($this->once())->method('visitsForShortUrl')->with( $this->visitsHelper->expects($this->once())->method('visitsForShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
$this->equalTo(new VisitsParams(buildDateRange(Chronos::parse($startDate), Chronos::parse($endDate)))), new VisitsParams(buildDateRange(Chronos::parse($startDate), Chronos::parse($endDate))),
)->willReturn(new Paginator(new ArrayAdapter([]))); )->willReturn(new Paginator(new ArrayAdapter([])));
$this->commandTester->execute([ $this->commandTester->execute([
@ -75,8 +75,8 @@ class GetShortUrlVisitsCommandTest extends TestCase
$shortCode = 'abc123'; $shortCode = 'abc123';
$startDate = 'foo'; $startDate = 'foo';
$this->visitsHelper->expects($this->once())->method('visitsForShortUrl')->with( $this->visitsHelper->expects($this->once())->method('visitsForShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
$this->equalTo(new VisitsParams(DateRange::allTime())), new VisitsParams(DateRange::allTime()),
)->willReturn(new Paginator(new ArrayAdapter([]))); )->willReturn(new Paginator(new ArrayAdapter([])));
$this->commandTester->execute([ $this->commandTester->execute([
@ -99,7 +99,7 @@ class GetShortUrlVisitsCommandTest extends TestCase
); );
$shortCode = 'abc123'; $shortCode = 'abc123';
$this->visitsHelper->expects($this->once())->method('visitsForShortUrl')->with( $this->visitsHelper->expects($this->once())->method('visitsForShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
$this->anything(), $this->anything(),
)->willReturn(new Paginator(new ArrayAdapter([$visit]))); )->willReturn(new Paginator(new ArrayAdapter([$visit])));

View file

@ -73,7 +73,7 @@ class ListShortUrlsCommandTest extends TestCase
} }
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with( $this->shortUrlService->expects($this->once())->method('listShortUrls')->with(
$this->equalTo(ShortUrlsParams::emptyInstance()), ShortUrlsParams::emptyInstance(),
)->willReturn(new Paginator(new ArrayAdapter($data))); )->willReturn(new Paginator(new ArrayAdapter($data)));
$this->commandTester->setInputs(['n']); $this->commandTester->setInputs(['n']);
@ -94,7 +94,7 @@ class ListShortUrlsCommandTest extends TestCase
{ {
$page = 5; $page = 5;
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with( $this->shortUrlService->expects($this->once())->method('listShortUrls')->with(
$this->equalTo(ShortUrlsParams::fromRawData(['page' => $page])), ShortUrlsParams::fromRawData(['page' => $page]),
)->willReturn(new Paginator(new ArrayAdapter([]))); )->willReturn(new Paginator(new ArrayAdapter([])));
$this->commandTester->setInputs(['y']); $this->commandTester->setInputs(['y']);
@ -112,7 +112,7 @@ class ListShortUrlsCommandTest extends TestCase
ApiKey $apiKey, ApiKey $apiKey,
): void { ): void {
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with( $this->shortUrlService->expects($this->once())->method('listShortUrls')->with(
$this->equalTo(ShortUrlsParams::emptyInstance()), ShortUrlsParams::emptyInstance(),
)->willReturn(new Paginator(new ArrayAdapter([ )->willReturn(new Paginator(new ArrayAdapter([
ShortUrl::fromMeta(ShortUrlCreation::fromRawData([ ShortUrl::fromMeta(ShortUrlCreation::fromRawData([
'longUrl' => 'foo.com', 'longUrl' => 'foo.com',
@ -187,16 +187,14 @@ class ListShortUrlsCommandTest extends TestCase
?string $startDate = null, ?string $startDate = null,
?string $endDate = null, ?string $endDate = null,
): void { ): void {
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with( $this->shortUrlService->expects($this->once())->method('listShortUrls')->with(ShortUrlsParams::fromRawData([
$this->equalTo(ShortUrlsParams::fromRawData([
'page' => $page, 'page' => $page,
'searchTerm' => $searchTerm, 'searchTerm' => $searchTerm,
'tags' => $tags, 'tags' => $tags,
'tagsMode' => $tagsMode, 'tagsMode' => $tagsMode,
'startDate' => $startDate !== null ? Chronos::parse($startDate)->toAtomString() : null, 'startDate' => $startDate !== null ? Chronos::parse($startDate)->toAtomString() : null,
'endDate' => $endDate !== null ? Chronos::parse($endDate)->toAtomString() : null, 'endDate' => $endDate !== null ? Chronos::parse($endDate)->toAtomString() : null,
])), ]))->willReturn(new Paginator(new ArrayAdapter([])));
)->willReturn(new Paginator(new ArrayAdapter([])));
$this->commandTester->setInputs(['n']); $this->commandTester->setInputs(['n']);
$this->commandTester->execute($commandArgs); $this->commandTester->execute($commandArgs);
@ -249,11 +247,9 @@ class ListShortUrlsCommandTest extends TestCase
*/ */
public function orderByIsProperlyComputed(array $commandArgs, ?string $expectedOrderBy): void public function orderByIsProperlyComputed(array $commandArgs, ?string $expectedOrderBy): void
{ {
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with( $this->shortUrlService->expects($this->once())->method('listShortUrls')->with(ShortUrlsParams::fromRawData([
$this->equalTo(ShortUrlsParams::fromRawData([
'orderBy' => $expectedOrderBy, 'orderBy' => $expectedOrderBy,
])), ]))->willReturn(new Paginator(new ArrayAdapter([])));
)->willReturn(new Paginator(new ArrayAdapter([])));
$this->commandTester->setInputs(['n']); $this->commandTester->setInputs(['n']);
$this->commandTester->execute($commandArgs); $this->commandTester->execute($commandArgs);
@ -271,8 +267,7 @@ class ListShortUrlsCommandTest extends TestCase
/** @test */ /** @test */
public function requestingAllElementsWillSetItemsPerPage(): void public function requestingAllElementsWillSetItemsPerPage(): void
{ {
$this->shortUrlService->expects($this->once())->method('listShortUrls')->with( $this->shortUrlService->expects($this->once())->method('listShortUrls')->with(ShortUrlsParams::fromRawData([
$this->equalTo(ShortUrlsParams::fromRawData([
'page' => 1, 'page' => 1,
'searchTerm' => null, 'searchTerm' => null,
'tags' => [], 'tags' => [],
@ -281,8 +276,7 @@ class ListShortUrlsCommandTest extends TestCase
'endDate' => null, 'endDate' => null,
'orderBy' => null, 'orderBy' => null,
'itemsPerPage' => Paginator::ALL_ITEMS, 'itemsPerPage' => Paginator::ALL_ITEMS,
])), ]))->willReturn(new Paginator(new ArrayAdapter([])));
)->willReturn(new Paginator(new ArrayAdapter([])));
$this->commandTester->execute(['--all' => true]); $this->commandTester->execute(['--all' => true]);
} }

View file

@ -38,7 +38,7 @@ class ResolveUrlCommandTest extends TestCase
$expectedUrl = 'http://domain.com/foo/bar'; $expectedUrl = 'http://domain.com/foo/bar';
$shortUrl = ShortUrl::withLongUrl($expectedUrl); $shortUrl = ShortUrl::withLongUrl($expectedUrl);
$this->urlResolver->expects($this->once())->method('resolveShortUrl')->with( $this->urlResolver->expects($this->once())->method('resolveShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
)->willReturn($shortUrl); )->willReturn($shortUrl);
$this->commandTester->execute(['shortCode' => $shortCode]); $this->commandTester->execute(['shortCode' => $shortCode]);
@ -52,9 +52,9 @@ class ResolveUrlCommandTest extends TestCase
$identifier = ShortUrlIdentifier::fromShortCodeAndDomain('abc123'); $identifier = ShortUrlIdentifier::fromShortCodeAndDomain('abc123');
$shortCode = $identifier->shortCode; $shortCode = $identifier->shortCode;
$this->urlResolver->expects($this->once())->method('resolveShortUrl')->with( $this->urlResolver->expects($this->once())->method('resolveShortUrl')->with($identifier)->willThrowException(
$this->equalTo($identifier), ShortUrlNotFoundException::fromNotFound($identifier),
)->willThrowException(ShortUrlNotFoundException::fromNotFound($identifier)); );
$this->commandTester->execute(['shortCode' => $shortCode]); $this->commandTester->execute(['shortCode' => $shortCode]);
$output = $this->commandTester->getDisplay(); $output = $this->commandTester->getDisplay();

View file

@ -37,7 +37,7 @@ class DeleteTagsCommandTest extends TestCase
public function serviceIsInvokedOnSuccess(): void public function serviceIsInvokedOnSuccess(): void
{ {
$tagNames = ['foo', 'bar']; $tagNames = ['foo', 'bar'];
$this->tagService->expects($this->once())->method('deleteTags')->with($this->equalTo($tagNames)); $this->tagService->expects($this->once())->method('deleteTags')->with($tagNames);
$this->commandTester->execute([ $this->commandTester->execute([
'--name' => $tagNames, '--name' => $tagNames,

View file

@ -45,13 +45,10 @@ class GetTagVisitsCommandTest extends TestCase
VisitLocation::fromGeolocation(new Location('', 'Spain', '', 'Madrid', 0, 0, '')), VisitLocation::fromGeolocation(new Location('', 'Spain', '', 'Madrid', 0, 0, '')),
); );
$tag = 'abc123'; $tag = 'abc123';
$this->visitsHelper->expects($this->once())->method('visitsForTag')->with( $this->visitsHelper->expects($this->once())->method('visitsForTag')->with($tag, $this->anything())->willReturn(
$this->equalTo($tag), new Paginator(new ArrayAdapter([$visit])),
$this->anything(),
)->willReturn(new Paginator(new ArrayAdapter([$visit])));
$this->stringifier->expects($this->once())->method('stringify')->with($this->equalTo($shortUrl))->willReturn(
'the_short_url',
); );
$this->stringifier->expects($this->once())->method('stringify')->with($shortUrl)->willReturn('the_short_url');
$this->commandTester->execute(['tag' => $tag]); $this->commandTester->execute(['tag' => $tag]);
$output = $this->commandTester->getDisplay(); $output = $this->commandTester->getDisplay();

View file

@ -33,7 +33,7 @@ class RenameTagCommandTest extends TestCase
$oldName = 'foo'; $oldName = 'foo';
$newName = 'bar'; $newName = 'bar';
$this->tagService->expects($this->once())->method('renameTag')->with( $this->tagService->expects($this->once())->method('renameTag')->with(
$this->equalTo(TagRenaming::fromNames($oldName, $newName)), TagRenaming::fromNames($oldName, $newName),
)->willThrowException(TagNotFoundException::fromTag('foo')); )->willThrowException(TagNotFoundException::fromTag('foo'));
$this->commandTester->execute([ $this->commandTester->execute([
@ -51,7 +51,7 @@ class RenameTagCommandTest extends TestCase
$oldName = 'foo'; $oldName = 'foo';
$newName = 'bar'; $newName = 'bar';
$this->tagService->expects($this->once())->method('renameTag')->with( $this->tagService->expects($this->once())->method('renameTag')->with(
$this->equalTo(TagRenaming::fromNames($oldName, $newName)), TagRenaming::fromNames($oldName, $newName),
)->willReturn(new Tag($newName)); )->willReturn(new Tag($newName));
$this->commandTester->execute([ $this->commandTester->execute([

View file

@ -47,9 +47,7 @@ class GetNonOrphanVisitsCommandTest extends TestCase
$this->visitsHelper->expects($this->once())->method('nonOrphanVisits')->withAnyParameters()->willReturn( $this->visitsHelper->expects($this->once())->method('nonOrphanVisits')->withAnyParameters()->willReturn(
new Paginator(new ArrayAdapter([$visit])), new Paginator(new ArrayAdapter([$visit])),
); );
$this->stringifier->expects($this->once())->method('stringify')->with($this->equalTo($shortUrl))->willReturn( $this->stringifier->expects($this->once())->method('stringify')->with($shortUrl)->willReturn('the_short_url');
'the_short_url',
);
$this->commandTester->execute([]); $this->commandTester->execute([]);
$output = $this->commandTester->getDisplay(); $output = $this->commandTester->getDisplay();

View file

@ -26,7 +26,7 @@ class ProcessRunnerTest extends TestCase
$this->helper = $this->createMock(ProcessHelper::class); $this->helper = $this->createMock(ProcessHelper::class);
$this->formatter = $this->createMock(DebugFormatterHelper::class); $this->formatter = $this->createMock(DebugFormatterHelper::class);
$helperSet = $this->createMock(HelperSet::class); $helperSet = $this->createMock(HelperSet::class);
$helperSet->method('get')->with($this->equalTo('debug_formatter'))->willReturn($this->formatter); $helperSet->method('get')->with('debug_formatter')->willReturn($this->formatter);
$this->helper->method('getHelperSet')->with()->willReturn($helperSet); $this->helper->method('getHelperSet')->with()->willReturn($helperSet);
$this->process = $this->createMock(Process::class); $this->process = $this->createMock(Process::class);
$this->output = $this->createMock(OutputInterface::class); $this->output = $this->createMock(OutputInterface::class);

View file

@ -34,16 +34,10 @@ class ShlinkTableTest extends TestCase
$this->baseTable->expects($this->once())->method('setStyle')->with( $this->baseTable->expects($this->once())->method('setStyle')->with(
$this->isInstanceOf(TableStyle::class), $this->isInstanceOf(TableStyle::class),
)->willReturnSelf(); )->willReturnSelf();
$this->baseTable->expects($this->once())->method('setHeaders')->with( $this->baseTable->expects($this->once())->method('setHeaders')->with($headers)->willReturnSelf();
$this->equalTo($headers), $this->baseTable->expects($this->once())->method('setRows')->with($rows)->willReturnSelf();
)->willReturnSelf(); $this->baseTable->expects($this->once())->method('setFooterTitle')->with($footerTitle)->willReturnSelf();
$this->baseTable->expects($this->once())->method('setRows')->with($this->equalTo($rows))->willReturnSelf(); $this->baseTable->expects($this->once())->method('setHeaderTitle')->with($headerTitle)->willReturnSelf();
$this->baseTable->expects($this->once())->method('setFooterTitle')->with(
$this->equalTo($footerTitle),
)->willReturnSelf();
$this->baseTable->expects($this->once())->method('setHeaderTitle')->with(
$this->equalTo($headerTitle),
)->willReturnSelf();
$this->baseTable->expects($this->once())->method('render')->with()->willReturnSelf(); $this->baseTable->expects($this->once())->method('render')->with()->willReturnSelf();
$this->shlinkTable->render($headers, $rows, $footerTitle, $headerTitle); $this->shlinkTable->render($headers, $rows, $footerTitle, $headerTitle);

View file

@ -34,7 +34,7 @@ class PixelActionTest extends TestCase
{ {
$shortCode = 'abc123'; $shortCode = 'abc123';
$this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with( $this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, '')), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, ''),
)->willReturn(ShortUrl::withLongUrl('http://domain.com/foo/bar')); )->willReturn(ShortUrl::withLongUrl('http://domain.com/foo/bar'));
$this->requestTracker->expects($this->once())->method('trackIfApplicable')->withAnyParameters(); $this->requestTracker->expects($this->once())->method('trackIfApplicable')->withAnyParameters();

View file

@ -42,7 +42,7 @@ class QrCodeActionTest extends TestCase
{ {
$shortCode = 'abc123'; $shortCode = 'abc123';
$this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with( $this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, '')), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, ''),
)->willThrowException(ShortUrlNotFoundException::fromNotFound(ShortUrlIdentifier::fromShortCodeAndDomain(''))); )->willThrowException(ShortUrlNotFoundException::fromNotFound(ShortUrlIdentifier::fromShortCodeAndDomain('')));
$delegate = $this->createMock(RequestHandlerInterface::class); $delegate = $this->createMock(RequestHandlerInterface::class);
$delegate->expects($this->once())->method('handle')->withAnyParameters()->willReturn(new Response()); $delegate->expects($this->once())->method('handle')->withAnyParameters()->willReturn(new Response());
@ -55,7 +55,7 @@ class QrCodeActionTest extends TestCase
{ {
$shortCode = 'abc123'; $shortCode = 'abc123';
$this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with( $this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, '')), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, ''),
)->willReturn(ShortUrl::createEmpty()); )->willReturn(ShortUrl::createEmpty());
$delegate = $this->createMock(RequestHandlerInterface::class); $delegate = $this->createMock(RequestHandlerInterface::class);
$delegate->expects($this->never())->method('handle'); $delegate->expects($this->never())->method('handle');
@ -77,7 +77,7 @@ class QrCodeActionTest extends TestCase
): void { ): void {
$code = 'abc123'; $code = 'abc123';
$this->urlResolver->method('resolveEnabledShortUrl')->with( $this->urlResolver->method('resolveEnabledShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($code, '')), ShortUrlIdentifier::fromShortCodeAndDomain($code, ''),
)->willReturn(ShortUrl::createEmpty()); )->willReturn(ShortUrl::createEmpty());
$delegate = $this->createMock(RequestHandlerInterface::class); $delegate = $this->createMock(RequestHandlerInterface::class);
$req = (new ServerRequest())->withAttribute('shortCode', $code)->withQueryParams($query); $req = (new ServerRequest())->withAttribute('shortCode', $code)->withQueryParams($query);
@ -110,7 +110,7 @@ class QrCodeActionTest extends TestCase
): void { ): void {
$code = 'abc123'; $code = 'abc123';
$this->urlResolver->method('resolveEnabledShortUrl')->with( $this->urlResolver->method('resolveEnabledShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($code, '')), ShortUrlIdentifier::fromShortCodeAndDomain($code, ''),
)->willReturn(ShortUrl::createEmpty()); )->willReturn(ShortUrl::createEmpty());
$delegate = $this->createMock(RequestHandlerInterface::class); $delegate = $this->createMock(RequestHandlerInterface::class);
@ -201,7 +201,7 @@ class QrCodeActionTest extends TestCase
->withAttribute('shortCode', $code); ->withAttribute('shortCode', $code);
$this->urlResolver->method('resolveEnabledShortUrl')->with( $this->urlResolver->method('resolveEnabledShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($code, '')), ShortUrlIdentifier::fromShortCodeAndDomain($code, ''),
)->willReturn(ShortUrl::withLongUrl('https://shlink.io')); )->willReturn(ShortUrl::withLongUrl('https://shlink.io'));
$delegate = $this->createMock(RequestHandlerInterface::class); $delegate = $this->createMock(RequestHandlerInterface::class);

View file

@ -50,12 +50,12 @@ class RedirectActionTest extends TestCase
$shortCode = 'abc123'; $shortCode = 'abc123';
$shortUrl = ShortUrl::withLongUrl(self::LONG_URL); $shortUrl = ShortUrl::withLongUrl(self::LONG_URL);
$this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with( $this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, '')), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, ''),
)->willReturn($shortUrl); )->willReturn($shortUrl);
$this->requestTracker->expects($this->once())->method('trackIfApplicable'); $this->requestTracker->expects($this->once())->method('trackIfApplicable');
$expectedResp = new Response\RedirectResponse(self::LONG_URL); $expectedResp = new Response\RedirectResponse(self::LONG_URL);
$this->redirectRespHelper->expects($this->once())->method('buildRedirectResponse')->with( $this->redirectRespHelper->expects($this->once())->method('buildRedirectResponse')->with(
$this->equalTo(self::LONG_URL), self::LONG_URL,
)->willReturn($expectedResp); )->willReturn($expectedResp);
$request = (new ServerRequest())->withAttribute('shortCode', $shortCode); $request = (new ServerRequest())->withAttribute('shortCode', $shortCode);
@ -69,7 +69,7 @@ class RedirectActionTest extends TestCase
{ {
$shortCode = 'abc123'; $shortCode = 'abc123';
$this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with( $this->urlResolver->expects($this->once())->method('resolveEnabledShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, '')), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode, ''),
)->willThrowException(ShortUrlNotFoundException::fromNotFound(ShortUrlIdentifier::fromShortCodeAndDomain(''))); )->willThrowException(ShortUrlNotFoundException::fromNotFound(ShortUrlIdentifier::fromShortCodeAndDomain('')));
$this->requestTracker->expects($this->never())->method('trackIfApplicable'); $this->requestTracker->expects($this->never())->method('trackIfApplicable');

View file

@ -43,9 +43,9 @@ class NotFoundRedirectResolverTest extends TestCase
string $expectedRedirectTo, string $expectedRedirectTo,
): void { ): void {
$expectedResp = new Response(); $expectedResp = new Response();
$this->helper->expects($this->once())->method('buildRedirectResponse')->with( $this->helper->expects($this->once())->method('buildRedirectResponse')->with($expectedRedirectTo)->willReturn(
$this->equalTo($expectedRedirectTo), $expectedResp,
)->willReturn($expectedResp); );
$resp = $this->resolver->resolveRedirectResponse($notFoundType, $redirectConfig, $uri); $resp = $this->resolver->resolveRedirectResponse($notFoundType, $redirectConfig, $uri);

View file

@ -27,9 +27,7 @@ class CrawlingHelperTest extends TestCase
{ {
$repo = $this->createMock(ShortUrlRepositoryInterface::class); $repo = $this->createMock(ShortUrlRepositoryInterface::class);
$repo->expects($this->once())->method('findCrawlableShortCodes')->willReturn([]); $repo->expects($this->once())->method('findCrawlableShortCodes')->willReturn([]);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn( $this->em->expects($this->once())->method('getRepository')->with(ShortUrl::class)->willReturn($repo);
$repo,
);
$result = $this->helper->listCrawlableShortCodes(); $result = $this->helper->listCrawlableShortCodes();
foreach ($result as $shortCode) { foreach ($result as $shortCode) {

View file

@ -36,10 +36,8 @@ class DomainServiceTest extends TestCase
public function listDomainsDelegatesIntoRepository(array $domains, array $expectedResult, ?ApiKey $apiKey): void public function listDomainsDelegatesIntoRepository(array $domains, array $expectedResult, ?ApiKey $apiKey): void
{ {
$repo = $this->createMock(DomainRepositoryInterface::class); $repo = $this->createMock(DomainRepositoryInterface::class);
$repo->expects($this->once())->method('findDomains')->with($this->equalTo($apiKey))->willReturn($domains); $repo->expects($this->once())->method('findDomains')->with($apiKey)->willReturn($domains);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(Domain::class))->willReturn( $this->em->expects($this->once())->method('getRepository')->with(Domain::class)->willReturn($repo);
$repo,
);
$result = $this->domainService->listDomains($apiKey); $result = $this->domainService->listDomains($apiKey);
@ -105,10 +103,7 @@ class DomainServiceTest extends TestCase
/** @test */ /** @test */
public function getDomainThrowsExceptionWhenDomainIsNotFound(): void public function getDomainThrowsExceptionWhenDomainIsNotFound(): void
{ {
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Domain::class, '123')->willReturn(null);
$this->equalTo(Domain::class),
$this->equalTo('123'),
)->willReturn(null);
$this->expectException(DomainNotFoundException::class); $this->expectException(DomainNotFoundException::class);
@ -119,10 +114,7 @@ class DomainServiceTest extends TestCase
public function getDomainReturnsEntityWhenFound(): void public function getDomainReturnsEntityWhenFound(): void
{ {
$domain = Domain::withAuthority(''); $domain = Domain::withAuthority('');
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Domain::class, '123')->willReturn($domain);
$this->equalTo(Domain::class),
$this->equalTo('123'),
)->willReturn($domain);
$result = $this->domainService->getDomain('123'); $result = $this->domainService->getDomain('123');
@ -137,15 +129,11 @@ class DomainServiceTest extends TestCase
{ {
$authority = 'example.com'; $authority = 'example.com';
$repo = $this->createMock(DomainRepositoryInterface::class); $repo = $this->createMock(DomainRepositoryInterface::class);
$repo->method('findOneByAuthority')->with($this->equalTo($authority), $this->equalTo($apiKey))->willReturn( $repo->method('findOneByAuthority')->with($authority, $apiKey)->willReturn(
$foundDomain, $foundDomain,
); );
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(Domain::class))->willReturn( $this->em->expects($this->once())->method('getRepository')->with(Domain::class)->willReturn($repo);
$repo, $this->em->expects($this->once())->method('persist')->with($foundDomain ?? $this->isInstanceOf(Domain::class));
);
$this->em->expects($this->once())->method('persist')->with(
$foundDomain !== null ? $this->equalTo($foundDomain) : $this->isInstanceOf(Domain::class),
);
$this->em->expects($this->once())->method('flush'); $this->em->expects($this->once())->method('flush');
$result = $this->domainService->getOrCreate($authority, $apiKey); $result = $this->domainService->getOrCreate($authority, $apiKey);
@ -162,12 +150,8 @@ class DomainServiceTest extends TestCase
$domain = Domain::withAuthority($authority)->setId('1'); $domain = Domain::withAuthority($authority)->setId('1');
$apiKey = ApiKey::fromMeta(ApiKeyMeta::withRoles(RoleDefinition::forDomain($domain))); $apiKey = ApiKey::fromMeta(ApiKeyMeta::withRoles(RoleDefinition::forDomain($domain)));
$repo = $this->createMock(DomainRepositoryInterface::class); $repo = $this->createMock(DomainRepositoryInterface::class);
$repo->method('findOneByAuthority')->with($this->equalTo($authority), $this->equalTo($apiKey))->willReturn( $repo->method('findOneByAuthority')->with($authority, $apiKey)->willReturn(null);
null, $this->em->expects($this->once())->method('getRepository')->with(Domain::class)->willReturn($repo);
);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(Domain::class))->willReturn(
$repo,
);
$this->em->expects($this->never())->method('persist'); $this->em->expects($this->never())->method('persist');
$this->em->expects($this->never())->method('flush'); $this->em->expects($this->never())->method('flush');
@ -184,15 +168,9 @@ class DomainServiceTest extends TestCase
{ {
$authority = 'example.com'; $authority = 'example.com';
$repo = $this->createMock(DomainRepositoryInterface::class); $repo = $this->createMock(DomainRepositoryInterface::class);
$repo->method('findOneByAuthority')->with($this->equalTo($authority), $this->equalTo($apiKey))->willReturn( $repo->method('findOneByAuthority')->with($authority, $apiKey)->willReturn($foundDomain);
$foundDomain, $this->em->expects($this->once())->method('getRepository')->with(Domain::class)->willReturn($repo);
); $this->em->expects($this->once())->method('persist')->with($foundDomain ?? $this->isInstanceOf(Domain::class));
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(Domain::class))->willReturn(
$repo,
);
$this->em->expects($this->once())->method('persist')->with(
$foundDomain !== null ? $this->equalTo($foundDomain) : $this->isInstanceOf(Domain::class),
);
$this->em->expects($this->once())->method('flush'); $this->em->expects($this->once())->method('flush');
$result = $this->domainService->configureNotFoundRedirects($authority, NotFoundRedirects::withRedirects( $result = $this->domainService->configureNotFoundRedirects($authority, NotFoundRedirects::withRedirects(

View file

@ -51,9 +51,7 @@ class NotFoundRedirectHandlerTest extends TestCase
$expectedResp = new Response(); $expectedResp = new Response();
$setUp($this->domainService, $this->resolver); $setUp($this->domainService, $this->resolver);
$this->next->expects($this->once())->method('handle')->with($this->equalTo($this->req))->willReturn( $this->next->expects($this->once())->method('handle')->with($this->req)->willReturn($expectedResp);
$expectedResp,
);
$result = $this->middleware->process($this->req, $this->next); $result = $this->middleware->process($this->req, $this->next);
@ -105,7 +103,7 @@ class NotFoundRedirectHandlerTest extends TestCase
$this->domainService->expects($this->once())->method('findByAuthority')->withAnyParameters()->willReturn(null); $this->domainService->expects($this->once())->method('findByAuthority')->withAnyParameters()->willReturn(null);
$this->resolver->expects($this->once())->method('resolveRedirectResponse')->with( $this->resolver->expects($this->once())->method('resolveRedirectResponse')->with(
$this->isInstanceOf(NotFoundType::class), $this->isInstanceOf(NotFoundType::class),
$this->equalTo($this->redirectOptions), $this->redirectOptions,
$this->isInstanceOf(UriInterface::class), $this->isInstanceOf(UriInterface::class),
)->willReturn($expectedResp); )->willReturn($expectedResp);
$this->next->expects($this->never())->method('handle'); $this->next->expects($this->never())->method('handle');
@ -126,7 +124,7 @@ class NotFoundRedirectHandlerTest extends TestCase
); );
$this->resolver->expects($this->once())->method('resolveRedirectResponse')->with( $this->resolver->expects($this->once())->method('resolveRedirectResponse')->with(
$this->isInstanceOf(NotFoundType::class), $this->isInstanceOf(NotFoundType::class),
$this->equalTo($domain), $domain,
$this->isInstanceOf(UriInterface::class), $this->isInstanceOf(UriInterface::class),
)->willReturn($expectedResp); )->willReturn($expectedResp);
$this->next->expects($this->never())->method('handle'); $this->next->expects($this->never())->method('handle');

View file

@ -35,10 +35,8 @@ class NotFoundTrackerMiddlewareTest extends TestCase
/** @test */ /** @test */
public function delegatesIntoRequestTracker(): void public function delegatesIntoRequestTracker(): void
{ {
$this->handler->expects($this->once())->method('handle')->with($this->equalTo($this->request)); $this->handler->expects($this->once())->method('handle')->with($this->request);
$this->requestTracker->expects($this->once())->method('trackNotFoundIfApplicable')->with( $this->requestTracker->expects($this->once())->method('trackNotFoundIfApplicable')->with($this->request);
$this->equalTo($this->request),
);
$this->middleware->process($this->request, $this->handler); $this->middleware->process($this->request, $this->handler);
} }

View file

@ -32,7 +32,7 @@ class CloseDbConnectionEventListenerDelegatorTest extends TestCase
}; };
}; };
$this->container->expects($this->once())->method('get')->with($this->equalTo('em'))->willReturn( $this->container->expects($this->once())->method('get')->with('em')->willReturn(
$this->createMock(ReopeningEntityManagerInterface::class), $this->createMock(ReopeningEntityManagerInterface::class),
); );

View file

@ -31,7 +31,7 @@ class LocateUnlocatedVisitsTest extends TestCase
/** @test */ /** @test */
public function locatorIsCalledWhenInvoked(): void public function locatorIsCalledWhenInvoked(): void
{ {
$this->locator->expects($this->once())->method('locateUnlocatedVisits')->with($this->equalTo($this->listener)); $this->locator->expects($this->once())->method('locateUnlocatedVisits')->with($this->listener);
($this->listener)(new GeoLiteDbCreated()); ($this->listener)(new GeoLiteDbCreated());
} }
@ -41,9 +41,9 @@ class LocateUnlocatedVisitsTest extends TestCase
$visit = Visit::forBasePath(Visitor::emptyInstance()); $visit = Visit::forBasePath(Visitor::emptyInstance());
$location = Location::emptyInstance(); $location = Location::emptyInstance();
$this->visitToLocation->expects($this->once())->method('resolveVisitLocation')->with( $this->visitToLocation->expects($this->once())->method('resolveVisitLocation')->with($visit)->willReturn(
$this->equalTo($visit), $location,
)->willReturn($location); );
$result = $this->listener->geolocateVisit($visit); $result = $this->listener->geolocateVisit($visit);

View file

@ -53,18 +53,13 @@ class LocateVisitTest extends TestCase
public function invalidVisitLogsWarning(): void public function invalidVisitLogsWarning(): void
{ {
$event = new UrlVisited('123'); $event = new UrlVisited('123');
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '123')->willReturn(null);
$this->equalTo(Visit::class),
$this->equalTo('123'),
)->willReturn(null);
$this->em->expects($this->never())->method('flush'); $this->em->expects($this->never())->method('flush');
$this->logger->expects($this->once())->method('warning')->with( $this->logger->expects($this->once())->method('warning')->with(
$this->equalTo('Tried to locate visit with id "{visitId}", but it does not exist.'), 'Tried to locate visit with id "{visitId}", but it does not exist.',
$this->equalTo(['visitId' => 123]), ['visitId' => 123],
);
$this->eventDispatcher->expects($this->never())->method('dispatch')->with(
$this->equalTo(new VisitLocated('123')),
); );
$this->eventDispatcher->expects($this->never())->method('dispatch')->with(new VisitLocated('123'));
$this->ipLocationResolver->expects($this->never())->method('resolveIpLocation'); $this->ipLocationResolver->expects($this->never())->method('resolveIpLocation');
($this->locateVisit)($event); ($this->locateVisit)($event);
@ -74,19 +69,16 @@ class LocateVisitTest extends TestCase
public function nonExistingGeoLiteDbLogsWarning(): void public function nonExistingGeoLiteDbLogsWarning(): void
{ {
$event = new UrlVisited('123'); $event = new UrlVisited('123');
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '123')->willReturn(
$this->equalTo(Visit::class), Visit::forValidShortUrl(ShortUrl::createEmpty(), new Visitor('', '', '1.2.3.4', '')),
$this->equalTo('123'), );
)->willReturn(Visit::forValidShortUrl(ShortUrl::createEmpty(), new Visitor('', '', '1.2.3.4', '')));
$this->em->expects($this->never())->method('flush'); $this->em->expects($this->never())->method('flush');
$this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(false); $this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(false);
$this->logger->expects($this->once())->method('warning')->with( $this->logger->expects($this->once())->method('warning')->with(
$this->equalTo('Tried to locate visit with id "{visitId}", but a GeoLite2 db was not found.'), 'Tried to locate visit with id "{visitId}", but a GeoLite2 db was not found.',
$this->equalTo(['visitId' => 123]), ['visitId' => 123],
);
$this->eventDispatcher->expects($this->once())->method('dispatch')->with(
$this->equalTo(new VisitLocated('123')),
); );
$this->eventDispatcher->expects($this->once())->method('dispatch')->with(new VisitLocated('123'));
$this->ipLocationResolver->expects($this->never())->method('resolveIpLocation'); $this->ipLocationResolver->expects($this->never())->method('resolveIpLocation');
($this->locateVisit)($event); ($this->locateVisit)($event);
@ -96,22 +88,19 @@ class LocateVisitTest extends TestCase
public function invalidAddressLogsWarning(): void public function invalidAddressLogsWarning(): void
{ {
$event = new UrlVisited('123'); $event = new UrlVisited('123');
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '123')->willReturn(
$this->equalTo(Visit::class), Visit::forValidShortUrl(ShortUrl::createEmpty(), new Visitor('', '', '1.2.3.4', '')),
$this->equalTo('123'), );
)->willReturn(Visit::forValidShortUrl(ShortUrl::createEmpty(), new Visitor('', '', '1.2.3.4', '')));
$this->em->expects($this->never())->method('flush'); $this->em->expects($this->never())->method('flush');
$this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(true); $this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(true);
$this->ipLocationResolver->expects( $this->ipLocationResolver->expects(
$this->once(), $this->once(),
)->method('resolveIpLocation')->withAnyParameters()->willThrowException(WrongIpException::fromIpAddress('')); )->method('resolveIpLocation')->withAnyParameters()->willThrowException(WrongIpException::fromIpAddress(''));
$this->logger->expects($this->once())->method('warning')->with( $this->logger->expects($this->once())->method('warning')->with(
$this->equalTo('Tried to locate visit with id "{visitId}", but its address seems to be wrong. {e}'), 'Tried to locate visit with id "{visitId}", but its address seems to be wrong. {e}',
$this->isType('array'), $this->isType('array'),
); );
$this->eventDispatcher->expects($this->once())->method('dispatch')->with( $this->eventDispatcher->expects($this->once())->method('dispatch')->with(new VisitLocated('123'));
$this->equalTo(new VisitLocated('123')),
);
($this->locateVisit)($event); ($this->locateVisit)($event);
} }
@ -120,22 +109,19 @@ class LocateVisitTest extends TestCase
public function unhandledExceptionLogsError(): void public function unhandledExceptionLogsError(): void
{ {
$event = new UrlVisited('123'); $event = new UrlVisited('123');
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '123')->willReturn(
$this->equalTo(Visit::class), Visit::forValidShortUrl(ShortUrl::createEmpty(), new Visitor('', '', '1.2.3.4', '')),
$this->equalTo('123'), );
)->willReturn(Visit::forValidShortUrl(ShortUrl::createEmpty(), new Visitor('', '', '1.2.3.4', '')));
$this->em->expects($this->never())->method('flush'); $this->em->expects($this->never())->method('flush');
$this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(true); $this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(true);
$this->ipLocationResolver->expects( $this->ipLocationResolver->expects(
$this->once(), $this->once(),
)->method('resolveIpLocation')->withAnyParameters()->willThrowException(new OutOfRangeException()); )->method('resolveIpLocation')->withAnyParameters()->willThrowException(new OutOfRangeException());
$this->logger->expects($this->once())->method('error')->with( $this->logger->expects($this->once())->method('error')->with(
$this->equalTo('An unexpected error occurred while trying to locate visit with id "{visitId}". {e}'), 'An unexpected error occurred while trying to locate visit with id "{visitId}". {e}',
$this->isType('array'), $this->isType('array'),
); );
$this->eventDispatcher->expects($this->once())->method('dispatch')->with( $this->eventDispatcher->expects($this->once())->method('dispatch')->with(new VisitLocated('123'));
$this->equalTo(new VisitLocated('123')),
);
($this->locateVisit)($event); ($this->locateVisit)($event);
} }
@ -147,17 +133,12 @@ class LocateVisitTest extends TestCase
public function nonLocatableVisitsResolveToEmptyLocations(Visit $visit): void public function nonLocatableVisitsResolveToEmptyLocations(Visit $visit): void
{ {
$event = new UrlVisited('123'); $event = new UrlVisited('123');
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '123')->willReturn($visit);
$this->equalTo(Visit::class),
$this->equalTo('123'),
)->willReturn($visit);
$this->em->expects($this->once())->method('flush'); $this->em->expects($this->once())->method('flush');
$this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(true); $this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(true);
$this->ipLocationResolver->expects($this->never())->method('resolveIpLocation'); $this->ipLocationResolver->expects($this->never())->method('resolveIpLocation');
$this->eventDispatcher->expects($this->once())->method('dispatch')->with( $this->eventDispatcher->expects($this->once())->method('dispatch')->with(new VisitLocated('123'));
$this->equalTo(new VisitLocated('123')),
);
$this->logger->expects($this->never())->method('warning'); $this->logger->expects($this->never())->method('warning');
($this->locateVisit)($event); ($this->locateVisit)($event);
@ -184,19 +165,14 @@ class LocateVisitTest extends TestCase
$location = new Location('', '', '', '', 0.0, 0.0, ''); $location = new Location('', '', '', '', 0.0, 0.0, '');
$event = UrlVisited::withOriginalIpAddress('123', $originalIpAddress); $event = UrlVisited::withOriginalIpAddress('123', $originalIpAddress);
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '123')->willReturn($visit);
$this->equalTo(Visit::class),
$this->equalTo('123'),
)->willReturn($visit);
$this->em->expects($this->once())->method('flush'); $this->em->expects($this->once())->method('flush');
$this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(true); $this->dbUpdater->expects($this->once())->method('databaseFileExists')->withAnyParameters()->willReturn(true);
$this->ipLocationResolver->expects($this->once())->method('resolveIpLocation')->with( $this->ipLocationResolver->expects($this->once())->method('resolveIpLocation')->with($ipAddr)->willReturn(
$this->equalTo($ipAddr), $location,
)->willReturn($location);
$this->eventDispatcher->expects($this->once())->method('dispatch')->with(
$this->equalTo(new VisitLocated('123')),
); );
$this->eventDispatcher->expects($this->once())->method('dispatch')->with(new VisitLocated('123'));
$this->logger->expects($this->never())->method('warning'); $this->logger->expects($this->never())->method('warning');
($this->locateVisit)($event); ($this->locateVisit)($event);

View file

@ -42,15 +42,12 @@ class NotifyNewShortUrlToMercureTest extends TestCase
/** @test */ /** @test */
public function messageIsLoggedWhenShortUrlIsNotFound(): void public function messageIsLoggedWhenShortUrlIsNotFound(): void
{ {
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(ShortUrl::class, '123')->willReturn(null);
$this->equalTo(ShortUrl::class),
$this->equalTo('123'),
)->willReturn(null);
$this->helper->expects($this->never())->method('publishUpdate'); $this->helper->expects($this->never())->method('publishUpdate');
$this->updatesGenerator->expects($this->never())->method('newShortUrlUpdate'); $this->updatesGenerator->expects($this->never())->method('newShortUrlUpdate');
$this->logger->expects($this->once())->method('warning')->with( $this->logger->expects($this->once())->method('warning')->with(
$this->equalTo('Tried to notify {name} for new short URL with id "{shortUrlId}", but it does not exist.'), 'Tried to notify {name} for new short URL with id "{shortUrlId}", but it does not exist.',
$this->equalTo(['shortUrlId' => '123', 'name' => 'Mercure']), ['shortUrlId' => '123', 'name' => 'Mercure'],
); );
$this->logger->expects($this->never())->method('debug'); $this->logger->expects($this->never())->method('debug');
@ -63,14 +60,11 @@ class NotifyNewShortUrlToMercureTest extends TestCase
$shortUrl = ShortUrl::withLongUrl(''); $shortUrl = ShortUrl::withLongUrl('');
$update = Update::forTopicAndPayload('', []); $update = Update::forTopicAndPayload('', []);
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(ShortUrl::class, '123')->willReturn($shortUrl);
$this->equalTo(ShortUrl::class), $this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with($shortUrl)->willReturn(
$this->equalTo('123'), $update,
)->willReturn($shortUrl); );
$this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with( $this->helper->expects($this->once())->method('publishUpdate')->with($update);
$this->equalTo($shortUrl),
)->willReturn($update);
$this->helper->expects($this->once())->method('publishUpdate')->with($this->equalTo($update));
$this->logger->expects($this->never())->method('warning'); $this->logger->expects($this->never())->method('warning');
$this->logger->expects($this->never())->method('debug'); $this->logger->expects($this->never())->method('debug');
@ -85,19 +79,15 @@ class NotifyNewShortUrlToMercureTest extends TestCase
$e = new Exception('Error'); $e = new Exception('Error');
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(
$this->equalTo(ShortUrl::class), ShortUrl::class,
$this->equalTo('123'), '123',
)->willReturn($shortUrl); )->willReturn($shortUrl);
$this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with($shortUrl)->willReturn($update);
$this->equalTo($shortUrl), $this->helper->expects($this->once())->method('publishUpdate')->with($update)->willThrowException($e);
)->willReturn($update);
$this->helper->expects($this->once())->method('publishUpdate')->with(
$this->equalTo($update),
)->willThrowException($e);
$this->logger->expects($this->never())->method('warning'); $this->logger->expects($this->never())->method('warning');
$this->logger->expects($this->once())->method('debug')->with( $this->logger->expects($this->once())->method('debug')->with(
$this->equalTo('Error while trying to notify {name} with new short URL. {e}'), 'Error while trying to notify {name} with new short URL. {e}',
$this->equalTo(['e' => $e, 'name' => 'Mercure']), ['e' => $e, 'name' => 'Mercure'],
); );
($this->listener)(new ShortUrlCreated('123')); ($this->listener)(new ShortUrlCreated('123'));

View file

@ -41,13 +41,10 @@ class NotifyVisitToMercureTest extends TestCase
public function notificationsAreNotSentWhenVisitCannotBeFound(): void public function notificationsAreNotSentWhenVisitCannotBeFound(): void
{ {
$visitId = '123'; $visitId = '123';
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn(null);
$this->equalTo(Visit::class),
$this->equalTo($visitId),
)->willReturn(null);
$this->logger->expects($this->once())->method('warning')->with( $this->logger->expects($this->once())->method('warning')->with(
$this->equalTo('Tried to notify {name} for visit with id "{visitId}", but it does not exist.'), 'Tried to notify {name} for visit with id "{visitId}", but it does not exist.',
$this->equalTo(['visitId' => $visitId, 'name' => 'Mercure']), ['visitId' => $visitId, 'name' => 'Mercure'],
); );
$this->logger->expects($this->never())->method('debug'); $this->logger->expects($this->never())->method('debug');
$this->updatesGenerator->expects($this->never())->method('newShortUrlVisitUpdate'); $this->updatesGenerator->expects($this->never())->method('newShortUrlVisitUpdate');
@ -65,20 +62,15 @@ class NotifyVisitToMercureTest extends TestCase
$visit = Visit::forValidShortUrl(ShortUrl::createEmpty(), Visitor::emptyInstance()); $visit = Visit::forValidShortUrl(ShortUrl::createEmpty(), Visitor::emptyInstance());
$update = Update::forTopicAndPayload('', []); $update = Update::forTopicAndPayload('', []);
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn($visit);
$this->equalTo(Visit::class),
$this->equalTo($visitId),
)->willReturn($visit);
$this->logger->expects($this->never())->method('warning'); $this->logger->expects($this->never())->method('warning');
$this->logger->expects($this->never())->method('debug'); $this->logger->expects($this->never())->method('debug');
$this->updatesGenerator->expects($this->once())->method('newShortUrlVisitUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newShortUrlVisitUpdate')->with($visit)->willReturn(
$this->equalTo($visit), $update,
)->willReturn($update); );
$this->updatesGenerator->expects($this->never())->method('newOrphanVisitUpdate'); $this->updatesGenerator->expects($this->never())->method('newOrphanVisitUpdate');
$this->updatesGenerator->expects($this->once())->method('newVisitUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newVisitUpdate')->with($visit)->willReturn($update);
$this->equalTo($visit), $this->helper->expects($this->exactly(2))->method('publishUpdate')->with($update);
)->willReturn($update);
$this->helper->expects($this->exactly(2))->method('publishUpdate')->with($this->equalTo($update));
($this->listener)(new VisitLocated($visitId)); ($this->listener)(new VisitLocated($visitId));
} }
@ -91,25 +83,18 @@ class NotifyVisitToMercureTest extends TestCase
$update = Update::forTopicAndPayload('', []); $update = Update::forTopicAndPayload('', []);
$e = new RuntimeException('Error'); $e = new RuntimeException('Error');
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn($visit);
$this->equalTo(Visit::class),
$this->equalTo($visitId),
)->willReturn($visit);
$this->logger->expects($this->never())->method('warning'); $this->logger->expects($this->never())->method('warning');
$this->logger->expects($this->once())->method('debug')->with( $this->logger->expects($this->once())->method('debug')->with(
$this->equalTo('Error while trying to notify {name} with new visit. {e}'), 'Error while trying to notify {name} with new visit. {e}',
$this->equalTo(['e' => $e, 'name' => 'Mercure']), ['e' => $e, 'name' => 'Mercure'],
);
$this->updatesGenerator->expects($this->once())->method('newShortUrlVisitUpdate')->with($visit)->willReturn(
$update,
); );
$this->updatesGenerator->expects($this->once())->method('newShortUrlVisitUpdate')->with(
$this->equalTo($visit),
)->willReturn($update);
$this->updatesGenerator->expects($this->never())->method('newOrphanVisitUpdate'); $this->updatesGenerator->expects($this->never())->method('newOrphanVisitUpdate');
$this->updatesGenerator->expects($this->once())->method('newVisitUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newVisitUpdate')->with($visit)->willReturn($update);
$this->equalTo($visit), $this->helper->expects($this->once())->method('publishUpdate')->with($update)->willThrowException($e);
)->willReturn($update);
$this->helper->expects($this->once())->method('publishUpdate')->with(
$this->equalTo($update),
)->willThrowException($e);
($this->listener)(new VisitLocated($visitId)); ($this->listener)(new VisitLocated($visitId));
} }
@ -123,18 +108,15 @@ class NotifyVisitToMercureTest extends TestCase
$visitId = '123'; $visitId = '123';
$update = Update::forTopicAndPayload('', []); $update = Update::forTopicAndPayload('', []);
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn($visit);
$this->equalTo(Visit::class),
$this->equalTo($visitId),
)->willReturn($visit);
$this->logger->expects($this->never())->method('warning'); $this->logger->expects($this->never())->method('warning');
$this->logger->expects($this->never())->method('debug'); $this->logger->expects($this->never())->method('debug');
$this->updatesGenerator->expects($this->never())->method('newShortUrlVisitUpdate'); $this->updatesGenerator->expects($this->never())->method('newShortUrlVisitUpdate');
$this->updatesGenerator->expects($this->once())->method('newOrphanVisitUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newOrphanVisitUpdate')->with($visit)->willReturn(
$this->equalTo($visit), $update,
)->willReturn($update); );
$this->updatesGenerator->expects($this->never())->method('newVisitUpdate'); $this->updatesGenerator->expects($this->never())->method('newVisitUpdate');
$this->helper->expects($this->once())->method('publishUpdate')->with($this->equalTo($update)); $this->helper->expects($this->once())->method('publishUpdate')->with($update);
($this->listener)(new VisitLocated($visitId)); ($this->listener)(new VisitLocated($visitId));
} }

View file

@ -52,14 +52,11 @@ class NotifyVisitToWebHooksTest extends TestCase
/** @test */ /** @test */
public function invalidVisitDoesNotPerformAnyRequest(): void public function invalidVisitDoesNotPerformAnyRequest(): void
{ {
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '1')->willReturn(null);
$this->equalTo(Visit::class),
$this->equalTo('1'),
)->willReturn(null);
$this->httpClient->expects($this->never())->method('requestAsync'); $this->httpClient->expects($this->never())->method('requestAsync');
$this->logger->expects($this->once())->method('warning')->with( $this->logger->expects($this->once())->method('warning')->with(
$this->equalTo('Tried to notify webhooks for visit with id "{visitId}", but it does not exist.'), 'Tried to notify webhooks for visit with id "{visitId}", but it does not exist.',
$this->equalTo(['visitId' => '1']), ['visitId' => '1'],
); );
$this->createListener(['foo', 'bar'])(new VisitLocated('1')); $this->createListener(['foo', 'bar'])(new VisitLocated('1'));
@ -68,10 +65,9 @@ class NotifyVisitToWebHooksTest extends TestCase
/** @test */ /** @test */
public function orphanVisitDoesNotPerformAnyRequestWhenDisabled(): void public function orphanVisitDoesNotPerformAnyRequestWhenDisabled(): void
{ {
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '1')->willReturn(
$this->equalTo(Visit::class), Visit::forBasePath(Visitor::emptyInstance()),
$this->equalTo('1'), );
)->willReturn(Visit::forBasePath(Visitor::emptyInstance()));
$this->httpClient->expects($this->never())->method('requestAsync'); $this->httpClient->expects($this->never())->method('requestAsync');
$this->logger->expects($this->never())->method('warning'); $this->logger->expects($this->never())->method('warning');
@ -87,12 +83,9 @@ class NotifyVisitToWebHooksTest extends TestCase
$webhooks = ['foo', 'invalid', 'bar', 'baz']; $webhooks = ['foo', 'invalid', 'bar', 'baz'];
$invalidWebhooks = ['invalid', 'baz']; $invalidWebhooks = ['invalid', 'baz'];
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, '1')->willReturn($visit);
$this->equalTo(Visit::class),
$this->equalTo('1'),
)->willReturn($visit);
$this->httpClient->expects($this->exactly(count($webhooks)))->method('requestAsync')->with( $this->httpClient->expects($this->exactly(count($webhooks)))->method('requestAsync')->with(
$this->equalTo(RequestMethodInterface::METHOD_POST), RequestMethodInterface::METHOD_POST,
$this->istype('string'), $this->istype('string'),
$this->callback(function (array $requestOptions) use ($expectedResponseKeys) { $this->callback(function (array $requestOptions) use ($expectedResponseKeys) {
Assert::assertArrayHasKey(RequestOptions::HEADERS, $requestOptions); Assert::assertArrayHasKey(RequestOptions::HEADERS, $requestOptions);
@ -114,7 +107,7 @@ class NotifyVisitToWebHooksTest extends TestCase
return $shouldReject ? new RejectedPromise(new Exception('')) : new FulfilledPromise(''); return $shouldReject ? new RejectedPromise(new Exception('')) : new FulfilledPromise('');
}); });
$this->logger->expects($this->exactly(count($invalidWebhooks)))->method('warning')->with( $this->logger->expects($this->exactly(count($invalidWebhooks)))->method('warning')->with(
$this->equalTo('Failed to notify visit with id "{visitId}" to webhook "{webhook}". {e}'), 'Failed to notify visit with id "{visitId}" to webhook "{webhook}". {e}',
$this->callback(function (array $extra): bool { $this->callback(function (array $extra): bool {
Assert::assertArrayHasKey('webhook', $extra); Assert::assertArrayHasKey('webhook', $extra);
Assert::assertArrayHasKey('visitId', $extra); Assert::assertArrayHasKey('visitId', $extra);

View file

@ -51,13 +51,10 @@ class NotifyNewShortUrlToRabbitMqTest extends TestCase
public function notificationsAreNotSentWhenShortUrlCannotBeFound(): void public function notificationsAreNotSentWhenShortUrlCannotBeFound(): void
{ {
$shortUrlId = '123'; $shortUrlId = '123';
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(ShortUrl::class, $shortUrlId)->willReturn(null);
$this->equalTo(ShortUrl::class),
$this->equalTo($shortUrlId),
)->willReturn(null);
$this->logger->expects($this->once())->method('warning')->with( $this->logger->expects($this->once())->method('warning')->with(
$this->equalTo('Tried to notify {name} for new short URL with id "{shortUrlId}", but it does not exist.'), 'Tried to notify {name} for new short URL with id "{shortUrlId}", but it does not exist.',
$this->equalTo(['shortUrlId' => $shortUrlId, 'name' => 'RabbitMQ']), ['shortUrlId' => $shortUrlId, 'name' => 'RabbitMQ'],
); );
$this->logger->expects($this->never())->method('debug'); $this->logger->expects($this->never())->method('debug');
$this->helper->expects($this->never())->method('publishUpdate'); $this->helper->expects($this->never())->method('publishUpdate');
@ -70,14 +67,13 @@ class NotifyNewShortUrlToRabbitMqTest extends TestCase
{ {
$shortUrlId = '123'; $shortUrlId = '123';
$update = Update::forTopicAndPayload(Topic::NEW_SHORT_URL->value, []); $update = Update::forTopicAndPayload(Topic::NEW_SHORT_URL->value, []);
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(ShortUrl::class, $shortUrlId)->willReturn(
$this->equalTo(ShortUrl::class), ShortUrl::withLongUrl(''),
$this->equalTo($shortUrlId), );
)->willReturn(ShortUrl::withLongUrl(''));
$this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with(
$this->isInstanceOf(ShortUrl::class), $this->isInstanceOf(ShortUrl::class),
)->willReturn($update); )->willReturn($update);
$this->helper->expects($this->once())->method('publishUpdate')->with($this->equalTo($update)); $this->helper->expects($this->once())->method('publishUpdate')->with($update);
$this->logger->expects($this->never())->method('debug'); $this->logger->expects($this->never())->method('debug');
($this->listener())(new ShortUrlCreated($shortUrlId)); ($this->listener())(new ShortUrlCreated($shortUrlId));
@ -91,19 +87,16 @@ class NotifyNewShortUrlToRabbitMqTest extends TestCase
{ {
$shortUrlId = '123'; $shortUrlId = '123';
$update = Update::forTopicAndPayload(Topic::NEW_SHORT_URL->value, []); $update = Update::forTopicAndPayload(Topic::NEW_SHORT_URL->value, []);
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(ShortUrl::class, $shortUrlId)->willReturn(
$this->equalTo(ShortUrl::class), ShortUrl::withLongUrl(''),
$this->equalTo($shortUrlId), );
)->willReturn(ShortUrl::withLongUrl(''));
$this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with(
$this->isInstanceOf(ShortUrl::class), $this->isInstanceOf(ShortUrl::class),
)->willReturn($update); )->willReturn($update);
$this->helper->expects($this->once())->method('publishUpdate')->with( $this->helper->expects($this->once())->method('publishUpdate')->with($update)->willThrowException($e);
$this->equalTo($update),
)->willThrowException($e);
$this->logger->expects($this->once())->method('debug')->with( $this->logger->expects($this->once())->method('debug')->with(
$this->equalTo('Error while trying to notify {name} with new short URL. {e}'), 'Error while trying to notify {name} with new short URL. {e}',
$this->equalTo(['e' => $e, 'name' => 'RabbitMQ']), ['e' => $e, 'name' => 'RabbitMQ'],
); );
($this->listener())(new ShortUrlCreated($shortUrlId)); ($this->listener())(new ShortUrlCreated($shortUrlId));

View file

@ -59,13 +59,10 @@ class NotifyVisitToRabbitMqTest extends TestCase
public function notificationsAreNotSentWhenVisitCannotBeFound(): void public function notificationsAreNotSentWhenVisitCannotBeFound(): void
{ {
$visitId = '123'; $visitId = '123';
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn(null);
$this->equalTo(Visit::class),
$this->equalTo($visitId),
)->willReturn(null);
$this->logger->expects($this->once())->method('warning')->with( $this->logger->expects($this->once())->method('warning')->with(
$this->equalTo('Tried to notify {name} for visit with id "{visitId}", but it does not exist.'), 'Tried to notify {name} for visit with id "{visitId}", but it does not exist.',
$this->equalTo(['visitId' => $visitId, 'name' => 'RabbitMQ']), ['visitId' => $visitId, 'name' => 'RabbitMQ'],
); );
$this->logger->expects($this->never())->method('debug'); $this->logger->expects($this->never())->method('debug');
$this->helper->expects($this->never())->method('publishUpdate'); $this->helper->expects($this->never())->method('publishUpdate');
@ -80,10 +77,7 @@ class NotifyVisitToRabbitMqTest extends TestCase
public function expectedChannelsAreNotifiedBasedOnTheVisitType(Visit $visit, array $expectedChannels): void public function expectedChannelsAreNotifiedBasedOnTheVisitType(Visit $visit, array $expectedChannels): void
{ {
$visitId = '123'; $visitId = '123';
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn($visit);
$this->equalTo(Visit::class),
$this->equalTo($visitId),
)->willReturn($visit);
each($expectedChannels, function (string $method): void { each($expectedChannels, function (string $method): void {
$this->updatesGenerator->expects($this->once())->method($method)->with( $this->updatesGenerator->expects($this->once())->method($method)->with(
$this->isInstanceOf(Visit::class), $this->isInstanceOf(Visit::class),
@ -121,17 +115,16 @@ class NotifyVisitToRabbitMqTest extends TestCase
public function printsDebugMessageInCaseOfError(Throwable $e): void public function printsDebugMessageInCaseOfError(Throwable $e): void
{ {
$visitId = '123'; $visitId = '123';
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn(
$this->equalTo(Visit::class), Visit::forBasePath(Visitor::emptyInstance()),
$this->equalTo($visitId), );
)->willReturn(Visit::forBasePath(Visitor::emptyInstance()));
$this->updatesGenerator->expects($this->once())->method('newOrphanVisitUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newOrphanVisitUpdate')->with(
$this->isInstanceOf(Visit::class), $this->isInstanceOf(Visit::class),
)->willReturn(Update::forTopicAndPayload('', [])); )->willReturn(Update::forTopicAndPayload('', []));
$this->helper->expects($this->once())->method('publishUpdate')->withAnyParameters()->willThrowException($e); $this->helper->expects($this->once())->method('publishUpdate')->withAnyParameters()->willThrowException($e);
$this->logger->expects($this->once())->method('debug')->with( $this->logger->expects($this->once())->method('debug')->with(
$this->equalTo('Error while trying to notify {name} with new visit. {e}'), 'Error while trying to notify {name} with new visit. {e}',
$this->equalTo(['e' => $e, 'name' => 'RabbitMQ']), ['e' => $e, 'name' => 'RabbitMQ'],
); );
($this->listener())(new VisitLocated($visitId)); ($this->listener())(new VisitLocated($visitId));
@ -155,10 +148,7 @@ class NotifyVisitToRabbitMqTest extends TestCase
callable $expect, callable $expect,
): void { ): void {
$visitId = '123'; $visitId = '123';
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn($visit);
$this->equalTo(Visit::class),
$this->equalTo($visitId),
)->willReturn($visit);
$setup($this->updatesGenerator); $setup($this->updatesGenerator);
$expect($this->helper, $this->updatesGenerator); $expect($this->helper, $this->updatesGenerator);

View file

@ -54,19 +54,16 @@ class NotifyNewShortUrlToRedisTest extends TestCase
{ {
$shortUrlId = '123'; $shortUrlId = '123';
$update = Update::forTopicAndPayload(Topic::NEW_SHORT_URL->value, []); $update = Update::forTopicAndPayload(Topic::NEW_SHORT_URL->value, []);
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(ShortUrl::class, $shortUrlId)->willReturn(
$this->equalTo(ShortUrl::class), ShortUrl::withLongUrl(''),
$this->equalTo($shortUrlId), );
)->willReturn(ShortUrl::withLongUrl(''));
$this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newShortUrlUpdate')->with(
$this->isInstanceOf(ShortUrl::class), $this->isInstanceOf(ShortUrl::class),
)->willReturn($update); )->willReturn($update);
$this->helper->expects($this->once())->method('publishUpdate')->with( $this->helper->expects($this->once())->method('publishUpdate')->with($update)->willThrowException($e);
$this->equalTo($update),
)->willThrowException($e);
$this->logger->expects($this->once())->method('debug')->with( $this->logger->expects($this->once())->method('debug')->with(
$this->equalTo('Error while trying to notify {name} with new short URL. {e}'), 'Error while trying to notify {name} with new short URL. {e}',
$this->equalTo(['e' => $e, 'name' => 'Redis pub/sub']), ['e' => $e, 'name' => 'Redis pub/sub'],
); );
$this->createListener()(new ShortUrlCreated($shortUrlId)); $this->createListener()(new ShortUrlCreated($shortUrlId));

View file

@ -53,17 +53,16 @@ class NotifyVisitToRedisTest extends TestCase
public function printsDebugMessageInCaseOfError(Throwable $e): void public function printsDebugMessageInCaseOfError(Throwable $e): void
{ {
$visitId = '123'; $visitId = '123';
$this->em->expects($this->once())->method('find')->with( $this->em->expects($this->once())->method('find')->with(Visit::class, $visitId)->willReturn(
$this->equalTo(Visit::class), Visit::forBasePath(Visitor::emptyInstance()),
$this->equalTo($visitId), );
)->willReturn(Visit::forBasePath(Visitor::emptyInstance()));
$this->updatesGenerator->expects($this->once())->method('newOrphanVisitUpdate')->with( $this->updatesGenerator->expects($this->once())->method('newOrphanVisitUpdate')->with(
$this->isInstanceOf(Visit::class), $this->isInstanceOf(Visit::class),
)->willReturn(Update::forTopicAndPayload('', [])); )->willReturn(Update::forTopicAndPayload('', []));
$this->helper->expects($this->once())->method('publishUpdate')->withAnyParameters()->willThrowException($e); $this->helper->expects($this->once())->method('publishUpdate')->withAnyParameters()->willThrowException($e);
$this->logger->expects($this->once())->method('debug')->with( $this->logger->expects($this->once())->method('debug')->with(
$this->equalTo('Error while trying to notify {name} with new visit. {e}'), 'Error while trying to notify {name} with new visit. {e}',
$this->equalTo(['e' => $e, 'name' => 'Redis pub/sub']), ['e' => $e, 'name' => 'Redis pub/sub'],
); );
$this->createListener()(new VisitLocated($visitId)); $this->createListener()(new VisitLocated($visitId));

View file

@ -39,8 +39,8 @@ class UpdateGeoLiteDbTest extends TestCase
$this->dbUpdater->expects($this->once())->method('checkDbUpdate')->withAnyParameters()->willThrowException($e); $this->dbUpdater->expects($this->once())->method('checkDbUpdate')->withAnyParameters()->willThrowException($e);
$this->logger->expects($this->once())->method('error')->with( $this->logger->expects($this->once())->method('error')->with(
$this->equalTo('GeoLite2 database download failed. {e}'), 'GeoLite2 database download failed. {e}',
$this->equalTo(['e' => $e]), ['e' => $e],
); );
$this->logger->expects($this->never())->method('notice'); $this->logger->expects($this->never())->method('notice');
$this->eventDispatcher->expects($this->never())->method('dispatch'); $this->eventDispatcher->expects($this->never())->method('dispatch');
@ -60,7 +60,7 @@ class UpdateGeoLiteDbTest extends TestCase
return GeolocationResult::DB_IS_UP_TO_DATE; return GeolocationResult::DB_IS_UP_TO_DATE;
}, },
); );
$this->logger->expects($this->once())->method('notice')->with($this->equalTo($expectedMessage)); $this->logger->expects($this->once())->method('notice')->with($expectedMessage);
$this->logger->expects($this->never())->method('error'); $this->logger->expects($this->never())->method('error');
$this->eventDispatcher->expects($this->never())->method('dispatch'); $this->eventDispatcher->expects($this->never())->method('dispatch');
@ -94,7 +94,7 @@ class UpdateGeoLiteDbTest extends TestCase
}, },
); );
$logNoticeExpectation = $expectedMessage !== null ? $this->once() : $this->never(); $logNoticeExpectation = $expectedMessage !== null ? $this->once() : $this->never();
$this->logger->expects($logNoticeExpectation)->method('notice')->with($this->equalTo($expectedMessage)); $this->logger->expects($logNoticeExpectation)->method('notice')->with($expectedMessage);
$this->logger->expects($this->never())->method('error'); $this->logger->expects($this->never())->method('error');
$this->eventDispatcher->expects($this->never())->method('dispatch'); $this->eventDispatcher->expects($this->never())->method('dispatch');
@ -123,7 +123,7 @@ class UpdateGeoLiteDbTest extends TestCase
): void { ): void {
$this->dbUpdater->expects($this->once())->method('checkDbUpdate')->withAnyParameters()->willReturn($result); $this->dbUpdater->expects($this->once())->method('checkDbUpdate')->withAnyParameters()->willReturn($result);
$this->eventDispatcher->expects($this->exactly($expectedDispatches))->method('dispatch')->with( $this->eventDispatcher->expects($this->exactly($expectedDispatches))->method('dispatch')->with(
$this->equalTo(new GeoLiteDbCreated()), new GeoLiteDbCreated(),
); );
($this->listener)(); ($this->listener)();

View file

@ -41,7 +41,7 @@ class ImportedLinksProcessorTest extends TestCase
{ {
$this->em = $this->createMock(EntityManagerInterface::class); $this->em = $this->createMock(EntityManagerInterface::class);
$this->repo = $this->createMock(ShortUrlRepositoryInterface::class); $this->repo = $this->createMock(ShortUrlRepositoryInterface::class);
$this->em->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn($this->repo); $this->em->method('getRepository')->with(ShortUrl::class)->willReturn($this->repo);
$this->shortCodeHelper = $this->createMock(ShortCodeUniquenessHelperInterface::class); $this->shortCodeHelper = $this->createMock(ShortCodeUniquenessHelperInterface::class);
$batchHelper = $this->createMock(DoctrineBatchHelperInterface::class); $batchHelper = $this->createMock(DoctrineBatchHelperInterface::class);

View file

@ -38,14 +38,14 @@ class ShortCodeUniquenessHelperTest extends TestCase
$expectedCalls = 3; $expectedCalls = 3;
$repo = $this->createMock(ShortUrlRepository::class); $repo = $this->createMock(ShortUrlRepository::class);
$repo->expects($this->exactly($expectedCalls))->method('shortCodeIsInUseWithLock')->with( $repo->expects($this->exactly($expectedCalls))->method('shortCodeIsInUseWithLock')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain('abc123', $expectedAuthority)), ShortUrlIdentifier::fromShortCodeAndDomain('abc123', $expectedAuthority),
)->willReturnCallback(function () use (&$callIndex, $expectedCalls) { )->willReturnCallback(function () use (&$callIndex, $expectedCalls) {
$callIndex++; $callIndex++;
return $callIndex < $expectedCalls; return $callIndex < $expectedCalls;
}); });
$this->em->expects($this->exactly($expectedCalls))->method('getRepository')->with( $this->em->expects($this->exactly($expectedCalls))->method('getRepository')->with(ShortUrl::class)->willReturn(
$this->equalTo(ShortUrl::class), $repo,
)->willReturn($repo); );
$this->shortUrl->method('getDomain')->willReturn($domain); $this->shortUrl->method('getDomain')->willReturn($domain);
$this->shortUrl->expects($this->exactly($expectedCalls - 1))->method('regenerateShortCode')->with(); $this->shortUrl->expects($this->exactly($expectedCalls - 1))->method('regenerateShortCode')->with();
@ -65,11 +65,9 @@ class ShortCodeUniquenessHelperTest extends TestCase
{ {
$repo = $this->createMock(ShortUrlRepository::class); $repo = $this->createMock(ShortUrlRepository::class);
$repo->expects($this->once())->method('shortCodeIsInUseWithLock')->with( $repo->expects($this->once())->method('shortCodeIsInUseWithLock')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain('abc123')), ShortUrlIdentifier::fromShortCodeAndDomain('abc123'),
)->willReturn(true); )->willReturn(true);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn( $this->em->expects($this->once())->method('getRepository')->with(ShortUrl::class)->willReturn($repo);
$repo,
);
$this->shortUrl->method('getDomain')->willReturn(null); $this->shortUrl->method('getDomain')->willReturn(null);
$this->shortUrl->expects($this->never())->method('regenerateShortCode'); $this->shortUrl->expects($this->never())->method('regenerateShortCode');

View file

@ -29,11 +29,11 @@ class ShortUrlTitleResolutionHelperTest extends TestCase
{ {
$longUrl = 'http://foobar.com/12345/hello?foo=bar'; $longUrl = 'http://foobar.com/12345/hello?foo=bar';
$this->urlValidator->expects($this->exactly($validateWithTitleCallsNum))->method('validateUrlWithTitle')->with( $this->urlValidator->expects($this->exactly($validateWithTitleCallsNum))->method('validateUrlWithTitle')->with(
$this->equalTo($longUrl), $longUrl,
$this->isFalse(), $this->isFalse(),
); );
$this->urlValidator->expects($this->exactly($validateCallsNum))->method('validateUrl')->with( $this->urlValidator->expects($this->exactly($validateCallsNum))->method('validateUrl')->with(
$this->equalTo($longUrl), $longUrl,
$this->isFalse(), $this->isFalse(),
); );

View file

@ -48,13 +48,10 @@ class ShortUrlResolverTest extends TestCase
$shortCode = $shortUrl->getShortCode(); $shortCode = $shortUrl->getShortCode();
$identifier = ShortUrlIdentifier::fromShortCodeAndDomain($shortCode); $identifier = ShortUrlIdentifier::fromShortCodeAndDomain($shortCode);
$this->repo->expects($this->once())->method('findOne')->with( $this->repo->expects($this->once())->method('findOne')->with($identifier, $apiKey?->spec())->willReturn(
$this->equalTo($identifier), $shortUrl,
$this->equalTo($apiKey?->spec()),
)->willReturn($shortUrl);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn(
$this->repo,
); );
$this->em->expects($this->once())->method('getRepository')->with(ShortUrl::class)->willReturn($this->repo);
$result = $this->urlResolver->resolveShortUrl($identifier, $apiKey); $result = $this->urlResolver->resolveShortUrl($identifier, $apiKey);
@ -70,13 +67,8 @@ class ShortUrlResolverTest extends TestCase
$shortCode = 'abc123'; $shortCode = 'abc123';
$identifier = ShortUrlIdentifier::fromShortCodeAndDomain($shortCode); $identifier = ShortUrlIdentifier::fromShortCodeAndDomain($shortCode);
$this->repo->expects($this->once())->method('findOne')->with( $this->repo->expects($this->once())->method('findOne')->with($identifier, $apiKey?->spec())->willReturn(null);
$this->equalTo($identifier), $this->em->expects($this->once())->method('getRepository')->with(ShortUrl::class)->willReturn($this->repo);
$this->equalTo($apiKey?->spec()),
)->willReturn(null);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn(
$this->repo,
);
$this->expectException(ShortUrlNotFoundException::class); $this->expectException(ShortUrlNotFoundException::class);
@ -90,11 +82,9 @@ class ShortUrlResolverTest extends TestCase
$shortCode = $shortUrl->getShortCode(); $shortCode = $shortUrl->getShortCode();
$this->repo->expects($this->once())->method('findOneWithDomainFallback')->with( $this->repo->expects($this->once())->method('findOneWithDomainFallback')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
)->willReturn($shortUrl); )->willReturn($shortUrl);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn( $this->em->expects($this->once())->method('getRepository')->with(ShortUrl::class)->willReturn($this->repo);
$this->repo,
);
$result = $this->urlResolver->resolveEnabledShortUrl(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)); $result = $this->urlResolver->resolveEnabledShortUrl(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode));
@ -110,11 +100,9 @@ class ShortUrlResolverTest extends TestCase
$shortCode = $shortUrl->getShortCode(); $shortCode = $shortUrl->getShortCode();
$this->repo->expects($this->once())->method('findOneWithDomainFallback')->with( $this->repo->expects($this->once())->method('findOneWithDomainFallback')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain($shortCode)), ShortUrlIdentifier::fromShortCodeAndDomain($shortCode),
)->willReturn($shortUrl); )->willReturn($shortUrl);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn( $this->em->expects($this->once())->method('getRepository')->with(ShortUrl::class)->willReturn($this->repo);
$this->repo,
);
$this->expectException(ShortUrlNotFoundException::class); $this->expectException(ShortUrlNotFoundException::class);

View file

@ -64,7 +64,7 @@ class ShortUrlServiceTest extends TestCase
$repo = $this->createMock(ShortUrlRepository::class); $repo = $this->createMock(ShortUrlRepository::class);
$repo->expects($this->once())->method('findList')->willReturn($list); $repo->expects($this->once())->method('findList')->willReturn($list);
$repo->expects($this->once())->method('countList')->willReturn(count($list)); $repo->expects($this->once())->method('countList')->willReturn(count($list));
$this->em->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn($repo); $this->em->method('getRepository')->with(ShortUrl::class)->willReturn($repo);
$paginator = $this->service->listShortUrls(ShortUrlsParams::emptyInstance(), $apiKey); $paginator = $this->service->listShortUrls(ShortUrlsParams::emptyInstance(), $apiKey);
@ -85,13 +85,13 @@ class ShortUrlServiceTest extends TestCase
$shortUrl = ShortUrl::withLongUrl($originalLongUrl); $shortUrl = ShortUrl::withLongUrl($originalLongUrl);
$this->urlResolver->expects($this->once())->method('resolveShortUrl')->with( $this->urlResolver->expects($this->once())->method('resolveShortUrl')->with(
$this->equalTo(ShortUrlIdentifier::fromShortCodeAndDomain('abc123')), ShortUrlIdentifier::fromShortCodeAndDomain('abc123'),
$this->equalTo($apiKey), $apiKey,
)->willReturn($shortUrl); )->willReturn($shortUrl);
$this->titleResolutionHelper->expects($this->exactly($expectedValidateCalls)) $this->titleResolutionHelper->expects($this->exactly($expectedValidateCalls))
->method('processTitleAndValidateUrl') ->method('processTitleAndValidateUrl')
->with($this->equalTo($shortUrlEdit)) ->with($shortUrlEdit)
->willReturn($shortUrlEdit); ->willReturn($shortUrlEdit);
$result = $this->service->updateShortUrl( $result = $this->service->updateShortUrl(

View file

@ -52,7 +52,7 @@ class UrlShortenerTest extends TestCase
$longUrl = 'http://foobar.com/12345/hello?foo=bar'; $longUrl = 'http://foobar.com/12345/hello?foo=bar';
$meta = ShortUrlCreation::fromRawData(['longUrl' => $longUrl]); $meta = ShortUrlCreation::fromRawData(['longUrl' => $longUrl]);
$this->titleResolutionHelper->expects($this->once())->method('processTitleAndValidateUrl')->with( $this->titleResolutionHelper->expects($this->once())->method('processTitleAndValidateUrl')->with(
$this->equalTo($meta), $meta,
)->willReturnArgument(0); )->willReturnArgument(0);
$this->shortCodeHelper->method('ensureShortCodeUniqueness')->willReturn(true); $this->shortCodeHelper->method('ensureShortCodeUniqueness')->willReturn(true);
@ -70,7 +70,7 @@ class UrlShortenerTest extends TestCase
$this->shortCodeHelper->expects($this->once())->method('ensureShortCodeUniqueness')->willReturn(false); $this->shortCodeHelper->expects($this->once())->method('ensureShortCodeUniqueness')->willReturn(false);
$this->titleResolutionHelper->expects($this->once())->method('processTitleAndValidateUrl')->with( $this->titleResolutionHelper->expects($this->once())->method('processTitleAndValidateUrl')->with(
$this->equalTo($meta), $meta,
)->willReturnArgument(0); )->willReturnArgument(0);
$this->expectException(NonUniqueSlugException::class); $this->expectException(NonUniqueSlugException::class);
@ -86,9 +86,7 @@ class UrlShortenerTest extends TestCase
{ {
$repo = $this->createMock(ShortUrlRepository::class); $repo = $this->createMock(ShortUrlRepository::class);
$repo->expects($this->once())->method('findOneMatching')->willReturn($expected); $repo->expects($this->once())->method('findOneMatching')->willReturn($expected);
$this->em->expects($this->once())->method('getRepository')->with($this->equalTo(ShortUrl::class))->willReturn( $this->em->expects($this->once())->method('getRepository')->with(ShortUrl::class)->willReturn($repo);
$repo,
);
$this->titleResolutionHelper->expects($this->never())->method('processTitleAndValidateUrl'); $this->titleResolutionHelper->expects($this->never())->method('processTitleAndValidateUrl');
$this->shortCodeHelper->method('ensureShortCodeUniqueness')->willReturn(true); $this->shortCodeHelper->method('ensureShortCodeUniqueness')->willReturn(true);