/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void * @todo Validation */ protected function execute(InputInterface $input, OutputInterface $output) { $app = $this->getSilexApplication(); $user = new User(); $username = $input->getArgument('username'); $user->setUsername($username); $user->setEmail($input->getArgument('email')); $user->setPlainPassword($input->getArgument('password')); $entityManager = $app['orm.em']; $entityManager->persist($user); $entityManager->flush(); $output->writeln(sprintf('Added new user %s', $username)); }
public function testAnnotationValidation() { $app = new Application(); $this->assertTrue($app->offsetExists('validator')); $validator = $app['validator']; $this->assertInstanceOf('Symfony\\Component\\Validator\\ValidatorInterface', $validator); $validUser = new User(); $validUser->setUsername('valid_username'); $validUser->setEmail('*****@*****.**'); $validUser->setPlainPassword('Password123.'); $validUser->setBirthDate(new \DateTime('-20 YEARS')); $violations = $validator->validate($validUser); $this->assertEquals(0, $violations->count()); $invalidUser = new User(); $invalidUser->setEmail('INVALID_EMAIL_ADDRESS'); $violations = $validator->validate($invalidUser); $this->assertGreaterThan(0, $violations->count()); }