コード例 #1
0
 /**
  * @test
  * @return void
  */
 public function saveActionFetchUserObjectIfLoggedInSetsThePasswordAndCallsUpdateOnUserrepository()
 {
     // we dont want to test the encryption here
     if (isset($GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_sfregister.']['settings.']['encryptPassword'])) {
         unset($GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_sfregister.']['settings.']['encryptPassword']);
     }
     $expected = 'myPassword';
     $userId = $this->testingFramework->createAndLoginFrontEndUser('', array('password' => $expected));
     // we need to clone the create object else the isClone param
     // is not set and the both object wont match
     $userMock = clone new \Evoweb\SfRegister\Domain\Model\FrontendUser();
     $repositoryMock = $this->getMock('Evoweb\\SfRegister\\Domain\\Repository\\FrontendUserRepository', array(), array(), '', FALSE);
     $repositoryMock->expects($this->once())->method('findByUid')->with($userId)->will($this->returnValue($userMock));
     $userMock->setPassword($expected);
     $repositoryMock->expects($this->once())->method('update')->with($userMock);
     $this->fixture->injectUserRepository($repositoryMock);
     /** @var \Evoweb\SfRegister\Domain\Model\Password|\PHPUnit_Framework_MockObject_MockObject $passwordMock */
     $passwordMock = $this->getMock('Evoweb\\SfRegister\\Domain\\Model\\Password');
     $passwordMock->expects($this->once())->method('getPassword')->will($this->returnValue($expected));
     $this->fixture->saveAction($passwordMock);
 }