Actualmente la aplicación permite aceptar ofertas cuyo animal ya no existe. No deberiamos de permitir el pago de ofertas de animales que ya no estan en nuestra BD.
La prueba que he realizado ha sido:
He creado una solicitud desde un usuario customer
He creado una oferta para esa solicitud desde un usuario trainer
He eliminado el animal que aparecía en la oferta
He aceptado la oferta (proceso de pago incluido)
Creo que a este problema se pueden dar varias soluciones igual de validas.
Una posible solución sería que cuando un animal es eliminado de un usuario, todas las ofertas y solicitudes relacionadas con dicho animal, también sean eliminadas del sistema.
Otra alternativa sería mostrar un mensaje de advertencía antes de realizar el pago de una oferta cuyo animal ya ha sido eliminado, haciendole saber al pagador que el animal ya no esta registrado en el sistema y que nosotros no nos hacemos responsables de las consecuencias si decide continuar con el pago.
Personalmente me gusta más la segunda opción por varios motivos:
Puede que el cliente haya eliminado al animal pero siga queriendo el adiestramiento.
La eliminación de tantos elementos relacionados con animales puede acarrear un gran desarrollo y un grna número de nuevos bugs.
Cuando un animal es eliminado todas las ofertas con dicho animal son eliminadas adecuadamente. Si intentamos aceptar una oferta con un animal que ya ha sido eliminado el sistema nos da el siguiente error.
Actualmente la aplicación permite aceptar ofertas cuyo animal ya no existe. No deberiamos de permitir el pago de ofertas de animales que ya no estan en nuestra BD. La prueba que he realizado ha sido:
Creo que a este problema se pueden dar varias soluciones igual de validas.
Personalmente me gusta más la segunda opción por varios motivos: