Je veux exécuter mes tests sans recevoir d'exceptions "CSRF token mismatch". Dans la documentation de Laravel, il est noté que :
L'intergiciel CSRF est automatiquement désactivé lors de l'exécution des tests.
la ligne de code où l'exception est levée ressemble à ceci :
$response = $this->json('POST', route('order.create'), [
'product_id', $product->id
]);
et pour les tests, je travaille dans mon terminal zsh :
php artisan test --env=testing
C'est ma classe test :
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Tests\TestCase;
class SessionCartTest extends TestCase
{
public function testExample()
{
$product = \App\Product::inRandomOrder()->first();
$response = $this->postJson(route('order.insert'), [
'product_id' => $product->id,
]);
$response->assertStatus(200); // here I receive 419
}
}
Qu'est-ce que je fais de travers et comment puis-je y remédier ? J'utilise laravel 7.