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