ログイン機能が適切に機能し、有効でアクティブなユーザーのみを許可するかどうかをテストしたいと思います。
私のユーザーフィクスチャには以下が含まれます:
array(
'password' => '*emptyPasswordHash*', // empty password
'username' => 'Lorem',
'balance' => 0,
'currency' => 'USD',
'id' => 1,
'user_group_id' => 3, //Customer
'active' => 1,
'hash' => 'LoremHash'
),
私のテスト関数は次のようになります。
function testLogin() {
//test valid login
$result = $this->testAction('/users/login', array(
'data' => array(
'User' => array(
'username' => 'Lorem',
'pass' => '',
'remember' => true
)),
'method' => 'post',
'return' => 'view'
));
debug($result);
}
ログイン フォームにはusername
、 、password
およびの 3 つの入力があります。remember
私はに設定$this->Auth->autoRedirect = false;
し、UsersController::beforeFilter
いくつかのクッキー設定を行っています
私がそのdebug($this->data);
中にUsersController::login()
いるとき、テスト時と通常のロギング時にまったく同じデータが表示されます。しかし、ログインのテスト中に失敗し、ログイン$this->Auth->loginError
の代わりにメッセージが表示されます。
ログインアクションを適切にテストするにはどうすればよいですか?