Ir al contenido
DocuGraph

ecommerce-angular-spring

FE-13 Storefront: reseñas en el detalle de producto

FE-13 — Storefront: reseñas en el detalle de producto

Sección titulada «FE-13 — Storefront: reseñas en el detalle de producto»

Mostrar el rating agregado y las reseñas aprobadas en el detalle de producto, y ofrecer el formulario de reseña solo a compradores verificados (US-10), respetando las superficies de ARCH-07.

  • Resumen de rating junto al precio: promedio (estrellas) y número de reseñas, leído de la proyección de catalog (product_ratings, DS-04).
  • Lista de reseñas aprobadas paginada por cursor (listProductReviews, DS-02), con rating, título, cuerpo, autor y fecha.
  • Formulario de reseña: visible solo si el usuario tiene DELIVERED para ese producto; rating 1–5 + título + comentario; envía con createProductReview.
  • Estado vacío cuando no hay reseñas; estado pendiente tras enviar («tu reseña está en revisión»).
  • Reutiliza el shell y tokens de storefront (FE-03, ARCH-07); sin imágenes.
  • Dado un producto con reseñas aprobadas, cuando abro el detalle, entonces veo promedio y lista.
  • Dado un producto sin reseñas, cuando abro el detalle, entonces veo un vacío honesto, no 0 estrellas falsas.
  • Dado que no compré y recibí el producto, cuando miro el detalle, entonces no aparece el botón «Escribir reseña».
  • Dado un envío exitoso, cuando termina, entonces veo confirmación de «en revisión» y la reseña no aparece en la lista pública todavía.
  • Dado un error ProblemDetail (duplicada, no verificada), cuando ocurre, entonces se muestra el mensaje RFC 9457.
  • Consume listProductReviews y createProductReview (DS-02, a registrar en MVP_2, ADR-10).
  • Cliente Tipado generado desde contract/openapi.yaml (ADR-10) y el interceptor de FE-02 para errores.
  • No accede a reviews directamente: la vista pública usa la proyección (ARCH-02).
  • Editar/eliminar mi reseña.
  • Subir fotos o votos útiles.
  • Moderación (vive en FE-14).
  • Componentes con Vitest/Playwright según TEST-01; se citarán file:/test: al montarse las fuentes (FIND-10).