Formulario de Edición con Diseño y Tests en Laravel

Clase 15 de 23Curso de Desarrollo en Laravel con Test Driven Development

Resumen

¿Cómo podemos agregar funcionalidad al formulario de edición?

Para mejorar la funcionalidad del formulario de edición en nuestro proyecto, primero nos aseguramos de que el usuario pueda ver y editar datos específicos que son relevantes para ellos. Esto implica configurarlo para que solo puedan editar información asociada a su propio perfil. Usamos una estructura de pruebas para garantizar que el controlador funcione como se espera, especialmente en cuanto a verificar los accesos permitidos y los restringidos. Aquí están los pasos esenciales:

  • Desarrollo de pruebas: Implementamos una nueva suite de pruebas en el archivo de prueba del controlador asegurándonos de que los usuarios solo puedan editar sus propios repositorios.
  • Configuración de rutas y verificación de errores: Configuramos las rutas para el formulario de edición y validamos que los errores se muestren adecuadamente si un usuario intenta editar un repositorio que no es suyo.

¿Cómo diseñamos el formulario utilizando Tailwind CSS?

La parte visual del formulario se beneficia de las características de diseño de Tailwind CSS que facilitan la creación de interfaces atractivas y funcionales. Creamos componentes bien estructurados y estéticamente agradables mientras mantenemos la simplicidad adaptada a las necesidades del usuario.

  • Formulario básico: Utilizamos un formulario con una acción route para disparar el método de actualización. Esto incluye un CSRF token necesario para la seguridad de la aplicación web.
  • Estilo de campos: Configuramos las clases usando Tailwind CSS para asegurar que haya un margen o ancho máximo con maxW y md, junto con otras propiedades como fontMedium, textSM, y color gris.
  • Input URL y textarea: Integramos un input para la URL y un textarea para la descripción, asegurándonos de que ambos tengan valores precargados adecuados para el contexto del usuario, y estilo visual consistente.
<form action="{{ route('repositorios.update', $repositorio) }}" method="POST">
    @csrf
    @method('PUT')
    <label class="block font-medium text-sm text-gray-700" for="url">
        URL *
    </label>
    <input type="text" name="url" value="{{ $repositorio->url }}" class="appearance-input max-w-md rounded-md shadow-sm">
    
    <label class="block font-medium text-sm text-gray-700" for="descripcion">
        Descripción *
    </label>
    <textarea name="descripcion" class="form-textarea mt-1 block w-full">{{ $repositorio->descripcion }}</textarea>
    
    <input type="submit" value="Editar" class="mt-4 bg-blue-500 text-white font-semibold py-2 rounded-md">
</form>

¿Cómo verificamos y ajustamos el formulario con pruebas de terminal?

Una parte crítica del proceso es asegurarse de que todos los cambios en el formulario de edición son funcionales y cumplen con las expectativas de diseño y seguridad. Por ello, el uso de pruebas automatizadas nos ayuda a obtener un feedback inmediato sobre cualquier error o fallo.

  • Ejecución de pruebas: Ejecutamos nuestras pruebas usando terminal para verificar que las acciones y los controles de nuestro formulario funcionen adecuadamente, incluyendo la creación de falsos datos de prueba para emular las condiciones del usuario y el sistema previstos.
  • Visualización y corrección: Realizamos un ciclo de verificación visual en un navegador para ajustar los elementos de diseño que sean necesarios, asegurándonos así que la experiencia del usuario mantiene la utilidad y estética deseadas.

Este enfoque no solo le permite a tu equipo asegurarse de que el sistema funciona según lo previsto, sino que también sienta las bases para un diseño ágil y robusto que se alinee con las directrices modernas de desarrollo web. ¡Sigue experimentando y aprendiendo para perfeccionar tus habilidades de desarrollo!