13
13
14
14
use PHPUnit \Framework \TestCase ;
15
15
use Symfony \Component \DependencyInjection \Container ;
16
- use Symfony \Component \DependencyInjection \ContainerBuilder ;
17
16
use Symfony \Component \Validator \Constraint ;
18
17
use Symfony \Component \Validator \Constraints \Blank as BlankConstraint ;
19
18
use Symfony \Component \Validator \ConstraintValidator ;
@@ -23,16 +22,8 @@ class ContainerConstraintValidatorFactoryTest extends TestCase
23
22
{
24
23
public function testGetInstanceCreatesValidator ()
25
24
{
26
- $ class = get_class ($ this ->getMockForAbstractClass (ConstraintValidator::class));
27
-
28
- $ constraint = $ this ->getMockBuilder (Constraint::class)->getMock ();
29
- $ constraint
30
- ->expects ($ this ->once ())
31
- ->method ('validatedBy ' )
32
- ->will ($ this ->returnValue ($ class ));
33
-
34
25
$ factory = new ContainerConstraintValidatorFactory (new Container ());
35
- $ this ->assertInstanceOf ($ class , $ factory ->getInstance ($ constraint ));
26
+ $ this ->assertInstanceOf (DummyConstraintValidator:: class, $ factory ->getInstance (new DummyConstraint () ));
36
27
}
37
28
38
29
public function testGetInstanceReturnsExistingValidator ()
@@ -45,30 +36,13 @@ public function testGetInstanceReturnsExistingValidator()
45
36
46
37
public function testGetInstanceReturnsService ()
47
38
{
48
- $ service = 'validator_constraint_service ' ;
49
- $ validator = $ this ->getMockForAbstractClass (ConstraintValidator::class);
50
-
51
- // mock ContainerBuilder b/c it implements TaggedContainerInterface
52
- $ container = $ this ->getMockBuilder (ContainerBuilder::class)->setMethods (array ('get ' , 'has ' ))->getMock ();
53
- $ container
54
- ->expects ($ this ->once ())
55
- ->method ('get ' )
56
- ->with ($ service )
57
- ->willReturn ($ validator );
58
- $ container
59
- ->expects ($ this ->once ())
60
- ->method ('has ' )
61
- ->with ($ service )
62
- ->willReturn (true );
63
-
64
- $ constraint = $ this ->getMockBuilder (Constraint::class)->getMock ();
65
- $ constraint
66
- ->expects ($ this ->once ())
67
- ->method ('validatedBy ' )
68
- ->will ($ this ->returnValue ($ service ));
39
+ $ validator = new DummyConstraintValidator ();
40
+ $ container = new Container ();
41
+ $ container ->set (DummyConstraintValidator::class, $ validator );
69
42
70
43
$ factory = new ContainerConstraintValidatorFactory ($ container );
71
- $ this ->assertSame ($ validator , $ factory ->getInstance ($ constraint ));
44
+
45
+ $ this ->assertSame ($ validator , $ factory ->getInstance (new DummyConstraint ()));
72
46
}
73
47
74
48
/**
@@ -86,3 +60,18 @@ public function testGetInstanceInvalidValidatorClass()
86
60
$ factory ->getInstance ($ constraint );
87
61
}
88
62
}
63
+
64
+ class DummyConstraint extends Constraint
65
+ {
66
+ public function validatedBy ()
67
+ {
68
+ return DummyConstraintValidator::class;
69
+ }
70
+ }
71
+
72
+ class DummyConstraintValidator extends ConstraintValidator
73
+ {
74
+ public function validate ($ value , Constraint $ constraint )
75
+ {
76
+ }
77
+ }
0 commit comments