Added stricter types for mocks

This commit is contained in:
Alejandro Celaya
2022-10-24 19:53:13 +02:00
parent aeafb244d9
commit 51f243995a
87 changed files with 156 additions and 152 deletions

View File

@@ -19,7 +19,7 @@ use function Functional\map;
class RoleResolverTest extends TestCase
{
private RoleResolver $resolver;
private MockObject $domainService;
private MockObject & DomainServiceInterface $domainService;
protected function setUp(): void
{

View File

@@ -13,10 +13,7 @@ use Symfony\Component\Console\Tester\CommandTester;
trait CliTestUtilsTrait
{
/**
* @return MockObject & Command
*/
private function createCommandMock(string $name): MockObject
private function createCommandMock(string $name): MockObject & Command
{
$command = $this->createMock(Command::class);
$command->method('getName')->willReturn($name);

View File

@@ -17,7 +17,7 @@ class DisableKeyCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $apiKeyService;
private MockObject & ApiKeyServiceInterface $apiKeyService;
protected function setUp(): void
{

View File

@@ -20,7 +20,7 @@ class GenerateKeyCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $apiKeyService;
private MockObject & ApiKeyServiceInterface $apiKeyService;
protected function setUp(): void
{

View File

@@ -21,7 +21,7 @@ class ListKeysCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $apiKeyService;
private MockObject & ApiKeyServiceInterface $apiKeyService;
protected function setUp(): void
{

View File

@@ -27,10 +27,10 @@ class CreateDatabaseCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $processHelper;
private MockObject $regularConn;
private MockObject $schemaManager;
private MockObject $driver;
private MockObject & ProcessRunnerInterface $processHelper;
private MockObject & Connection $regularConn;
private MockObject & AbstractSchemaManager $schemaManager;
private MockObject & Driver $driver;
protected function setUp(): void
{

View File

@@ -20,7 +20,7 @@ class MigrateDatabaseCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $processHelper;
private MockObject & ProcessRunnerInterface $processHelper;
protected function setUp(): void
{

View File

@@ -22,7 +22,7 @@ class DomainRedirectsCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $domainService;
private MockObject & DomainServiceInterface $domainService;
protected function setUp(): void
{

View File

@@ -21,7 +21,7 @@ class ListDomainsCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $domainService;
private MockObject & DomainServiceInterface $domainService;
protected function setUp(): void
{

View File

@@ -15,7 +15,7 @@ use Shlinkio\Shlink\Core\Options\UrlShortenerOptions;
use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
use Shlinkio\Shlink\Core\ShortUrl\Helper\ShortUrlStringifierInterface;
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlCreation;
use Shlinkio\Shlink\Core\ShortUrl\UrlShortener;
use Shlinkio\Shlink\Core\ShortUrl\UrlShortenerInterface;
use ShlinkioTest\Shlink\CLI\CliTestUtilsTrait;
use Symfony\Component\Console\Tester\CommandTester;
@@ -26,12 +26,12 @@ class CreateShortUrlCommandTest extends TestCase
private const DEFAULT_DOMAIN = 'default.com';
private CommandTester $commandTester;
private MockObject $urlShortener;
private MockObject $stringifier;
private MockObject & UrlShortenerInterface $urlShortener;
private MockObject & ShortUrlStringifierInterface $stringifier;
protected function setUp(): void
{
$this->urlShortener = $this->createMock(UrlShortener::class);
$this->urlShortener = $this->createMock(UrlShortenerInterface::class);
$this->stringifier = $this->createMock(ShortUrlStringifierInterface::class);
$command = new CreateShortUrlCommand(

View File

@@ -22,7 +22,7 @@ class DeleteShortUrlCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $service;
private MockObject & DeleteShortUrlServiceInterface $service;
protected function setUp(): void
{

View File

@@ -30,7 +30,7 @@ class ListShortUrlsCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $shortUrlService;
private MockObject & ShortUrlServiceInterface $shortUrlService;
protected function setUp(): void
{

View File

@@ -23,7 +23,7 @@ class ResolveUrlCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $urlResolver;
private MockObject & ShortUrlResolverInterface $urlResolver;
protected function setUp(): void
{

View File

@@ -16,7 +16,7 @@ class DeleteTagsCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $tagService;
private MockObject & TagServiceInterface $tagService;
protected function setUp(): void
{

View File

@@ -19,7 +19,7 @@ class ListTagsCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $tagService;
private MockObject & TagServiceInterface $tagService;
protected function setUp(): void
{

View File

@@ -19,7 +19,7 @@ class RenameTagCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $tagService;
private MockObject & TagServiceInterface $tagService;
protected function setUp(): void
{

View File

@@ -21,7 +21,7 @@ class DownloadGeoLiteDbCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $dbUpdater;
private MockObject & GeolocationDbUpdaterInterface $dbUpdater;
protected function setUp(): void
{

View File

@@ -14,12 +14,13 @@ use Shlinkio\Shlink\Core\ShortUrl\Entity\ShortUrl;
use Shlinkio\Shlink\Core\Visit\Entity\Visit;
use Shlinkio\Shlink\Core\Visit\Entity\VisitLocation;
use Shlinkio\Shlink\Core\Visit\Geolocation\VisitGeolocationHelperInterface;
use Shlinkio\Shlink\Core\Visit\Geolocation\VisitLocator;
use Shlinkio\Shlink\Core\Visit\Geolocation\VisitLocatorInterface;
use Shlinkio\Shlink\Core\Visit\Geolocation\VisitToLocationHelperInterface;
use Shlinkio\Shlink\Core\Visit\Model\Visitor;
use Shlinkio\Shlink\IpGeolocation\Exception\WrongIpException;
use Shlinkio\Shlink\IpGeolocation\Model\Location;
use ShlinkioTest\Shlink\CLI\CliTestUtilsTrait;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Exception\RuntimeException;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Tester\CommandTester;
@@ -34,14 +35,14 @@ class LocateVisitsCommandTest extends TestCase
use CliTestUtilsTrait;
private CommandTester $commandTester;
private MockObject $visitService;
private MockObject $visitToLocation;
private MockObject $lock;
private MockObject $downloadDbCommand;
private MockObject & VisitLocatorInterface $visitService;
private MockObject & VisitToLocationHelperInterface $visitToLocation;
private MockObject & Lock\LockInterface $lock;
private MockObject & Command $downloadDbCommand;
protected function setUp(): void
{
$this->visitService = $this->createMock(VisitLocator::class);
$this->visitService = $this->createMock(VisitLocatorInterface::class);
$this->visitToLocation = $this->createMock(VisitToLocationHelperInterface::class);
$locker = $this->createMock(Lock\LockFactory::class);

View File

@@ -16,10 +16,10 @@ use Symfony\Component\Process\Process;
class ProcessRunnerTest extends TestCase
{
private ProcessRunner $runner;
private MockObject $helper;
private MockObject $formatter;
private MockObject $process;
private MockObject $output;
private MockObject & ProcessHelper $helper;
private MockObject & DebugFormatterHelper $formatter;
private MockObject & Process $process;
private MockObject & OutputInterface $output;
protected function setUp(): void
{

View File

@@ -15,7 +15,7 @@ use Symfony\Component\Console\Output\OutputInterface;
class ShlinkTableTest extends TestCase
{
private ShlinkTable $shlinkTable;
private MockObject $baseTable;
private MockObject & Table $baseTable;
protected function setUp(): void
{