public function testOfControllerWithRegistrationClosed() { // make sure registration is closed $bvalues = array('namespace' => OptionDAO::APP_OPTIONS, 'option_name' => 'is_registration_open', 'option_value' => 'false'); $bdata = FixtureBuilder::build('options', $bvalues); $controller = new PasswordResetController(true); $result = $controller->go(); $v_mgr = $controller->getViewManager(); $this->assertEqual($v_mgr->getTemplateDataItem('is_registration_open'), false); $this->assertNoPattern('/Register/', $result); }
public function testOfControllerGoodTokenMismatchedPassword() { $time = strtotime('-1 hour'); $q = <<<SQL UPDATE #prefix#owners SET password_token = '{$this->token}_{$time}' WHERE id = 1; SQL; $this->db->exec($q); $_POST['password'] = '******'; $_POST['password_confirm'] = 'the same'; $_GET['token'] = $this->token; $controller = new PasswordResetController(true); $result = $controller->go(); $v_mgr = $controller->getViewManager(); $this->assertEqual($v_mgr->getTemplateDataItem('errormsg'), "Passwords didn't match."); }
public function testOwnerHasCleanStateAfterSuccessfulPasswordReset() { $builder = FixtureBuilder::build('owners', array('id' => 3, 'full_name' => 'Zaphod Beeblebrox', 'email' => '*****@*****.**', 'is_activated' => false, 'failed_logins' => 10, 'account_status' => 'Deactivated account')); $dao = DAOFactory::getDAO('OwnerDAO'); $owner = $dao->getByEmail('*****@*****.**'); $token = $owner->setPasswordRecoveryToken(); $_POST['password'] = '******'; $_POST['password_confirm'] = 'trillian'; $_GET['token'] = $token; $controller = new PasswordResetController(true); $result = $controller->go(); // Lack of error_msg in PasswordResetController's view template indicates success. $v_mgr = $controller->getViewManager(); $this->assertFalse($v_mgr->getTemplateDataItem('error_msg')); $owner = $dao->getByEmail('*****@*****.**'); $this->assertTrue($owner->is_activated); $this->assertEqual($owner->account_status, ''); $this->assertEqual($owner->failed_logins, 0); }