1313
1414use PHPUnit \Framework \TestCase ;
1515use Symfony \Component \DependencyInjection \Container ;
16- use Symfony \Component \DependencyInjection \ContainerBuilder ;
1716use Symfony \Component \Validator \Constraint ;
1817use Symfony \Component \Validator \Constraints \Blank as BlankConstraint ;
1918use Symfony \Component \Validator \ConstraintValidator ;
@@ -23,16 +22,8 @@ class ContainerConstraintValidatorFactoryTest extends TestCase
2322{
2423 public function testGetInstanceCreatesValidator ()
2524 {
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-
3425 $ factory = new ContainerConstraintValidatorFactory (new Container ());
35- $ this ->assertInstanceOf ($ class , $ factory ->getInstance ($ constraint ));
26+ $ this ->assertInstanceOf (DummyConstraintValidator:: class, $ factory ->getInstance (new DummyConstraint () ));
3627 }
3728
3829 public function testGetInstanceReturnsExistingValidator ()
@@ -45,30 +36,13 @@ public function testGetInstanceReturnsExistingValidator()
4536
4637 public function testGetInstanceReturnsService ()
4738 {
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 );
6942
7043 $ factory = new ContainerConstraintValidatorFactory ($ container );
71- $ this ->assertSame ($ validator , $ factory ->getInstance ($ constraint ));
44+
45+ $ this ->assertSame ($ validator , $ factory ->getInstance (new DummyConstraint ()));
7246 }
7347
7448 /**
@@ -86,3 +60,18 @@ public function testGetInstanceInvalidValidatorClass()
8660 $ factory ->getInstance ($ constraint );
8761 }
8862}
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