public function testProceed()
 {
     $user = UserEntityProvider::createEntityWithRandomData();
     $userId = $user->getId();
     $this->userRepositoryMock->expects($this->once())->method('find')->with($userId)->willReturn($user);
     $this->authenticationServiceMock->expects($this->once())->method('getStorage')->willReturnSelf();
     $this->authenticationServiceMock->expects($this->once())->method('write')->with($user->getId());
     $this->testedObject->proceed($userId);
 }
示例#2
0
 public function testProceed_WhenUserDoesNotHaveAnEmail()
 {
     $identity = uniqid('identity');
     $user = UserEntityProvider::createEntityWithRandomData(array('email' => null));
     $this->inputFilterMock->expects($this->once())->method('isValid')->willReturn(true);
     $this->inputFilterMock->expects($this->once())->method('getValue')->with('identity')->willReturn($identity);
     $this->userRepositoryMock->expects($this->once())->method('findByLoginOrEmail')->with($identity)->willReturn($user);
     $this->setExpectedException('Auth\\Service\\Exception\\UserDoesNotHaveAnEmailException', 'User does not have an email');
     $this->testedObject->proceed($this->inputFilterMock, $this->mailerPluginMock, $this->urlPluginMock);
 }
 /**
  */
 public function testAction()
 {
     $queryName = uniqid('query');
     list($data, $expected) = $this->prepareDataAndExpected();
     $user = UserEntityProvider::createEntityWithRandomData();
     $request = new Request();
     $request->setMethod(Request::METHOD_GET);
     $request->setQuery(new Parameters(array('q' => $queryName)));
     $this->authControllerPluginMock->expects($this->once())->method('__invoke')->with(null)->will($this->returnSelf());
     $this->authControllerPluginMock->expects($this->once())->method('getUser')->willReturn($user);
     $this->organizationRepoMock->expects($this->once())->method('getTypeAheadResults')->with($queryName, $user)->willReturn($data);
     /** @var JsonModel $result */
     $result = $this->controller->dispatch($request);
     $this->assertResponseStatusCode(Response::STATUS_CODE_200);
     $this->assertSame($expected, $result->getVariables());
 }
 public function testProceed()
 {
     $tokenHash = uniqid('tokenHash');
     $expirationDate = new \DateTime();
     $expirationDate->modify('+1 hour');
     $token = new Token();
     $token->setExpirationDate($expirationDate)->setHash($tokenHash);
     $expiredToken = new Token();
     $expiredToken->setExpirationDate(new \DateTime('2014-01-01 00:00:00'));
     $expiredToken->setHash(uniqid('tokenHash'));
     $user = UserEntityProvider::createEntityWithRandomData();
     $user->getTokens()->add($token);
     $user->getTokens()->add($expiredToken);
     $userId = $user->getId();
     $this->userRepositoryMock->expects($this->once())->method('findOneBy')->with(array('id' => new \MongoId($userId), 'tokens.hash' => $tokenHash))->willReturn($user);
     $this->repositoryServiceMock->expects($this->once())->method('remove')->with($expiredToken);
     $this->authenticationServiceMock->expects($this->once())->method('getStorage')->willReturnSelf();
     $this->authenticationServiceMock->expects($this->once())->method('write')->with($user->getId());
     $this->testedObject->proceed($userId, $tokenHash);
 }
示例#5
0
 public function testProceed()
 {
     $name = uniqid('name') . ' ' . uniqid('surname');
     $email = uniqid('email') . '@' . uniqid('host') . '.com.pl';
     $user = UserEntityProvider::createEntityWithRandomData();
     $confirmationLink = uniqid('confirmationLink');
     $self = $this;
     $this->inputFilterMock->expects($this->once())->method('isValid')->willReturn(true);
     $this->inputFilterMock->expects($this->once())->method('get')->with('register')->willReturnSelf();
     $this->inputFilterMock->expects($this->exactly(2))->method('getValue')->willReturnOnConsecutiveCalls($name, $email);
     $this->userRepositoryMock->expects($this->once())->method('findByLoginOrEmail')->with($email)->willReturn(null);
     $user->setLogin($email)->setRole(User::ROLE_RECRUITER);
     $this->userRepositoryMock->expects($this->once())->method('create')->with(array('login' => $email, 'role' => User::ROLE_RECRUITER))->willReturn($user);
     $this->userRepositoryMock->expects($this->once())->method('store')->with($this->callback(function ($user) use($self) {
         $self->assertInstanceOf('Auth\\Entity\\User', $user);
         return $user;
     }));
     $this->urlPluginMock->expects($this->once())->method('fromRoute')->with('lang/register-confirmation', array('userId' => $user->getId()), array('force_canonical' => true))->willReturn($confirmationLink);
     $this->mailServiceMock->expects($this->once())->method('get')->with('htmltemplate')->willReturn($this->mailMock);
     $this->testedObject->proceed($this->inputFilterMock, $this->mailerPluginMock, $this->urlPluginMock);
 }
 public function testIndexAction_WithPostRequest()
 {
     $postData = array('valid data');
     $request = new Request();
     $request->setMethod(Request::METHOD_POST);
     $request->setPost(new Parameters($postData));
     $userEntity = UserEntityProvider::createEntityWithRandomData();
     $this->authenticationServiceMock->expects($this->once())->method('getUser')->willReturn($userEntity);
     $this->formMock->expects($this->once())->method('bind')->with($userEntity);
     $this->formMock->expects($this->once())->method('setData')->with($postData);
     $this->formMock->expects($this->once())->method('isValid')->willReturn(true);
     $this->repositoriesMock->expects($this->once())->method('store')->with($userEntity);
     $result = $this->controller->dispatch($request);
     $expected = array('valid' => true, 'form' => $this->formMock);
     $this->assertResponseStatusCode(Response::STATUS_CODE_200);
     $this->assertSame($expected, $result);
 }
 /**
  * Creates and authenticates a user.
  *
  * @param array $params
  *
  * @return User
  */
 protected function authenticateUser(array $params = array())
 {
     $userEntity = UserEntityProvider::createEntityWithRandomData($params);
     $this->prepareAuthenticateMock(true, $userEntity);
     return $userEntity;
 }