如何使用Sentinel代理As()

时间:2016-05-07 05:52:07

标签: laravel authentication testing laravel-5.1 cartalyst-sentinel

我正在测试需要用户登录的Laravel 5.1页面。我的项目使用Cartalyst / Sentinel打包进行身份验证。

我试过了,但我没有意识到用户已登录。

public function testPageWithLogin()
{
    $user = Sentinel::findById(2);

    $this->actingAs($user)
         ->withSession([])
         ->visit('/page')
         ->dontSee('Whoops')
         ->dontSee('login');
}

我该怎么办才能看到用户登录?

1 个答案:

答案 0 :(得分:1)

我忘记使用Sentinel :: login方法登录用户。用户是合法的,只是没有被视为已登录。

这是它应该完成的方式。

public function testPageWithLogin()
{
    $user = Sentinel::findById(2);
    Sentinel::login($user);

    $this->actingAs($user)
         ->withSession([])
         ->visit('/page')
         ->dontSee('Whoops')
         ->dontSee('login');
}