/** * @test * @expectedException \Mcustiel\SimpleRequest\Exception\ValidatorDoesNotExistException * @expectedExceptionMessage Validator class Mcustiel\SimpleRequest\Filter\Capitalize must implement Mcustiel\SimpleRequest\Interfaces\ValidatorInterface */ public function buildFailsWhenTheClassIsNotAValidator() { ValidatorBuilder::builder()->withClass(Capitalize::class)->build(); }
/** * Constructs a Validator object from a Validator annotation. * * @param \Mcustiel\SimpleRequest\Annotation\ValidatorAnnotation $validatorAnnotation * * @return \Mcustiel\SimpleRequest\Interfaces\ValidatorInterface Created validator object. */ protected function createValidatorInstanceFromAnnotation($validatorAnnotation) { return ValidatorBuilder::builder()->withSpecification($validatorAnnotation->getValue())->withClass($validatorAnnotation->getAssociatedClass())->build(); }
/** * {@inheritdoc} * In this method, annotation param is treated as instance of AnnotationWithAssociatedClass. * * @see \Mcustiel\SimpleRequest\Strategies\Annotations\AnnotationParser::execute() */ public function execute(RequestAnnotation $annotation, PropertyParserBuilder $propertyParser) { $propertyParser->addValidator(ValidatorBuilder::builder()->withClass($annotation->getAssociatedClass())->withSpecification($annotation->getValue())->build()); }