HU05 - wcastroj/202615-ing-sw-moviles GitHub Wiki

Historia de usuario detallada

Identificador HU005
Nombre Crear un álbum
Resumen/ Descripción Como coleccionista quiero agregar un álbum al listado
Criterios de aceptación - Al oprimir el boton crear album se llevara a la vista del formulario de crear album
- El formulario debe solicitar el nombre del álbum. Esta sección es obligatoria, no puede quedar vacía o con solo espacios y admite máximo 50 caracteres.
- El formulario debe solicitar el cover del álbum. Esta sección es obligatoria y solo admite URLs que terminen en .png, .jpg , .jpeg , .webp o .svg
- El formulario debe solicitar la fecha de lanzamiento. Esta sección es obligatoria, no puede quedar vacía y la fecha se escoge con un selector de fecha.
- El formulario debe solicitar la descripción del álbum. Esta sección es obligatoria, no puede quedar vacía o con solo espacios y se admiten máximo 250 caracteres”
- El formulario debe solicitar el género del álbum. Esta sección es obligatoria; no puede quedar vacía , y el género se escoge de una lista precargada.
- El formulario debe solicitar el sello discográfico. Esta sección es obligatoria; no puede quedar vacía, y el sello discográfico se escoge de una lista precargada.
- Al oprimir el botón “Guardar Album” se validan todos los campos; si alguno no cumple, se muestra su mensaje de error y no se envía el formulario.
- Cada campo se valida mientras el usuario lo llena y al oprimir “Guardar”; si no cumple su regla, se muestra un mensaje debajo del campo y no se envía el formulario. Mensajes: “Este campo es obligatorio” si está vacío, “Ingrese una URL válida que termine en .png, .jpg o .jpeg” si el cover no es válido, “El nombre no puede superar 50 caracteres” si el nombre es muy largo y “La descripción no puede superar 250 caracteres” si la descripción es muy larga.
- Si el álbum se crea, se muestra “Álbum creado exitosamente” y se regresa a la lista de álbumes
- Si no es posible crear el álbum, se muestra “Ups algo se desafino en la señal”
- Un botón “Cancelar” regresa al listado de álbumes sin guardar.
Mockups

Tareas

Identificador Tarea
T1 Crear el modelo de la petición (CreateAlbumRequest) con los seis campos.
T2 Agregar createAlbum() al servicio de Retrofit.
T3 Agregar createAlbum() al AlbumRepository, que devuelva éxito o error.
T4 Definir el estado del formulario: valor y error de cada campo, guardando, éxito y error.
T5 Implementar las reglas de validación: obligatorios, solo espacios, nombre máximo 50, descripción máximo 250 y cover terminado en .png, .jpg o .jpeg.
T6 Validar cada campo mientras el usuario escribe o escoge.
T7 Al oprimir “Guardar”, validar y enviar solo si todo cumple.
T8 Agregar el botón “Guardar álbum” .
T9 Crear la pantalla del formulario con los campos de texto de nombre, cover y descripción.
T10 Agregar el selector de fecha.
T11 Obtener del backend las listas desplegables de género y sello discográfico.
T12 Mostrar el mensaje de error debajo de cada campo.
T13 Mostrar “Álbum creado exitosamente” y regresar a la lista, o “Ups algo se desafino en la señal” si falla.
T14 Agregar el botón “Cancelar” que regrese a la lista sin guardar.
T15 Realizar las pruebas especificadas en la estrategia de pruebas .
T16 Prueba manual contra el backend real, criterio por criterio.