Я тестирую сохранение данных в базу данных.Если пропущены обязательные поля, я выбрасываю исключение и затем перенаправляю с моего контроллера:
try {
$product = Product::create([
'name' => $request->name,
'description' => $request->description,
]);
return redirect('home')->with('success', 'Record has been added');
} catch(\Exception $e) {
return redirect()->to('course/create')
->withInput($request->input())
->with('errors', 'Required Fields Not Submitted');
}
Я хочу проверить перенаправление, есть ли в сеансе ошибки и возвращаются ли переданные исходные данные для заполнения формы,поэтому в моем модульном тесте у меня есть:
$response = $this->post("/courses/", $data);
$response->assertRedirect('/courses/create');
$response->assertSessionHasErrors();
//$response->assertSessionHasAll();
$response->assertHasOldInput();
, но при нажатии assertSessionHasErrors я получаю:
Ошибка: вызов функции-члена getBag () для строки
и при нажатии assertHasOldInput я получаю:
BadMethodCallException: вызов неопределенного метода Illuminate \ Http \ RedirectResponse :: assertHasOldInput ()
чтоВроде проблема?
Спасибо.