Test de Visualización de Datos en Tabla de Etiquetas

Clase 17 de 24Curso Básico de Testing con PHP y Laravel

Resumen

¿Cómo crear un test para verificar datos en la tabla de etiquetas?

En la programación, los tests son cruciales para asegurarnos de que nuestras aplicaciones funcionan correctamente. En esta guía, te mostraremos cómo crear un test para verificar la visualización de datos cuando nuestra tabla de etiquetas contiene registros. Siguiendo una metodología TDD (Desarrollo Guiado por Pruebas), aprenderás a testear de manera efectiva tu aplicación web.

¿Cuál es el primer paso en la creación de tests?

Para comenzar, necesitamos crear un nuevo test que compruebe la visualización de etiquetas cuando existe información en la tabla.

  1. Duplicar un Test Existente: Tomamos el test que verifica que no hay etiquetas y lo duplicamos. Cambiamos el nombre del test para indicar que se trabaja con datos.

  2. Definir Datos de Prueba: Utilizamos Tag::factory para crear un nuevo registro de etiqueta que servirá como nuestro dato de prueba.

public function test_muestra_datos_cuando_hay_etiquetas()
{
    $etiqueta = Tag::factory()->create(); // Crear etiqueta con factory
    // Realizar el test
}

¿Cómo configurar datos con un Factory y definir una migración?

Los Factorys nos permiten generar datos falsos para pruebas de manera sencilla. Sin embargo, necesitamos asegurarnos de que tanto nuestro factory como nuestras migraciones estén correctamente configuradas para que funcionen juntos.

  1. Configurar el Factory: Asegúrate de que el factory está produciendo datos válidos. Usaremos la biblioteca Faker para generar nombres falsos de etiquetas.
use Faker\Generator as Faker;

$factory->define(Tag::class, function (Faker $faker) {
    return [
        'name' => $faker->word // Generar un nombre falso
    ];
});
  1. Actualizar la Migración: Para que el test funcione, la base de datos debe estar correctamente estructurada.
Schema::create('tags', function (Blueprint $table) {
    $table->string('name'); // Definir campo name como string
});

¿Cómo verificar la visualización correcta de etiquetas en la vista?

El paso final es asegurarse de que los datos introducidos se vean correctamente en la vista de nuestra aplicación. Este proceso implica programar nuestra lógica para mostrar las etiquetas.

  1. Modificar la Vista Welcome: En el archivo de vista, añadimos la lógica para mostrar las etiquetas si estas existen.
@if($tags->isEmpty())
    <p>No hay etiquetas</p>
@else
    <table>
        <tr>
            <td>{{ $tag->name }}</td> <!-- Mostrar el nombre de la etiqueta -->
        </tr>
    </table>
@endif
  1. Probar y Verificar: Ejecutamos nuestro test para verificar el correcto funcionamiento ahora que hemos implementado la lógica. Si el test pasa, sabremos que estamos visualizando las etiquetas correctamente.
php artisan test --filter=TestMuestraDatosCuandoHayEtiquetas

Siguiendo estos pasos, podrás asegurar que tu aplicación no solo maneja adecuadamente los casos de ausencia de datos, sino también los escenarios en los que se necesita mostrar información contenida en la base de datos. ¡Sigue aprendiendo sobre TDD y garantiza el éxito de tus desarrollos!