ログインコントローラーをテストしようとしていますが、これまでに書いたものです:
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」への応答リダイレクトのアサートに失敗しました
よろしくお願いいたします。