Replace traits with external data providers in Core unit tests

This commit is contained in:
Alejandro Celaya
2023-06-18 10:41:24 +02:00
parent dc4aab2cab
commit bdf2bbd0f1
6 changed files with 18 additions and 42 deletions

View File

@@ -8,6 +8,7 @@ use Doctrine\ORM\EntityManagerInterface;
use Laminas\Stdlib\ArrayUtils;
use PHPUnit\Framework\Assert;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\DataProviderExternal;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
@@ -30,7 +31,7 @@ use Shlinkio\Shlink\Core\Visit\Persistence\VisitsListFiltering;
use Shlinkio\Shlink\Core\Visit\Repository\VisitRepository;
use Shlinkio\Shlink\Core\Visit\VisitsStatsHelper;
use Shlinkio\Shlink\Rest\Entity\ApiKey;
use ShlinkioTest\Shlink\Core\Util\ApiKeyHelpersTrait;
use ShlinkioTest\Shlink\Core\Util\ApiKeyDataProviders;
use function count;
use function Functional\map;
@@ -38,8 +39,6 @@ use function range;
class VisitsStatsHelperTest extends TestCase
{
use ApiKeyHelpersTrait;
private VisitsStatsHelper $helper;
private MockObject & EntityManagerInterface $em;
@@ -81,7 +80,7 @@ class VisitsStatsHelperTest extends TestCase
];
}
#[Test, DataProvider('provideAdminApiKeys')]
#[Test, DataProviderExternal(ApiKeyDataProviders::class, 'adminApiKeysProvider')]
public function infoReturnsVisitsForCertainShortCode(?ApiKey $apiKey): void
{
$shortCode = '123ABC';
@@ -141,7 +140,7 @@ class VisitsStatsHelperTest extends TestCase
$this->helper->visitsForTag($tag, new VisitsParams(), $apiKey);
}
#[Test, DataProvider('provideAdminApiKeys')]
#[Test, DataProviderExternal(ApiKeyDataProviders::class, 'adminApiKeysProvider')]
public function visitsForTagAreReturnedAsExpected(?ApiKey $apiKey): void
{
$tag = 'foo';
@@ -179,7 +178,7 @@ class VisitsStatsHelperTest extends TestCase
$this->helper->visitsForDomain($domain, new VisitsParams(), $apiKey);
}
#[Test, DataProvider('provideAdminApiKeys')]
#[Test, DataProviderExternal(ApiKeyDataProviders::class, 'adminApiKeysProvider')]
public function visitsForNonDefaultDomainAreReturnedAsExpected(?ApiKey $apiKey): void
{
$domain = 'foo.com';
@@ -207,7 +206,7 @@ class VisitsStatsHelperTest extends TestCase
self::assertEquals($list, ArrayUtils::iteratorToArray($paginator->getCurrentPageResults()));
}
#[Test, DataProvider('provideAdminApiKeys')]
#[Test, DataProviderExternal(ApiKeyDataProviders::class, 'adminApiKeysProvider')]
public function visitsForDefaultDomainAreReturnedAsExpected(?ApiKey $apiKey): void
{
$repo = $this->createMock(DomainRepository::class);