changeset 135:80156ae1493f

Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los test se encontraban fallidos.
author alabra
date Sun, 17 Jul 2011 14:13:30 -0400
parents a4ef6874ec81
children 462a78196d11
files Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs Agendas/trunk/src/Agendas.Google/DetailsEvents/CafeGEventDetail.cs Agendas/trunk/src/Agendas.Google/DetailsEvents/EstudioGEventDetail.cs Agendas/trunk/src/Agendas.Google/GooglePublicador.cs
diffstat 4 files changed, 42 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs	Sun Jul 17 13:58:31 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs	Sun Jul 17 14:13:30 2011 -0400
@@ -130,11 +130,33 @@
             Assert.AreEqual(ev.Fecha.Value.Month, detail.EndEvent.Month);
             Assert.AreEqual(ev.Fecha.Value.Year, detail.EndEvent.Year);
 
-            Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un grupo de estudio sobre tema Agile Patterns." +
+            Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un grupo de estudio sobre Agile Patterns." +
                            "\n\rFecha: sábado, 09 de julio de 2011 a las 18:00 hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." +
                            "\n\rPueden plantear sus comentarios e inquietudes sobre el tema de la reunión en: https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion" +
                            "\n\rPara mayor información sobre cómo atender la reunión consulten: http://tinyurl.com/van-hispano" +
                            "\n\rPueden vincular el Google Calendar al suyo (http://screenr.com/nr7)", detail.Summary);
         }
+
+        [Test]
+        public void CuandoPublicarEventoDadoAccionCancelarEntoncesEventoEliminado()
+        {
+            var adapter = new Mock<IGCalendarAdapter>();
+            var message = "";
+            adapter.Setup(ad => ad.DeleteEvent(It.IsAny<DateTime>(), It.IsAny<DateTime>(), out message)).Returns(true);
+
+            var publicador = new GooglePublicador(adapter.Object);
+            var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
+
+            agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van);
+            adapter.Verify(ad => ad.DeleteEvent(It.IsAny<DateTime>(), It.IsAny<DateTime>(), out message), Times.Never());
+
+            agenda.Agendar("Agile Patterns", "Alejandro Labra", new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Van);
+            adapter.Verify(ad => ad.DeleteEvent(It.IsAny<DateTime>(), It.IsAny<DateTime>(), out message), Times.Never());
+
+            var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Agile Patterns");
+
+            agenda.Cancelar(evento.Id);
+            adapter.Verify(ad => ad.DeleteEvent(It.IsAny<DateTime>(), It.IsAny<DateTime>(), out message), Times.Once());
+        }
     }
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Google/DetailsEvents/CafeGEventDetail.cs	Sun Jul 17 13:58:31 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Google/DetailsEvents/CafeGEventDetail.cs	Sun Jul 17 14:13:30 2011 -0400
@@ -7,7 +7,7 @@
     public class CafeGEventDetail : IGEventDetail
     {
         private const string TextoCafe =
-            "La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un Alt.Net Cafe virtual con el tema [NOMBRE]" +
+            "La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un Alt.Net Cafe virtual con el tema [NOMBRE]." +
             "\n\rFecha: [FECHA] a las 18:00 hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." +
             "\n\rPueden plantear sus comentarios e inquietudes sobre el tema de la reunión en: [URL_DISCUCION]" +
             "\n\rPara mayor información sobre cómo atender la reunión consulten: http://tinyurl.com/van-hispano" +
--- a/Agendas/trunk/src/Agendas.Google/DetailsEvents/EstudioGEventDetail.cs	Sun Jul 17 13:58:31 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Google/DetailsEvents/EstudioGEventDetail.cs	Sun Jul 17 14:13:30 2011 -0400
@@ -7,7 +7,7 @@
     public class EstudioGEventDetail : IGEventDetail
     {
         private const string TextoEstudio =
-            "La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un grupo de estudio sobre [NOMBRE]" +
+            "La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un grupo de estudio sobre [NOMBRE]." +
             "\n\rFecha: [FECHA] a las 18:00 hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." +
             "\n\rPueden plantear sus comentarios e inquietudes sobre el tema de la reunión en: [URL_DISCUCION]" +
             "\n\rPara mayor información sobre cómo atender la reunión consulten: http://tinyurl.com/van-hispano" +
--- a/Agendas/trunk/src/Agendas.Google/GooglePublicador.cs	Sun Jul 17 13:58:31 2011 -0400
+++ b/Agendas/trunk/src/Agendas.Google/GooglePublicador.cs	Sun Jul 17 14:13:30 2011 -0400
@@ -29,12 +29,26 @@
 		{
 		    foreach (var track in tracks)
 		    {
-		        if (track.Accion == Accion.Agendar)
-                    PublicarAccionAgendar(track);
+                switch (track.Accion)
+                {
+                    case Accion.Agendar:
+                        PublicarAccionAgendar(track);
+                        break;
+                    case Accion.Cancelar:
+                        PublicarAccionCancelar(track);
+                        break;
+                }
 		    }
 		}
 
-        private void PublicarAccionAgendar(Track track)
+	    private void PublicarAccionCancelar(Track track)
+	    {
+            string message;
+	        var result= _adapter.DeleteEvent(track.Evento.Fecha.Value, track.Evento.Fecha.Value.AddHours(2), out message);
+            track.LogAdd(new TrackLog(TrackLogPropietario.Calendario, message, track.Usuario, result));
+	    }
+
+	    private void PublicarAccionAgendar(Track track)
         {
             string message;
             _gEventDetails[track.Evento.Tipo].Generate(track.Evento);