Использование ActAs с функцией вызова в тестировании (аутентификация пользователя с помощью функции вызова) - PullRequest
0 голосов
/ 17 сентября 2018

В 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
));

Я перенаправлен на страницу входа, так как пользователь не аутентифицирован.

...