Skip to content

Commit c344933

Browse files
committed
Add test for dashboard package statistics page
1 parent 75d9d96 commit c344933

2 files changed

Lines changed: 29 additions & 3 deletions

File tree

templates/dashboard/packages/package_statistics.html.twig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,23 @@
99
<h2>{{ 'Installations'|trans }}</h2>
1010
<div class="row">
1111
<div class="col-md-4">
12-
<div class="card mb-2">
12+
<div id="total_all" class="card mb-2">
1313
<div class="card-body">
1414
<div>{{ 'Total'|trans }}:</div>
1515
<div class="display-6">{{ installationsTotal|number_format(thousandSep: ' ') }}</div>
1616
</div>
1717
</div>
1818
</div>
1919
<div class="col-md-4">
20-
<div class="card mb-2">
20+
<div id="total_last_30_days" class="card mb-2">
2121
<div class="card-body">
2222
<div>{{ 'Last 30 days'|trans }}:</div>
2323
<div class="display-6">{{ installationsLast30Days|number_format(thousandSep: ' ') }}</div>
2424
</div>
2525
</div>
2626
</div>
2727
<div class="col-md-4">
28-
<div class="card mb-2">
28+
<div id="total_today" class="card mb-2">
2929
<div class="card-body">
3030
<div>{{ 'Today'|trans }}:</div>
3131
<div class="display-6">{{ installationsToday|number_format(thousandSep: ' ') }}</div>

tests/FunctionalTests/DashboardPackagesControllerTest.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,32 @@
99

1010
class DashboardPackagesControllerTest extends WebTestCase
1111
{
12+
public function testStatistics(): void
13+
{
14+
$client = static::createClient();
15+
16+
/** @var UserRepository $userRepository */
17+
$userRepository = $client->getContainer()->get(UserRepository::class);
18+
19+
/** @var User $user */
20+
$user = $userRepository->findOneByUsername('user');
21+
$client->loginUser($user);
22+
23+
$client->request('GET', '/?routeName=dashboard_packages_statistics&routeParams[packageName]=psr/log');
24+
25+
$this->assertResponseStatusCodeSame(200);
26+
27+
/** @var PackageRepository $packageRepository */
28+
$packageRepository = $client->getContainer()->get(PackageRepository::class);
29+
30+
$package = $packageRepository->findOneByName('psr/log');
31+
32+
$this->assertAnySelectorTextSame('#total_all .display-6', number_format($package->getInstallations()->getTotal(), thousands_separator: ' '));
33+
34+
$todayKey = (new \DateTimeImmutable())->format('Ymd');
35+
$this->assertAnySelectorTextSame('#total_today .display-6', number_format($package->getInstallations()->getData()[$todayKey] ?? 0, thousands_separator: ' '));
36+
}
37+
1238
public function testAddVcsRepository(): void
1339
{
1440
$client = static::createClient();

0 commit comments

Comments
 (0)