@@ -114,10 +114,44 @@ protected function createContext()
114
114
$ context ->setNode ($ this ->value , $ this ->object , $ this ->metadata , $ this ->propertyPath );
115
115
$ context ->setConstraint ($ this ->constraint );
116
116
117
+ $ contextualValidator = $ this ->getMockBuilder (AssertingContextualValidator::class)
118
+ ->setMethods ([
119
+ 'atPath ' ,
120
+ 'validate ' ,
121
+ 'validateProperty ' ,
122
+ 'validatePropertyValue ' ,
123
+ 'getViolations ' ,
124
+ ])
125
+ ->getMock ();
126
+ $ contextualValidator ->expects ($ this ->any ())
127
+ ->method ('atPath ' )
128
+ ->willReturnCallback (function ($ path ) use ($ contextualValidator ) {
129
+ return $ contextualValidator ->doAtPath ($ path );
130
+ });
131
+ $ contextualValidator ->expects ($ this ->any ())
132
+ ->method ('validate ' )
133
+ ->willReturnCallback (function ($ value , $ constraints = null , $ groups = null ) use ($ contextualValidator ) {
134
+ return $ contextualValidator ->doValidate ($ value , $ constraints , $ groups );
135
+ });
136
+ $ contextualValidator ->expects ($ this ->any ())
137
+ ->method ('validateProperty ' )
138
+ ->willReturnCallback (function ($ object , $ propertyName , $ groups = null ) use ($ contextualValidator ) {
139
+ return $ contextualValidator ->validateProperty ($ object , $ propertyName , $ groups );
140
+ });
141
+ $ contextualValidator ->expects ($ this ->any ())
142
+ ->method ('validatePropertyValue ' )
143
+ ->willReturnCallback (function ($ objectOrClass , $ propertyName , $ value , $ groups = null ) use ($ contextualValidator ) {
144
+ return $ contextualValidator ->doValidatePropertyValue ($ objectOrClass , $ propertyName , $ value , $ groups );
145
+ });
146
+ $ contextualValidator ->expects ($ this ->any ())
147
+ ->method ('getViolations ' )
148
+ ->willReturnCallback (function () use ($ contextualValidator ) {
149
+ return $ contextualValidator ->doGetViolations ();
150
+ });
117
151
$ validator ->expects ($ this ->any ())
118
152
->method ('inContext ' )
119
153
->with ($ context )
120
- ->willReturn ($ this -> getMockBuilder (AssertingContextualValidator::class)-> setMethods ( null )-> getMock () );
154
+ ->willReturn ($ contextualValidator );
121
155
122
156
return $ context ;
123
157
}
@@ -355,6 +389,10 @@ class AssertingContextualValidator implements ContextualValidatorInterface
355
389
private $ expectedValidate = [];
356
390
357
391
public function atPath ($ path )
392
+ {
393
+ }
394
+
395
+ public function doAtPath ($ path )
358
396
{
359
397
Assert::assertFalse ($ this ->expectNoValidate , 'No validation calls have been expected. ' );
360
398
@@ -368,6 +406,10 @@ public function atPath($path)
368
406
}
369
407
370
408
public function validate ($ value , $ constraints = null , $ groups = null )
409
+ {
410
+ }
411
+
412
+ public function doValidate ($ value , $ constraints = null , $ groups = null )
371
413
{
372
414
Assert::assertFalse ($ this ->expectNoValidate , 'No validation calls have been expected. ' );
373
415
@@ -381,11 +423,19 @@ public function validate($value, $constraints = null, $groups = null)
381
423
}
382
424
383
425
public function validateProperty ($ object , $ propertyName , $ groups = null )
426
+ {
427
+ }
428
+
429
+ public function doValidateProperty ($ object , $ propertyName , $ groups = null )
384
430
{
385
431
return $ this ;
386
432
}
387
433
388
434
public function validatePropertyValue ($ objectOrClass , $ propertyName , $ value , $ groups = null )
435
+ {
436
+ }
437
+
438
+ public function doValidatePropertyValue ($ objectOrClass , $ propertyName , $ value , $ groups = null )
389
439
{
390
440
return $ this ;
391
441
}
@@ -394,6 +444,10 @@ public function getViolations()
394
444
{
395
445
}
396
446
447
+ public function doGetViolations ()
448
+ {
449
+ }
450
+
397
451
public function expectNoValidate ()
398
452
{
399
453
$ this ->expectNoValidate = true ;
0 commit comments