mirror of
https://github.com/shlinkio/shlink.git
synced 2024-12-11 08:38:03 +03:00
33 lines
1 KiB
PHP
33 lines
1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace ShlinkioApiTest\Shlink\Rest\Action;
|
|
|
|
use Shlinkio\Shlink\TestUtils\ApiTest\ApiTestCase;
|
|
|
|
class GlobalVisitsTest extends ApiTestCase
|
|
{
|
|
/**
|
|
* @test
|
|
* @dataProvider provideApiKeys
|
|
*/
|
|
public function returnsExpectedVisitsStats(string $apiKey, int $expectedVisits): void
|
|
{
|
|
$resp = $this->callApiWithKey(self::METHOD_GET, '/visits', [], $apiKey);
|
|
$payload = $this->getJsonResponsePayload($resp);
|
|
|
|
self::assertArrayHasKey('visits', $payload);
|
|
self::assertArrayHasKey('visitsCount', $payload['visits']);
|
|
self::assertArrayHasKey('orphanVisitsCount', $payload['visits']);
|
|
self::assertEquals($expectedVisits, $payload['visits']['visitsCount']);
|
|
self::assertEquals(3, $payload['visits']['orphanVisitsCount']);
|
|
}
|
|
|
|
public function provideApiKeys(): iterable
|
|
{
|
|
yield 'admin API key' => ['valid_api_key', 7];
|
|
yield 'domain API key' => ['domain_api_key', 0];
|
|
yield 'author API key' => ['author_api_key', 5];
|
|
}
|
|
}
|