@@ -31,7 +31,7 @@ public function testValidate(): void
3131 $ validator = $ this ->createMock (ValidatorInterface::class);
3232 $ validator ->expects ($ this ->once ())->method ('validate ' )->with ($ obj , $ validationContext );
3333 $ processor = new ValidateProcessor ($ decorated , $ validator );
34- $ processor ->process ($ obj , new Post (validationContext: $ validationContext ));
34+ $ processor ->process ($ obj , new Post (map: true , validationContext: $ validationContext ));
3535 }
3636
3737 public function testNoValidate (): void
@@ -75,7 +75,7 @@ public function testPassesValidationContext(): void
7575 $ validator = $ this ->createMock (ValidatorInterface::class);
7676 $ validator ->expects ($ this ->once ())->method ('validate ' )->with ($ obj , $ validationContext );
7777 $ processor = new ValidateProcessor ($ decorated , $ validator );
78- $ processor ->process ($ obj , new Post (validationContext: $ validationContext ));
78+ $ processor ->process ($ obj , new Post (map: true , validationContext: $ validationContext ));
7979 }
8080
8181 public function testDecoratorChainContinues (): void
@@ -111,4 +111,27 @@ public function testSkipsWhenCanWriteIsFalse(): void
111111 // Delete operations typically have write: false
112112 $ processor ->process ($ obj , new Post (write: false ));
113113 }
114+
115+ public function testSkipsWhenCanMapIsNull (): void
116+ {
117+ $ obj = new \stdClass ();
118+ $ decorated = $ this ->createMock (ProcessorInterface::class);
119+ $ decorated ->expects ($ this ->once ())->method ('process ' )->with ($ obj )->willReturn ($ obj );
120+ $ validator = $ this ->createMock (ValidatorInterface::class);
121+ $ validator ->expects ($ this ->never ())->method ('validate ' );
122+ $ processor = new ValidateProcessor ($ decorated , $ validator );
123+ // Default: map is null (no ObjectMapper), ValidateProvider already validated
124+ $ processor ->process ($ obj , new Post ());
125+ }
126+
127+ public function testSkipsWhenCanMapIsFalse (): void
128+ {
129+ $ obj = new \stdClass ();
130+ $ decorated = $ this ->createMock (ProcessorInterface::class);
131+ $ decorated ->expects ($ this ->once ())->method ('process ' )->with ($ obj )->willReturn ($ obj );
132+ $ validator = $ this ->createMock (ValidatorInterface::class);
133+ $ validator ->expects ($ this ->never ())->method ('validate ' );
134+ $ processor = new ValidateProcessor ($ decorated , $ validator );
135+ $ processor ->process ($ obj , new Post (map: false ));
136+ }
114137}
0 commit comments