Completed
Push — master ( 00092a...39103d )
by wiese
86:17 queued 21:06
created

testGivenHarmfulText_itFails()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
c 0
b 0
f 0
rs 9.4285
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
declare( strict_types = 1 );
4
5
namespace WMDE\Fundraising\Frontend\Tests\Unit\Validation;
6
7
use WMDE\Fundraising\Frontend\Validation\ConstraintViolation;
8
use WMDE\Fundraising\Frontend\Validation\FieldTextPolicyValidator;
9
use WMDE\Fundraising\Frontend\Validation\TextPolicyValidator;
10
11
/**
12
 * @covers \WMDE\Fundraising\Frontend\Validation\FieldTextPolicyValidator
13
 *
14
 * @licence GNU GPL v2+
15
 * @author Gabriel Birke < [email protected] >
16
 */
17
class FieldTextPolicyValidatorTest extends \PHPUnit\Framework\TestCase {
18
19
	public function testGivenHarmlessText_itSucceeds(): void {
20
		$textPolicy = $this->createMock( TextPolicyValidator::class );
21
		$textPolicy->method( $this->anything() )->willReturn( true );
22
		$validator = new FieldTextPolicyValidator( $textPolicy );
23
		$this->assertTrue( $validator->validate( 'tiny cat' )->isSuccessful() );
24
	}
25
26
	public function testGivenHarmfulText_itFails(): void {
27
		$textPolicy = $this->createMock( TextPolicyValidator::class );
28
		$textPolicy->method( $this->anything() )->willReturn( false );
29
		$validator = new FieldTextPolicyValidator( $textPolicy );
30
		$this->assertFalse( $validator->validate( 'mean tiger' )->isSuccessful() );
31
	}
32
33
	public function testGivenHarmfulText_itProvidesAConstraintViolation(): void {
34
		$textPolicy = $this->createMock( TextPolicyValidator::class );
35
		$textPolicy->method( $this->anything() )->willReturn( false );
36
		$validator = new FieldTextPolicyValidator( $textPolicy );
37
38
		$this->assertInstanceOf(
39
			ConstraintViolation::class,
40
			$validator->validate( 'mean tiger' )->getViolations()[0]
41
		);
42
	}
43
}
44