我正在尝试测试我的登录控制器,这就是我到目前为止所写的:
public function testValidUserIsredirectedToIndex()
{
$this->dispatch('/index/logincra');
$this->resetResponse();
$this->request->setPost(array(
'login' => 'aymeric',
'password' => 'toto2016',
));
$this->request->setMethod('POST');
$this->assertRedirectTo('/index');
}
/index/logincra 是我要测试的 url,index 是我的控制器的名称,而 logincra 是我的操作名称,即:
public function logincraAction()
{
if($this->getRequest()->isPost()){
$data = $this->getRequest()->getPost(); // Recupere les posts
if(!empty($data['login']) && !empty($data['password'])){
$oLdap = new Mediagong_Ldap_Connect($data['login'], $data['password']);
$oLdap->setLogin($data['login']);
$oLdap->setPassword($data['password']);
$oLdap->getUserInfos();
if($oLdap->isLoggin()){
$user = User::getUserByLogin($oLdap->getUserName());
if(!empty($user)){
if($user->is_cra){
$frontLogin = new Zend_Session_Namespace('front');
$frontLogin->user = $user->id_user;
$frontLogin->setExpirationSeconds(1800);
$this->_redirect('/index/');
}else{
$this->view->information = 'Vous n\'êtes pas autorisé à accéder à cette interface';
}
}else{
$this->view->information = 'Compte CRA inactif, veuillez vous retourner vers Damien...';
}
}else{
$this->view->information = 'Mauvais login ou mot de passe';
}
}else{
$this->view->information = 'Veuillez saisir tous les champs';
}
}
}
如果登录名和密码正确(例如 aymeric/toto2016),我想测试用户是否正确转发到 /index url。
到目前为止,我有错误:
断言响应重定向到“/index”失败
在此先感谢您的帮助