No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Testing método store

24/30
Recursos

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En mi caso me salió error al cargar la imagen con el código implementado: ❌`GD extension is not installed.` Encontré esta solución en ChatGPT: 1. Abrir el archivo `php.ini` en tu editor de texto preferido. 2. Busca la línea `;extension=gd` y elimina el punto y coma al principio para habilitar la extensión GD. Debería verse así: `extension=gd` 3. Guarda el archivo y reinicia tu servidor web. Después de esto, deberías poder utilizar el método `image` de `UploadedFile::fake()` sin problemas.
**Complemento por aquí el código**, en este valido, además: * que la información haya quedado almacenada en la base de datos (por eso le paso datos específicos). * Valido el almacenamiento de la imagen en la carpeta ‘publica’ * Y valido también el almacenamiento en la tabla pivot que relaciona con tags. ```js public function test_api_route_store(): void { //Arrange 🛠 Storage::fake('public'); // Simulate the 'local' disk $user = Sanctum::actingAs(User::factory()->create()); $category = Category::factory()->create(); $image = UploadedFile::fake()->image('recipe.jpg', 640, 480)->size(1000); $tags = Tag::factory()->count(3)->create()->pluck('id')->toArray(); // Act ⚙️ $response = $this->postJson(route('v1.recipes.store'), [ 'title' => 'Test Recipe', 'description' => 'This is a test recipe', 'category_id' => $category->id, 'ingredients' => 'these are the ingredients', 'instructions' => 'these are the instructions', 'image' => $image, 'tags' => json_encode($tags), ]); // Assert ✅ // $response->assertStatus(201); // Ensure the recipe was created (HTTP 201) $response->assertStatus(Response::HTTP_CREATED); // 200 $this->assertDatabaseHas('recipes', [ 'title' => 'Test Recipe', 'description' => 'This is a test recipe', 'category_id' => $category->id, 'user_id' => $user->id, ]); $recipe = Recipe::where('title', 'Test Recipe')->first(); $this->assertNotNull($recipe); // Assert the image was stored Storage::disk('public')->assertExists($recipe->image); // Assert tags were attached $this->assertCount(3, $recipe->tags); } ```