Saltar al contenido principal

RF51: Usuario elimina curso de lista 'ver más tarde'

Descripción

Como usuario autenticado, quiero quitar un curso de mi lista "ver más tarde" para mantener mi lista ordenada y relevante.

Elimina la relación entre el usuario y el curso. Solo afecta la lista del usuario autenticado.

CampoValor
MóduloCourses Module
ActorUsuario autenticado
EndpointDELETE /courses/watch-later/:courseId
PrecondicionesSesión activa
PrioridadBaja (post-MVP)
EtapaMBI 1
Requisitos relacionadosRF49, RF50

Reglas de negocio

  • RN-51.1 — Solo se elimina de la lista del user_id del JWT.
  • RN-51.2 — Es idempotente: eliminar algo que no está en la lista devuelve éxito sin error.
  • RN-51.3 — No elimina el curso del catálogo, solo la relación con el usuario.

Validaciones de entrada

CampoReglasMensaje de error
courseIdObligatorio. UUID."Curso no encontrado." (404) si no es un UUID válido
AuthorizationBearer válido."Sesión no válida." (401)

Criterios de aceptación

Escenario 1: Eliminación exitosa

Dado que tengo un curso en "ver más tarde", Cuando lo elimino, Entonces el sistema borra la relación y responde 200 OK, Y el curso deja de aparecer en mi lista.

Escenario 2: Curso no estaba en la lista (idempotencia)

Dado que el curso no está en mi lista, Cuando intento eliminarlo, Entonces el sistema responde 200 OK sin error.

Escenario 3: Aislamiento (seguridad)

Dado que se manipula la petición hacia la lista de otro usuario, Cuando el backend procesa, Entonces opera solo sobre la lista del user_id del JWT.

Criterios no funcionales

  • Respuesta < 500 ms.
  • Comunicación TLS 1.2+.

Diagrama de secuencia