Ejercicio de revisión de código · 8 MIN

Revisa un cambio generado por IA

Examina un endpoint breve. Decide qué pruebas necesitas antes de aceptar el cambio.

La situación

Un asistente de IA propone un endpoint de facturas. Un usuario con sesión iniciada solo debe ver facturas de su propia organización. Revisas el cambio antes de que pueda publicarse.

Qué hacer

  1. Lee el código y su explicación en lenguaje claro. No necesitas ejecutarlo.
  2. Selecciona todas las comprobaciones necesarias antes de aceptar. Comprueba tus respuestas, lee los motivos e inténtalo de nuevo si falta alguna.
¿Necesitas contexto? Lee la lección

Revisas esta PR. La función debe devolver una factura solo a un usuario autenticado de la misma organización. El fragmento está incompleto.

// Fictional, incomplete example. Do not deploy.
app.get('/invoices/:id', async (req, res) => {
  const invoice = await db.invoice.findUnique({
    where: { id: req.params.id }
  });
  console.log('Invoice response', invoice);
  return res.json(invoice);
});
¿Qué hace el código?

El endpoint toma un identificador de factura de la solicitud, obtiene esa factura, registra la factura completa y la devuelve. El fragmento no muestra quién comprueba el derecho del usuario a esa factura.

La autenticación comprueba quién es el usuario. La autorización comprueba qué puede hacer. El middleware es código que procesa la solicitud antes de este endpoint. Puede contener comprobaciones ausentes en este fragmento.

Selecciona todas las acciones de revisión necesarias.

PARA TERMINAR

¿Una solicitud satisfactoria demuestra que el endpoint de facturas es seguro?

Compara tu respuesta con la explicación

No. Demuestra que una solicitud funcionó. También necesitas pruebas de que un usuario no puede leer una factura de otra organización. Examina la ruta completa de la solicitud, el comportamiento ante registros ausentes y los logs. Una prueba satisfactoria debe cubrir el requisito que importa.

Aplícalo en el trabajo

En tu próxima revisión de PR, añade una prueba para una acción que deba denegarse.

Elige otro ejercicio