Now that we have an edit form, let's test that the validation works correctly.
Laravel Code
Again, first, the working code.
php artisan make:request UpdateProductRequest
app/Http/Requests/UpdateProductRequest.php:
use Illuminate\Foundation\Http\FormRequest; class UpdateProductRequest extends FormRequest{ public function authorize(): bool { return true; } public function rules(): array { return [ 'name' => 'required', 'price' => 'required', ]; }}
app/Http/Controllers/ProductController.php:
use Illuminate\Http\RedirectResponse;use App\Http\Requests\UpdateProductRequest; class ProductController extends Controller{ // ... public function update(UpdateProductRequest $request, Product $product): RedirectResponse { $product->update($request->validated()); return redirect()->route('products.index'); }}
The Test
The PUT request is used for updating, so in the test...