mirror of
https://github.com/shlinkio/shlink.git
synced 2026-03-12 01:54:41 +08:00
Added logic for new tracking options
This commit is contained in:
@@ -6,6 +6,7 @@ namespace ShlinkioTest\Shlink\Core\Model;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Shlinkio\Shlink\Core\Model\Visitor;
|
||||
use Shlinkio\Shlink\Core\Options\TrackingOptions;
|
||||
|
||||
use function random_int;
|
||||
use function str_repeat;
|
||||
@@ -71,4 +72,28 @@ class VisitorTest extends TestCase
|
||||
}
|
||||
return $randomString;
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function newNormalizedInstanceIsCreatedFromTrackingOptions(): void
|
||||
{
|
||||
$visitor = new Visitor(
|
||||
$this->generateRandomString(2000),
|
||||
$this->generateRandomString(2000),
|
||||
$this->generateRandomString(2000),
|
||||
$this->generateRandomString(2000),
|
||||
);
|
||||
$normalizedVisitor = $visitor->normalizeForTrackingOptions(new TrackingOptions([
|
||||
'disableIpTracking' => true,
|
||||
'disableReferrerTracking' => true,
|
||||
'disableUaTracking' => true,
|
||||
]));
|
||||
|
||||
self::assertNotSame($visitor, $normalizedVisitor);
|
||||
self::assertEmpty($normalizedVisitor->getUserAgent());
|
||||
self::assertNotEmpty($visitor->getUserAgent());
|
||||
self::assertEmpty($normalizedVisitor->getReferer());
|
||||
self::assertNotEmpty($visitor->getReferer());
|
||||
self::assertNull($normalizedVisitor->getRemoteAddress());
|
||||
self::assertNotNull($visitor->getRemoteAddress());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user