/** * @test * @group integration */ public function optinForPasswordShouldSetNewPasswordAndRemoveOptinCode() { $formerLifetime = OptinTestHelper::changeConfiguredLifetime(\Orm\Entity\OptIn::MODE_PASSWORD, 0); $userId = 'USER-ren01gc0-b7a3-4599-b396-94c8bb6c10d9-USER'; $optinCode = 'f03bb65grbw'; $password = '******'; $optinRequest = sprintf('/user/optin/params/{"code":"%s","password":"******"}', $optinCode, $password); $this->dispatch($optinRequest); OptinTestHelper::changeConfiguredLifetime(\Orm\Entity\OptIn::MODE_PASSWORD, $formerLifetime); $response = new Response($this->getResponseBody()); $this->assertTrue($response->getSuccess()); $optinDao = \Cms\Dao\Factory::get('Optin'); $userDao = \Cms\Dao\Factory::get('User'); $user = $userDao->getById($userId); $pH = new PasswordHasher(); $this->assertTrue($pH->validate($password, $user->getPassword())); try { $optinDao->getByCode($optinCode); $this->fail('An expected exception has not been raised.'); } catch (\Exception $e) { $this->assertInstanceOf('Cms\\Exception', $e); } }
/** * @test * @group library */ public function isValidTimeboxShouldReturnTrueWhenUnlimitedLifetimeIsConfigured() { $formerLifetime = OptinTestHelper::changeConfiguredLifetime(\Orm\Entity\OptIn::MODE_REGISTER, 0); $optin = new \Orm\Entity\OptIn(); $optin->setTimestamp(new \DateTime()); $optin->setMode(\Orm\Entity\OptIn::MODE_REGISTER); $isValidTimeboxMethod = new \ReflectionMethod('Cms\\Service\\Optin', 'isValidTimebox'); $isValidTimeboxMethod->setAccessible(true); $this->assertTrue($isValidTimeboxMethod->invoke($this->service, $optin)); OptinTestHelper::changeConfiguredLifetime(\Orm\Entity\OptIn::MODE_REGISTER, $formerLifetime); $formerLifetime = OptinTestHelper::changeConfiguredLifetime(\Orm\Entity\OptIn::MODE_PASSWORD, 0); $optin = new \Orm\Entity\OptIn(); $optin->setTimestamp(new \DateTime()); $optin->setMode(\Orm\Entity\OptIn::MODE_PASSWORD); $isValidTimeboxMethod = new \ReflectionMethod('Cms\\Service\\Optin', 'isValidTimebox'); $isValidTimeboxMethod->setAccessible(true); $this->assertTrue($isValidTimeboxMethod->invoke($this->service, $optin)); OptinTestHelper::changeConfiguredLifetime(\Orm\Entity\OptIn::MODE_PASSWORD, $formerLifetime); }