CRUD con Laravel parte 1

Adrian Galicia • May 18, 2020

Introducción

En este post les voy a mostrar a manera de ejemplo, cómo es que pueden comenzar a escribir pruebas para sus proyectos con Laravel, espero que les sea de mucha ayuda para seguir aprendiendo y mejorando su código.

En post anteriores les comenté que comenzaría a escribir una serie de post en la que mostraría un ejemplo de crear un CRUD con sus respectivas pruebas en Laravel, pues el momento ha llegado vamos al código

Haciendo algunos preparativos

Lo primero que haremos será escribir nuestra migración con el siguiente comando

php artisan make:migration create_products_table

Una vez creada nuestra migración con el comando anterior lo siguiente es escribir el código de la misma

products-migration

Lo siguiente es crear nuestro modelo Product que quedará como se ilustra en la imagen siguiente

products-model-code

Ahora sí a escribir la pruebas

Para comenzar a escribir nuestras prueba para la creación de un Producto, primero ejecutamos el siguiente comando para crear nuestro archivo tests\Feature\ProductTest.php

 php artisan make:test ProductTest

Antes de comenzar con el código me gustaría explicarles que yo divido mis pruebas en 3 secciones que se listan a continuación:

Otras consideraciones

Ahora antes de comenzar las pruebas vamos a listar los requerimientos para crear un producto en nuestro sistema

Listar los requerimientos nos permite tener más claro lo que tenemos que probar y también nos da un mejor panorama del código que tenemos que escribir para satisfacerlos

Acá les dejo el código de cómo quedaría nuestra prueba de creación de un producto, sí ejecutamos las pruebas en este momento fallaran debido a que no se ha escrito el código para que pasen correctamente

product-create-test-code

Ahora a escribir el código para satisfacer los requerimientos

Algo importante a mencionar por cuestiones de tiempo el código de las vistas no lo pondré en este ejemplo para que cada quien pueda elegir a UI que mejor le parezca

Lo primero que haré en escribir las rutas necesarias en el archivo routes/web.php que quedará de la siguiente manera

product-routes-code

Lo siguiente escribir el controller

product-controller-code

Ahora a modificar el modelo Product y se verá así

product-model-code-new

La clase encargada de guardar la imagen del producto

file-manager-class

Como lo comenté anteriormente por cuestiones de tiempo y para que ustedes tengan la libertad de utilizar la UI que prefieran, las vistas no las voy a escribir solo las voy a listar a continuación

views-list

Cuando escriban sus vistas para complementar el código y ejecuten el comando

vendor/phpunit/phpunit/phpunit

Verán lo siguiente en caso de que todo este OK

passing-tests

Este es el tercer post de una serie que estaré compartiendo con todos ustedes en la que veremos cómo hacer un CRUD con pruebas en Laravel.

Espero que te haya gustado y sea de gran ayuda para tus futuros proyectos. Recuerda compartir éste y otros tutoriales en tus redes sociales, hasta la próxima 🤙.