public function isValid($value)
 {
     if (!filter_var($value, FILTER_VALIDATE_URL)) {
         return PayloadFactory::createErrorPayload(['value is not valid url']);
     }
     return PayloadFactory::createSuccessPayload();
 }
 private function validate()
 {
     foreach ($this->validators as $field => $validators) {
         $value = ArrayUtil::getIn($this->params, [$field]);
         if (!is_array($validators)) {
             $validators = [$validators];
         }
         foreach ($validators as $validator) {
             if ($validator instanceof Validator) {
                 /** @var Payload $result */
                 $result = $validator->isValid($value);
             } elseif (is_callable($validator)) {
                 /** @var Payload $result */
                 $result = $validator($value);
             } else {
                 $result = PayloadFactory::createErrorPayload(['generic' => ['msg' => 'Invalid Validator']]);
             }
             if ($result->isError()) {
                 $msgs = $result->getMessages();
                 $this->validation = PayloadFactory::createErrorPayload([$field => ['msg' => array_shift($msgs), 'code' => null]]);
                 return;
             }
         }
     }
     $this->validation = PayloadFactory::createSuccessPayload();
     return;
 }
 public function isValid($value)
 {
     if ($value === null || $value === '') {
         return PayloadFactory::createErrorPayload(['value cannot be empty']);
     }
     return PayloadFactory::createSuccessPayload();
 }
 public function isValid($value)
 {
     if (!filter_var($value, FILTER_VALIDATE_EMAIL)) {
         return PayloadFactory::createErrorPayload(['value is not a valid email address']);
     }
     return PayloadFactory::createSuccessPayload();
 }
 public function isValid($value)
 {
     if (strlen($value) < $this->min) {
         return PayloadFactory::createErrorPayload(['value length cannot be less than ' . $this->min]);
     }
     if ($this->max) {
         if (strlen($value) > $this->max) {
             return PayloadFactory::createErrorPayload(['value length cannot be more than ' . $this->max]);
         }
     }
     return PayloadFactory::createSuccessPayload();
 }
 /** @test */
 public function canValidateValues()
 {
     /** @var AbstractParams $params */
     $params = $this->getMockForAbstractClass(AbstractParams::class);
     $validators = $this->getPrivateProperty($params, 'validators');
     $validators->setValue($params, ['param1' => function ($value) {
         return $value === 'value1' ? PayloadFactory::createSuccessPayload() : PayloadFactory::createErrorPayload();
     }]);
     $params = $params->withParams(['param1' => 'value1']);
     $this->assertTrue($params->getValidationResult()->isSuccess());
     $this->assertTrue($params->isValid());
     $params = $params->withParams(['param1' => 'value2']);
     $this->assertTrue($params->getValidationResult()->isError());
     $this->assertFalse($params->isValid());
 }
Example #7
0
 /** @test */
 public function willEmitEventsIfTriggeredInHandler()
 {
     $command = $this->getMockBuilder(AbstractCommand::class)->getMock();
     $handler = $this->getMockBuilder(AbstractHandler::class)->getMock();
     $handler->method('handle')->willReturn(PayloadFactory::createSuccessPayload(['data' => 'value']));
     $handler->method('getEventsTriggered')->willReturn([['event' => new Event('name'), 'params' => []]]);
     $resolver = new StaticHandlerResolver();
     $resolver->add(get_class($command), get_class($handler));
     $events = $this->getMockBuilder(Emitter::class)->getMock();
     $events->expects($this->once())->method('emit');
     $container = $this->getMockBuilder(ContainerInterface::class)->getMock();
     $container->method('has')->willReturn(true);
     $container->method('get')->willReturn($handler);
     $bus = new Bus([$resolver], $events, $container);
     $result = $bus->execute($command);
 }
 public function isValid($value)
 {
     return $value === $this->compareToValue ? PayloadFactory::createSuccessPayload() : PayloadFactory::createErrorPayload(['value does not match']);
 }
 /** @test */
 public function canCreateErrorWithMessage()
 {
     $payload = PayloadFactory::createErrorPayload(['key' => ['msg' => 'message', 'code' => 100]]);
     $this->assertTrue($payload->isError());
     $this->assertEquals(100, $payload->getMessages()['key']['code']);
 }