我正在尝试测试经过身份验证的管理器是否将重定向到仪表板。 (当经理已经通过身份验证并进入登录页面时,他将被重定向到仪表板)
public function testIfBackendIsLoggingAuthenticatedUser()
{
$manager = \App\Manager::where('email', 'test@email.com')->first();
Auth::attempt(['email' => $manager->email, 'password' => $manager->password]);
$response = $this->actingAs($manager)
->get(route('backend.login.show'))
->assertRedirect(route('backend.dashboard.index'));
}
但是我得到了结果
Response status code [200] is not a redirect status code.
Failed asserting that false is true.
如何进行身份验证测试?
答案 0 :(得分:0)
尝试方法对密码本身进行哈希处理。您正在传递哈希密码,因此它对密码进行了两次哈希运算,因此不正确。
使用:
Auth::login($manager);
代替:
Auth::attempt(['email' => $manager->email, 'password' => $manager->password]);
答案 1 :(得分:0)
对不起,伙计们。真正的错误是我忘了提到后卫。所以工作代码是
$response = $this->actingAs($manager, 'manager')
->get(route('backend.login.show'))
->assertRedirect(route('backend.dashboard.index'));