/** * @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); }