public function testCreateUser()
 {
     $notificator = $this->getMock(NotificatorInterface::class);
     $notificator->expects($this->once())->method('publishNotification');
     $validator = $this->getMock(ValidatorInterface::class);
     $validator->expects($this->once())->method('validate')->willReturn(new ConstraintViolationList());
     $hasher = new PhpPasswordHasher();
     $generator = new ActivationKeyCodeGenerator();
     $repository = $this->getMock(UserWriteRepositoryInterface::class);
     $repository->expects($this->once())->method('save');
     $handler = new CreateUserHandler($repository, $hasher, $generator, $validator);
     $dto = new CreateUserDTO();
     $handler->setNotificator($notificator);
     $dto->username = '******';
     $dto->password = '******';
     $dto->email = '*****@*****.**';
     $dto->locale = 'de';
     $this->assertNull($dto->user);
     $handler($dto);
     $this->assertNotNull($dto->user);
     $user = $dto->user;
     $this->assertSame($user->getUsername(), 'Ma27');
     $this->assertTrue($hasher->compareWith($user->getPassword(), '123456'));
     $this->assertSame($user->getEmail(), '*****@*****.**');
     $this->assertSame($user->getLocale(), 'de');
     $this->assertCount(0, $user->getRoles());
 }
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     /* @var \Doctrine\ORM\EntityManager $manager */
     $this->checkEntityManager($manager);
     $passwordHasher = new PhpPasswordHasher();
     $roleRepository = $manager->getRepository('Account:Role');
     $userRole = $roleRepository->findOneBy(['role' => 'ROLE_USER']);
     $adminRole = $roleRepository->findOneBy(['role' => 'ROLE_ADMIN']);
     $admin = new User();
     $admin->setState(User::STATE_APPROVED);
     $admin->setUsername('admin');
     $admin->setPassword($passwordHasher->generateHash('123456'));
     $admin->setEmail('*****@*****.**');
     $admin->addRole($adminRole);
     $admin->addRole($userRole);
     $admin->setLastAction(new \DateTime());
     $manager->persist($admin);
     $manager->flush();
 }
Пример #3
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     /* @var \Doctrine\ORM\EntityManager $manager */
     $this->checkEntityManager($manager);
     $passwordHasher = new PhpPasswordHasher();
     $userRole = $manager->getRepository('Account:Role')->findOneBy(['role' => 'ROLE_USER']);
     $user1 = new User();
     $user1->setState(User::STATE_APPROVED);
     $user1->setUsername('Ma27');
     $user1->setPassword($passwordHasher->generateHash('72aM'));
     $user1->setEmail('*****@*****.**');
     $user1->addRole($userRole);
     $user1->setLastAction(new \DateTime());
     $user1->setLocale('de');
     $user2 = new User();
     $user2->setState(User::STATE_APPROVED);
     $user2->setUsername('benbieler');
     $user2->setPassword($passwordHasher->generateHash('releibneb'));
     $user2->setEmail('*****@*****.**');
     $user2->addRole($userRole);
     $user2->setLastAction(new \DateTime());
     $locked = new User();
     $locked->setState(User::STATE_APPROVED);
     $locked->setUsername('anonymus');
     $locked->setPassword($passwordHasher->generateHash('sumynona'));
     $locked->setEmail('*****@*****.**');
     $locked->addRole($userRole);
     $locked->lock();
     $locked->setLastAction(new \DateTime());
     $user2->addFollowing($user1);
     $user1->addFollowing($user2);
     $user1->addFollowing($manager->getRepository('Account:User')->findOneBy(['username' => 'admin']));
     /** @var User $userModel */
     foreach ([$user1, $user2, $locked] as $userModel) {
         $manager->persist($userModel);
     }
     $manager->flush();
 }