Buenas pr谩cticas a nivel general

1

Creaci贸n de API RESTful con Buenas Pr谩cticas y Seguridad

2

驴Qu茅 son los HTTP Status Codes?

3

驴Qu茅 son los M茅todos HTTP?

Creaci贸n del proyecto

4

Modelado y Migraciones en Laravel: Estructura de Datos Relacional

5

Relaciones en Bases de Datos con Laravel Factories y Seeders

6

Consultas Avanzadas en Laravel: Rutas y Controladores API

7

Consultas de Datos Relacionados en Laravel

Quiz: Creaci贸n del proyecto

Planificaci贸n y mantenimiento

8

Planificaci贸n de API con Laravel: Definici贸n de Rutas y M茅todos

9

Dise帽o de APIs RESTful con Laravel: Estructuraci贸n de Recursos

10

Configuraci贸n de Recursos Multinivel en Visual Studio Code

11

Optimizaci贸n de consultas en Laravel con Telescope

12

CRUD de Recetas con Laravel y Symfony

13

Validaci贸n de Datos en Laravel: Reglas y Buenas Pr谩cticas

Quiz: Planificaci贸n y mantenimiento

Funciones de seguridad

14

Autenticaci贸n vs. autorizaci贸n

15

Generaci贸n de Tokens de Autenticaci贸n en Laravel

16

"Conexi贸n API: Ruta y Controlador de Inicio de Sesi贸n"

17

Correcci贸n de Errores de Seguridad en Aplicaciones Web

18

Pol铆ticas de Acceso en Laravel: Control de Permisos de Usuario

19

Validaci贸n de Im谩genes en Laravel: Subida y Seguridad

20

驴Qu茅 es la autenticaci贸n?

Quiz: Funciones de seguridad

API Testing

21

Pruebas Automatizadas en Laravel con PHPUnit

22

Testing de Funciones en Visual Studio Code

23

Pruebas Automatizadas: Crear, Mostrar y Eliminar Recetas en PHP

24

Pruebas Unitarias en PHP: Creaci贸n de Recursos con Laravel

25

Pruebas Automatizadas con PHPUnit y Laravel

Quiz: API Testing

API Breaking Changes

26

Versionado de APIs: Separaci贸n y Evoluci贸n Sin Impacto en Usuarios

27

TDD: Desarrollo Guiado por Pruebas en APIs Versi贸n 2

Quiz: API Breaking Changes

Conclusiones

28

"Construcci贸n de APIs REST con Laravel y JSON"

29

Estructura de API RESTful con Node.js y Express

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Pruebas Automatizadas: Crear, Mostrar y Eliminar Recetas en PHP

23/30
Recursos

驴C贸mo podemos configurar y probar un m贸dulo de recetas de manera eficaz?

La importancia de mantener la calidad del c贸digo mientras a帽adimos nuevas funcionalidades en un proyecto es crucial. En esta clase, se explora c贸mo a帽adir un m贸dulo de recetas usando ejemplos de testing y pr谩cticas de programaci贸n adecuadas. Se aprovecha el c贸digo ya existente de las etiquetas para configurarlo en las recetas, garantizando un testing efectivo.

驴Cu谩l es el primer paso en la configuraci贸n del m贸dulo de recetas?

  • Copiar el c贸digo de las etiquetas y adaptarlo a las recetas.
  • Configurar la base de datos para el m贸dulo de recetas, extendi茅ndolo desde la clase base de testing.
  • Importar las categor铆as necesarias, ya que las recetas requieren estar vinculadas a una categor铆a.

驴C贸mo se crean usuarios y categor铆as para probar el m贸dulo?

  1. Creaci贸n de un usuario: Se procede a crear un usuario en el sistema y se inicia sesi贸n con ese usuario.

  2. Configuraci贸n de una categor铆a: Cada receta debe formar parte de una categor铆a. Se crea una categor铆a y se establece su relaci贸n con la receta, asegurando el contexto necesario para las pruebas.

驴Qu茅 procedimientos se siguen para probar correctamente las recetas?

El enfoque principal se centra en lograr una serie de pruebas que permitan verificar cada funcionalidad del m贸dulo:

  • Creaci贸n de recetas: Se establece un ambiente donde se crean dos recetas para testear, asegurando la correcta conexi贸n y el adecuado funcionamiento del 铆ndice de recetas.

  • Revisar y validar datos: Esperar un status 200 y comprobar que los campos como el t铆tulo y la descripci贸n est茅n correctamente configurados.

驴C贸mo se manejan las acciones de visualizaci贸n y eliminaci贸n de recetas?

Para asegurar que los m贸dulos est茅n operando bajo los par谩metros correctos:

  • Visualizaci贸n (Show): Crear una receta que est茅 asociada a una categor铆a espec铆fica, probar su visualizaci贸n mediante su ID y certificar que el retorno sea un status 200.

  • Eliminaci贸n (Delete): Crear una receta y luego eliminarla como parte del test. El sistema debe devolver un status que refleje la eliminaci贸n efectiva, testando con un status 'sin contenido'.

驴Qu茅 errores comunes se pueden identificar y corregir con el testing?

  • Errores del servidor (Error 500): Por ejemplo, al detectar errores de c贸digo, como omisiones en la sintaxis, el testing mostrar谩 un error 500, lo que alerta sobre problemas en el servidor.

  • Modificaciones da帽inas accidentales: El testing permite verificar si alguna nueva modificaci贸n da帽贸 el c贸digo preexistente, asegurando que no se han introducido errores inadvertidos.

驴Por qu茅 es crucial ejecutar pruebas automatizadas?

  • Calidad del c贸digo: Las pruebas nos permiten garantizar que cada parte del c贸digo nuevo funciona correctamente sin afectar al anterior.

  • Experiencia del usuario: Minimizan la probabilidad de que errores alcancen producci贸n, salvaguardando a los usuarios de posibles fallos en el software que pudieran degradar su experiencia.

El mantenimiento de alta calidad en nuestro c贸digo es indispensable. Las pruebas automatizadas ofrecen la confianza necesaria para asegurar el correcto funcionamiento. Por esto, se recomienda fervientemente realizar pr谩cticas constantes y mejorar conforme lo exijan los avances en los proyectos.

Aportes 2

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Quiero opinar porque veo algo de enredo en los siguientes comentarios: Este error: **Call to undefined method App\Http\Controllers\Api\RecipeController::authorize()** Indica que el metodo autorize no esta definido Esto pasa porque en la version 10 de laravel la gramatica era: **$this->authorize('delete', $recipe);** Pero en la version 11, la forma que aplicar las policies es: **Gate::authorize('delete', $recipe);**
Si a alguno de ustedes les falla el test\_destroy vayan al Policy que crearon en este caso RecipePolicy y en el metodo delete antes de la condicion agregren este codigo: ```js // TO MAKE PHPUNIT TEST WORK if (app()->environment() === 'testing') { return true; } ```espero les sirva, Saludos !