Passed
Pull Request — master (#19)
by Tim
05:32
created

VisitorFixture   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 31
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getFirstTimeVisitor() 0 5 1
A getReturningVisitorRequest() 0 9 1
A getTestVisitor() 0 5 1
1
<?php
2
3
declare( strict_types = 1 );
4
5
namespace WMDE\BannerServer\Tests\Fixtures;
6
7
use Symfony\Component\HttpFoundation\Request;
8
use WMDE\BannerServer\Controller\BannerSelectionController;
9
use WMDE\BannerServer\UseCase\BannerSelection\Visitor;
10
11
class VisitorFixture {
12
13
	public const VISITOR_TEST_IMPRESSION_COUNT = 5;
14
	public const VISITOR_TEST_BUCKET = 'test_bucket';
15
	public const VISITOR_TEST_DONATION_HISTORY = false;
16
17
	public static function getReturningVisitorRequest(): Request {
18
		return new Request(
19
			[],
20
			[],
21
			[],
22
			[
23
				BannerSelectionController::IMPRESSION_COUNT_COOKIE => self::VISITOR_TEST_IMPRESSION_COUNT,
24
				BannerSelectionController::BUCKET_COOKIE => self::VISITOR_TEST_BUCKET,
25
				BannerSelectionController::DONATED_COOKIE => self::VISITOR_TEST_DONATION_HISTORY ]
26
		);
27
	}
28
29
	public static function getTestVisitor(): Visitor {
30
		return new Visitor(
31
			self::VISITOR_TEST_IMPRESSION_COUNT,
32
			self::VISITOR_TEST_BUCKET,
33
			self::VISITOR_TEST_DONATION_HISTORY
34
		);
35
	}
36
37
	public static function getFirstTimeVisitor(): Visitor {
38
		return new Visitor(
39
			0,
40
			null,
41
			false
42
		);
43
	}
44
}
45