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

@@ -21,7 +21,7 @@ use function array_key_exists;
class DomainRedirectsActionTest extends TestCase
{
private DomainRedirectsAction $action;
private MockObject $domainService;
private MockObject & DomainServiceInterface $domainService;
protected function setUp(): void
{

View File

@@ -19,7 +19,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class ListDomainsActionTest extends TestCase
{
private ListDomainsAction $action;
private MockObject $domainService;
private MockObject & DomainServiceInterface $domainService;
private NotFoundRedirectOptions $options;
protected function setUp(): void

View File

@@ -19,7 +19,7 @@ use Shlinkio\Shlink\Rest\Action\HealthAction;
class HealthActionTest extends TestCase
{
private HealthAction $action;
private MockObject $conn;
private MockObject & Connection $conn;
protected function setUp(): void
{

View File

@@ -15,7 +15,7 @@ use Shlinkio\Shlink\Rest\Exception\MercureException;
class MercureInfoActionTest extends TestCase
{
private MockObject $provider;
private MockObject & JwtProviderInterface $provider;
protected function setUp(): void
{

View File

@@ -22,8 +22,8 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class CreateShortUrlActionTest extends TestCase
{
private CreateShortUrlAction $action;
private MockObject $urlShortener;
private MockObject $transformer;
private MockObject & UrlShortener $urlShortener;
private MockObject & DataTransformerInterface $transformer;
protected function setUp(): void
{

View File

@@ -14,7 +14,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class DeleteShortUrlActionTest extends TestCase
{
private DeleteShortUrlAction $action;
private MockObject $service;
private MockObject & DeleteShortUrlServiceInterface $service;
protected function setUp(): void
{

View File

@@ -18,7 +18,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class EditShortUrlActionTest extends TestCase
{
private EditShortUrlAction $action;
private MockObject $shortUrlService;
private MockObject & ShortUrlServiceInterface $shortUrlService;
protected function setUp(): void
{

View File

@@ -21,7 +21,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class ListShortUrlsActionTest extends TestCase
{
private ListShortUrlsAction $action;
private MockObject $service;
private MockObject & ShortUrlService $service;
protected function setUp(): void
{

View File

@@ -18,7 +18,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class ResolveShortUrlActionTest extends TestCase
{
private ResolveShortUrlAction $action;
private MockObject $urlResolver;
private MockObject & ShortUrlResolverInterface $urlResolver;
protected function setUp(): void
{

View File

@@ -18,7 +18,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class SingleStepCreateShortUrlActionTest extends TestCase
{
private SingleStepCreateShortUrlAction $action;
private MockObject $urlShortener;
private MockObject & UrlShortenerInterface $urlShortener;
protected function setUp(): void
{

View File

@@ -14,7 +14,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class DeleteTagsActionTest extends TestCase
{
private DeleteTagsAction $action;
private MockObject $tagService;
private MockObject & TagServiceInterface $tagService;
protected function setUp(): void
{

View File

@@ -22,7 +22,7 @@ use function count;
class ListTagsActionTest extends TestCase
{
private ListTagsAction $action;
private MockObject $tagService;
private MockObject & TagServiceInterface $tagService;
protected function setUp(): void
{

View File

@@ -21,7 +21,7 @@ use function count;
class TagsStatsActionTest extends TestCase
{
private TagsStatsAction $action;
private MockObject $tagService;
private MockObject & TagServiceInterface $tagService;
protected function setUp(): void
{

View File

@@ -18,7 +18,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class UpdateTagActionTest extends TestCase
{
private UpdateTagAction $action;
private MockObject $tagService;
private MockObject & TagServiceInterface $tagService;
protected function setUp(): void
{

View File

@@ -17,7 +17,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class DomainVisitsActionTest extends TestCase
{
private DomainVisitsAction $action;
private MockObject $visitsHelper;
private MockObject & VisitsStatsHelperInterface $visitsHelper;
protected function setUp(): void
{

View File

@@ -16,7 +16,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class GlobalVisitsActionTest extends TestCase
{
private GlobalVisitsAction $action;
private MockObject $helper;
private MockObject & VisitsStatsHelperInterface $helper;
protected function setUp(): void
{

View File

@@ -18,7 +18,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class NonOrphanVisitsActionTest extends TestCase
{
private NonOrphanVisitsAction $action;
private MockObject $visitsHelper;
private MockObject & VisitsStatsHelperInterface $visitsHelper;
protected function setUp(): void
{

View File

@@ -22,8 +22,8 @@ use function count;
class OrphanVisitsActionTest extends TestCase
{
private OrphanVisitsAction $action;
private MockObject $visitsHelper;
private MockObject $orphanVisitTransformer;
private MockObject & VisitsStatsHelperInterface $visitsHelper;
private MockObject & DataTransformerInterface $orphanVisitTransformer;
protected function setUp(): void
{

View File

@@ -21,7 +21,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class ShortUrlVisitsActionTest extends TestCase
{
private ShortUrlVisitsAction $action;
private MockObject $visitsHelper;
private MockObject & VisitsStatsHelperInterface $visitsHelper;
protected function setUp(): void
{

View File

@@ -17,7 +17,7 @@ use Shlinkio\Shlink\Rest\Entity\ApiKey;
class TagVisitsActionTest extends TestCase
{
private TagVisitsAction $action;
private MockObject $visitsHelper;
private MockObject & VisitsStatsHelperInterface $visitsHelper;
protected function setUp(): void
{

View File

@@ -14,7 +14,7 @@ use Shlinkio\Shlink\Rest\Middleware\CrossDomainMiddleware;
class CrossDomainMiddlewareTest extends TestCase
{
private CrossDomainMiddleware $middleware;
private MockObject $handler;
private MockObject & RequestHandlerInterface $handler;
protected function setUp(): void
{

View File

@@ -17,9 +17,9 @@ use Shlinkio\Shlink\Rest\Middleware\Mercure\NotConfiguredMercureErrorHandler;
class NotConfiguredMercureErrorHandlerTest extends TestCase
{
private NotConfiguredMercureErrorHandler $middleware;
private MockObject $respFactory;
private MockObject $logger;
private MockObject $handler;
private MockObject & ProblemDetailsResponseFactory $respFactory;
private MockObject & LoggerInterface $logger;
private MockObject & RequestHandlerInterface $handler;
protected function setUp(): void
{

View File

@@ -16,7 +16,7 @@ use Shlinkio\Shlink\Rest\Middleware\ShortUrl\CreateShortUrlContentNegotiationMid
class CreateShortUrlContentNegotiationMiddlewareTest extends TestCase
{
private CreateShortUrlContentNegotiationMiddleware $middleware;
private MockObject $requestHandler;
private MockObject & RequestHandlerInterface $requestHandler;
protected function setUp(): void
{

View File

@@ -17,7 +17,7 @@ use Shlinkio\Shlink\Rest\Middleware\ShortUrl\DefaultShortCodesLengthMiddleware;
class DefaultShortCodesLengthMiddlewareTest extends TestCase
{
private DefaultShortCodesLengthMiddleware $middleware;
private MockObject $handler;
private MockObject & RequestHandlerInterface $handler;
protected function setUp(): void
{
@@ -34,7 +34,7 @@ class DefaultShortCodesLengthMiddlewareTest extends TestCase
$request = ServerRequestFactory::fromGlobals()->withParsedBody($body);
$this->handler->expects($this->once())->method('handle')->with($this->callback(
function (ServerRequestInterface $req) use ($expectedLength) {
$parsedBody = $req->getParsedBody();
$parsedBody = (array) $req->getParsedBody();
Assert::assertArrayHasKey(ShortUrlInputFilter::SHORT_CODE_LENGTH, $parsedBody);
Assert::assertEquals($expectedLength, $parsedBody[ShortUrlInputFilter::SHORT_CODE_LENGTH]);

View File

@@ -16,7 +16,7 @@ use Shlinkio\Shlink\Rest\Middleware\ShortUrl\DropDefaultDomainFromRequestMiddlew
class DropDefaultDomainFromRequestMiddlewareTest extends TestCase
{
private DropDefaultDomainFromRequestMiddleware $middleware;
private MockObject $next;
private MockObject & RequestHandlerInterface $next;
protected function setUp(): void
{

View File

@@ -21,9 +21,9 @@ use Shlinkio\Shlink\Rest\Middleware\ShortUrl\OverrideDomainMiddleware;
class OverrideDomainMiddlewareTest extends TestCase
{
private OverrideDomainMiddleware $middleware;
private MockObject $domainService;
private MockObject $apiKey;
private MockObject $handler;
private MockObject & DomainServiceInterface $domainService;
private MockObject & ApiKey $apiKey;
private MockObject & RequestHandlerInterface $handler;
protected function setUp(): void
{

View File

@@ -19,8 +19,8 @@ use Shlinkio\Shlink\Rest\Service\ApiKeyService;
class ApiKeyServiceTest extends TestCase
{
private ApiKeyService $service;
private MockObject $em;
private MockObject $repo;
private MockObject & EntityManager $em;
private MockObject & EntityRepository $repo;
protected function setUp(): void
{
@@ -50,10 +50,13 @@ class ApiKeyServiceTest extends TestCase
public function provideCreationDate(): iterable
{
$domain = Domain::withAuthority('');
$domain->setId('123');
yield 'no expiration date or name' => [null, null, []];
yield 'expiration date' => [Chronos::parse('2030-01-01'), null, []];
yield 'roles' => [null, null, [
RoleDefinition::forDomain(Domain::withAuthority('')->setId('123')),
RoleDefinition::forDomain($domain),
RoleDefinition::forAuthoredShortUrls(),
]];
yield 'single name' => [null, 'Alice', []];