在测试中使用actingAs和call函数(使用call函数对用户进行身份验证)

时间:2018-09-17 14:56:58

标签: validation phpunit laravel-5.2

在Laravel 5.2中,我需要测试经过身份验证的用户的表单提交。
我需要使用assertSessionHasErrors函数,但仅在使用call函数时有效。
如果我使用call函数,我总是会重定向到登录页面。
如果我使用actingAs函数,我将永远不会看到验证错误。

使用以下代码:

$user = factory(App\User::class)->create();
$this
    ->actingAs($user)
    ->visit('/offers/create')
    ->select('1', 'client_id')
    ->select('2', 'network_id')
    ->type('50', 'royalty')
    ->press('SAVE')
    ->seePageIs('/offers');

$errors = session('errors');
$this->assertSessionHasErrors();

我收到错误原因,因为在会话中未定义“错误”。

如果我使用此代码:

$response = $this->call('POST', 'offers', array(
    '_token' => csrf_token(),
    'client_id' => 1,
    'network_id' => 2,
    'royalty' => 50
));

由于用户未通过身份验证,我被重定向到登录页面。

0 个答案:

没有答案