franfontana / agenda

Administración y registro de contactos - Ejercicio
0 stars 1 forks source link

Unit tests #1

Open mblasi opened 9 years ago

mblasi commented 9 years ago

Escribir los tests unitarios que verifiquen:

  1. Alta de contacto
  2. Búsqueda de contacto existente
  3. Búsqueda de contacto inexistente
  4. Alta de usuario duplicado
  5. Eliminación de usuario
franfontana commented 9 years ago

En lo que refiere al test del punto 2, búsqueda de un contacto existente en la agenda, estimo que conviene tomar un atributo de la clase contacto el cual sea unico para cada persona a agregar, por ejemplo "email" y compararlo con toda la lista de contactos, devolviendo "true" en el caso de encontrar algún contacto con dicho atributo. O seria necesario comparar todos los atributos de la persona??

mblasi commented 9 years ago

Abstrayéndote de la implementación de la agenda, la idea es:

Cuando nos veamos, lo charlamos.

franfontana commented 9 years ago

Subí los test que tengo hasta el momento y agregue dos que no estaban en la lista y se me ocurrieron, también reorganice el código para mejor interpretación. Respecto a los test, algunos funcionan y otros los comente ya que aun me falta trabajarlos, tengo algunas dudas que me gustaría que veamos.. por ejemplo, el de eliminarContacto, el contacto lo agrega para luego ser eliminado, pero al eliminarlo, no logro que el size de "miLista" se verifique como "0". Por alguna razón no se modifica el valor al eliminar el contacto. Lo vemos luego..

mblasi commented 9 years ago

Perfecto Fran, comento sobre el commit.

franfontana commented 9 years ago

Mati, Durante todo el día de hoy pude completar toda la lista de test (ya lo pushee) y están funcionando correctamente, me llevo algo mas de tiempo y trabajo en casa pero me dio una gran satisfacción, mas sabiendo que cumplí con la fecha prevista!!! Quizás falten agregar mas test.. pero los de la lista, ya están hechos!!! Los que yo había agregado los elimine porque no tenían validez con la lógica de la aplicación. Cualquier cosa comentame si es que hay que mejorarlos. También me surgieron dudas durante el progreso, el de contacto duplicado fue complicado.., pero luego te consultare personalmente. Saludos... y buen fin de semana!!

mblasi commented 9 years ago

Fran, estuve viendo los commits. El avance realmente es bueno. Hay varios detalles que mejorar, pero realmente se nota el progreso. Seguí así. Lo que te voy a pedir, en cada tarea, para darle un cierre, es que generes un Pull Request desde tu branch (develo) - donde hiciste los push - hacia master. Sobre ese PR, voy a hacer los comentarios que crea convenientes, haras correcciones, y nuevos pushes (cuando haces un nuevo push al branch develop - del cual existe un PR en curso - no es necesario realizar un PR nuevo, el PR se actualiza automáticamente con el push) Iteraremos de esta manera, hasta que logremos una versión final de los tests, y entonces, mergeo el PR a master, y cerramos la tarea, y comenzas el desarrollo de la siguiente. Esta primer tarea, la llevaste adelante en el branch develop, de ahora en mas, vamos a agregar la siguiente práctica: crear un branch por cada tarea que comiences, entonces, tendremos totalmente aislado en un branch diferente el trabajo de cada tarea.

Cualquier duda lo conversamos mañana.

franfontana commented 9 years ago

Genial Matias!! Gracias!! Estos resultados me dieron motivación, tratare de seguir con todo lo que mencionas, aunque en estos días, sin querer y para poder avanzar hasta que evaluaras lo realizado, continué el código quitando la funcionalidad gráfica y a razón tuve que modificar otras lineas y formas de ingresar datos, con lo cual se modificaron algunos test también. (No imagine que quizás querías dar cierre a las tareas de esa forma, pero esta genial que me lo informes así no me apresuro). Sin embargo, desde el ultimo push que esta en GitHub solo hice un commit con un arreglo sencillo, voy a tratar de volver atrás algunas cosas sin perder el código realizado así comienzo la organización de las tareas como mencionas!!. Saludos.

mblasi commented 9 years ago

Perfecto. No te hagas problema, no te preocupes de deshacer los cambios, si queres incluilos en el mismo pull request, si es que estan funcionado. El objetivo principal debe ser que los tests funcionen.

franfontana commented 9 years ago

En el ultimo commit a develop logre corregir los test para que contemplen los casos mas naturales al utilizar una agenda. Por otro lado se agrego el motor de búsqueda para listar los contactos en base al ingreso de un atributo, lo que me llevo a la reorganización de los test como antes mencionaba, ya se encuentran adaptados y funcionando. Se genera PR.

franfontana commented 9 years ago

Se agregaron los siguientes test al conjunto propuesto para corroborar las nuevas funcionalidades de acuerdo a las necesidades de la agenda: testModificaAtributosDeContacto() testMostrarTodosLosContactos() testEliminarTodosLosContactos()