From 9d7db96e4bfb38f4751c644f24f440759e8fbc14 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Fri, 14 Sep 2018 19:12:23 +0200 Subject: [PATCH] Added country name to console comand that lists visits --- module/CLI/src/Command/Shortcode/GetVisitsCommand.php | 9 ++++++--- .../CLI/test/Command/Shortcode/GetVisitsCommandTest.php | 9 +++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/module/CLI/src/Command/Shortcode/GetVisitsCommand.php b/module/CLI/src/Command/Shortcode/GetVisitsCommand.php index 61d044db..27cf198d 100644 --- a/module/CLI/src/Command/Shortcode/GetVisitsCommand.php +++ b/module/CLI/src/Command/Shortcode/GetVisitsCommand.php @@ -85,16 +85,19 @@ class GetVisitsCommand extends Command $rows = []; foreach ($visits as $row) { $rowData = $row->jsonSerialize(); - // Unset location info - unset($rowData['visitLocation']); + + // Unset location info and remote addr + unset($rowData['visitLocation'], $rowData['remoteAddr']); + + $rowData['country'] = $row->getVisitLocation()->getCountryName(); $rows[] = \array_values($rowData); } $io->table([ $this->translator->translate('Referer'), $this->translator->translate('Date'), - $this->translator->translate('Remote Address'), $this->translator->translate('User agent'), + $this->translator->translate('Country'), ], $rows); } diff --git a/module/CLI/test/Command/Shortcode/GetVisitsCommandTest.php b/module/CLI/test/Command/Shortcode/GetVisitsCommandTest.php index 4a647814..4035de78 100644 --- a/module/CLI/test/Command/Shortcode/GetVisitsCommandTest.php +++ b/module/CLI/test/Command/Shortcode/GetVisitsCommandTest.php @@ -9,6 +9,7 @@ use Prophecy\Prophecy\ObjectProphecy; use Shlinkio\Shlink\CLI\Command\Shortcode\GetVisitsCommand; use Shlinkio\Shlink\Common\Util\DateRange; use Shlinkio\Shlink\Core\Entity\Visit; +use Shlinkio\Shlink\Core\Entity\VisitLocation; use Shlinkio\Shlink\Core\Service\VisitsTrackerInterface; use Symfony\Component\Console\Application; use Symfony\Component\Console\Tester\CommandTester; @@ -77,7 +78,7 @@ class GetVisitsCommandTest extends TestCase $shortCode = 'abc123'; $this->visitsTracker->info($shortCode, Argument::any())->willReturn([ (new Visit())->setReferer('foo') - ->setRemoteAddr('1.2.3.4') + ->setVisitLocation((new VisitLocation())->setCountryName('Spain')) ->setUserAgent('bar'), ])->shouldBeCalledTimes(1); @@ -86,8 +87,8 @@ class GetVisitsCommandTest extends TestCase 'shortCode' => $shortCode, ]); $output = $this->commandTester->getDisplay(); - $this->assertTrue(\strpos($output, 'foo') > 0); - $this->assertTrue(\strpos($output, '1.2.3.0') > 0); - $this->assertTrue(\strpos($output, 'bar') > 0); + $this->assertGreaterThan(0, \strpos($output, 'foo')); + $this->assertGreaterThan(0, \strpos($output, 'Spain')); + $this->assertGreaterThan(0, \strpos($output, 'bar')); } }