0

ユーザーがログインする必要があるLaravel 5.1ページをテストしています。私のプロジェクトではCartalyst/Sentinelパッキングを使用して認証しています。私たちはどのようにSentinelを使っているのですか?

私はこれを試してみましたが、私はユーザーがログインしていることを認識しません。

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

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

にログインして、ユーザが見られるように、私は何ができますか?

答えて

0

Sentinel :: loginメソッドを使用してユーザーをログオンするのを忘れました。ユーザーは正式にログインしていないと正当なものでした。

これはこれが行われたはずのやり方です。

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

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

センチネルのユーザモデルは、認証可能な契約を実装する必要があります: '.. \ TestCase :: actsAs()はIlluminate \ Contracts \ Auth \ Authenticatable'のインスタンスでなければなりません –

関連する問題