Merge pull request #1485 from laravie/feature/auth-events
Add 'laravel.auth: login' and 'laravel.auth: logout' events.
This commit is contained in:
commit
22c2c3843a
|
@ -3,6 +3,7 @@
|
|||
use Laravel\Str;
|
||||
use Laravel\Cookie;
|
||||
use Laravel\Config;
|
||||
use Laravel\Event;
|
||||
use Laravel\Session;
|
||||
use Laravel\Crypter;
|
||||
|
||||
|
@ -112,6 +113,8 @@ public function login($token, $remember = false)
|
|||
|
||||
if ($remember) $this->remember($token);
|
||||
|
||||
Event::fire('laravel.auth: login');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -128,6 +131,8 @@ public function logout()
|
|||
|
||||
Session::forget($this->token());
|
||||
|
||||
Event::fire('laravel.auth: logout');
|
||||
|
||||
$this->token = null;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,6 +17,9 @@ class AuthTest extends PHPUnit_Framework_TestCase {
|
|||
public function setUp()
|
||||
{
|
||||
$_SERVER['auth.login.stub'] = null;
|
||||
$_SERVER['test.user.login'] = null;
|
||||
$_SERVER['test.user.logout'] = null;
|
||||
|
||||
Cookie::$jar = array();
|
||||
Config::$items = array();
|
||||
Auth::driver()->user = null;
|
||||
|
@ -30,6 +33,9 @@ public function setUp()
|
|||
public function tearDown()
|
||||
{
|
||||
$_SERVER['auth.login.stub'] = null;
|
||||
$_SERVER['test.user.login'] = null;
|
||||
$_SERVER['test.user.logout'] = null;
|
||||
|
||||
Cookie::$jar = array();
|
||||
Config::$items = array();
|
||||
Auth::driver()->user = null;
|
||||
|
@ -300,6 +306,37 @@ public function testLogoutMethodLogsOutUser()
|
|||
$this->assertTrue(Cookie::$jar['laravel_auth_drivers_fluent_remember']['expiration'] < time());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test `laravel.auth: login` and `laravel.auth: logout` is called properly
|
||||
*
|
||||
* @group laravel
|
||||
*/
|
||||
public function testAuthEventIsCalledProperly()
|
||||
{
|
||||
Session::$instance = new Payload($this->getMock('Laravel\\Session\\Drivers\\Driver'));
|
||||
|
||||
Event::listen('laravel.auth: login', function ()
|
||||
{
|
||||
$_SERVER['test.user.login'] = 'foo';
|
||||
});
|
||||
|
||||
Event::listen('laravel.auth: logout', function ()
|
||||
{
|
||||
$_SERVER['test.user.logout'] = 'foo';
|
||||
});
|
||||
|
||||
$this->assertNull($_SERVER['test.user.login']);
|
||||
$this->assertNull($_SERVER['test.user.logout']);
|
||||
|
||||
Auth::login(1, true);
|
||||
|
||||
$this->assertEquals('foo', $_SERVER['test.user.login']);
|
||||
|
||||
Auth::logout();
|
||||
|
||||
$this->assertEquals('foo', $_SERVER['test.user.logout']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class AuthUserReturnsNull extends Laravel\Auth\Drivers\Driver {
|
||||
|
|
Loading…
Reference in New Issue