public function testLoginCorrect() { $model = new LoginForm(['username' => 'demo', 'password' => 'demo']); $this->specify('user should be able to login with correct credentials', function () use($model) { expect('model should login user', $model->login())->true(); expect('error message should not be set', $model->errors)->hasntKey('password'); expect('user should be logged in', Yii::$app->user->isGuest)->false(); }); }
public function testLoginWrongPassword() { $model = new \app\modules\user\models\forms\LoginForm(['username' => 'demo', 'password' => 'wrong_password']); $this->specify('user should not be able to login with wrong password', function () use($model) { expect('model should not login user', $model->login())->false(); expect('error message should be set', $model->errors)->hasKey('password'); expect('user should not be logged in', Yii::$app->user->isGuest)->true(); }); }
public function actionLogin() { if (!Yii::$app->user->isGuest) { return $this->goHome(); } $model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { return $this->render('login', ['model' => $model]); } }