From d0a1a0486d4eceb051d399bd462ff78c4a43d552 Mon Sep 17 00:00:00 2001 From: Sohel Ahmed Mesaniya Date: Mon, 3 Aug 2020 22:16:13 +0530 Subject: [PATCH] Add test for #18031 - User login events not triggered when using \yii\web\HttpBasicAuth login (#18193) --- tests/framework/filters/auth/BasicAuthTest.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/framework/filters/auth/BasicAuthTest.php b/tests/framework/filters/auth/BasicAuthTest.php index d1748fd..55d8ec2 100644 --- a/tests/framework/filters/auth/BasicAuthTest.php +++ b/tests/framework/filters/auth/BasicAuthTest.php @@ -10,6 +10,8 @@ namespace yiiunit\framework\filters\auth; use Yii; use yii\filters\auth\HttpBasicAuth; use yiiunit\framework\filters\stubs\UserIdentity; +use yii\base\Event; +use yii\web\User; /** * @group filters @@ -122,4 +124,20 @@ class BasicAuthTest extends AuthTest ['yii\filters\auth\HttpBasicAuth'], ]; } + + /** + * @dataProvider tokenProvider + * @param string|null $token + * @param string|null $login + */ + public function testAfterLoginEventIsTriggered18031($token, $login) + { + $triggered = false; + Event::on('\yii\web\User', User::EVENT_AFTER_LOGIN, function ($event) use (&$triggered) { + $triggered = true; + $this->assertTrue($triggered); + }); + $this->testHttpBasicAuthCustom($token, $login); + Event::off('\yii\web\User', User::EVENT_AFTER_LOGIN); // required because this method runs in foreach loop. See @dataProvider tokenProvider + } }