diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c252ab0..5db6cad2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,29 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com), and this project adheres to [Semantic Versioning](https://semver.org). +## [Unreleased] + +#### Added + +* *Nothing* + +#### Changed + +* *Nothing* + +#### Deprecated + +* *Nothing* + +#### Removed + +* *Nothing* + +#### Fixed + +* [#362](https://github.com/shlinkio/shlink/issues/362) Fixed all visits without an IP address being processed every time the `visit:process` command is executed. + + ## 1.16.0 - 2019-02-23 #### Added diff --git a/module/Core/test/Entity/VisitLocationTest.php b/module/Core/test/Entity/VisitLocationTest.php index 6e008e15..d331d5c6 100644 --- a/module/Core/test/Entity/VisitLocationTest.php +++ b/module/Core/test/Entity/VisitLocationTest.php @@ -18,4 +18,28 @@ class VisitLocationTest extends TestCase $this->assertSame('1000.7', $location->getLatitude()); $this->assertSame('-2000.4', $location->getLongitude()); } + + /** + * @test + * @dataProvider provideArgs + */ + public function isEmptyReturnsTrueWhenAllValuesAreEmpty(array $args, bool $isEmpty): void + { + $payload = new Location(...$args); + $location = new VisitLocation($payload); + + $this->assertEquals($isEmpty, $location->isEmpty()); + } + + public function provideArgs(): iterable + { + yield [['', '', '', '', 0.0, 0.0, ''], true]; + yield [['', '', '', '', 0.0, 0.0, 'dd'], false]; + yield [['', '', '', 'dd', 0.0, 0.0, ''], false]; + yield [['', '', 'dd', '', 0.0, 0.0, ''], false]; + yield [['', 'dd', '', '', 0.0, 0.0, ''], false]; + yield [['dd', '', '', '', 0.0, 0.0, ''], false]; + yield [['', '', '', '', 1.0, 0.0, ''], false]; + yield [['', '', '', '', 0.0, 1.0, ''], false]; + } }