diff Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs @ 185:2d02adb79322

Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio. Se modifica la propiedad Fecha del Evento, renombrandola FechaInicio. En el ModelView se agrega propiedades Duración y Hora del Evento cuando es Modificado, Nuevo y Agendado. Las fechas ingresadas son creadas en sistema UTC Queda pendiente Agregar duración a Google Calendar.
author alabra
date Tue, 09 Aug 2011 01:04:27 -0400
parents e6e6bfb1da9e
children cd96cfc8a1f5
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs	Mon Aug 08 22:32:12 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs	Tue Aug 09 01:04:27 2011 -0400
@@ -16,7 +16,9 @@
         public void CuandoPublicarEventoDadoAccionAgendarEntoncesEventoCreado()
         {
             var adapter = new Mock<IGCalendarAdapter>();
-            var message="";
+            string message;
+            var fechaInicio = new DateTime(2011, 07, 09, 18, 0, 0, DateTimeKind.Utc);
+            var fechaTermino = fechaInicio.AddHours(2);
             adapter.Setup(ad => ad.CreateEvent(It.IsAny<IGEventDetail>(), out message)).Returns(true);
 
             var publicador = new GooglePublicador(adapter.Object);
@@ -25,7 +27,10 @@
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van);
             adapter.Verify(ad => ad.CreateEvent(It.IsAny<IGEventDetail>(), out message), Times.Never());
 
-            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Van);
+
+            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio,
+                           fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion",
+                           TipoEvento.Van);
             adapter.Verify(ad => ad.CreateEvent(It.IsAny<IGEventDetail>(), out message), Times.Once());
         }
 
@@ -34,11 +39,15 @@
         {
             var adapter = new Mock<IGCalendarAdapter>();
             var detail = new VanGEventDetail();
+            var fechaInicio = new DateTime(2011, 07, 09, 18, 0, 0, DateTimeKind.Utc);
+            var fechaTermino = fechaInicio.AddHours(2);
 
             var publicador = new GooglePublicador(adapter.Object);
 			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van);
-            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Van);
+            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio,
+                           fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion",
+                           TipoEvento.Van);
 
             var ev = DefaultEventoRepository.GetActivos()[0];
             detail.Generate(ev);
@@ -48,15 +57,15 @@
             
             Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind);
             Assert.AreEqual(18, detail.StartEvent.Hour);
-            Assert.AreEqual(ev.Fecha.Value.Day, detail.StartEvent.Day);
-            Assert.AreEqual(ev.Fecha.Value.Month, detail.StartEvent.Month);
-            Assert.AreEqual(ev.Fecha.Value.Year, detail.StartEvent.Year);
+            Assert.AreEqual(ev.FechaInicio.Value.Day, detail.StartEvent.Day);
+            Assert.AreEqual(ev.FechaInicio.Value.Month, detail.StartEvent.Month);
+            Assert.AreEqual(ev.FechaInicio.Value.Year, detail.StartEvent.Year);
 
             Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind);
             Assert.AreEqual(20, detail.EndEvent.Hour);
-            Assert.AreEqual(ev.Fecha.Value.Day, detail.EndEvent.Day);
-            Assert.AreEqual(ev.Fecha.Value.Month, detail.EndEvent.Month);
-            Assert.AreEqual(ev.Fecha.Value.Year, detail.EndEvent.Year);
+            Assert.AreEqual(ev.FechaInicio.Value.Day, detail.EndEvent.Day);
+            Assert.AreEqual(ev.FechaInicio.Value.Month, detail.EndEvent.Month);
+            Assert.AreEqual(ev.FechaInicio.Value.Year, detail.EndEvent.Year);
 
             Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará una VAN sobre Agile Patterns, con Alejandro Labra." +
                            "\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." +
@@ -70,11 +79,15 @@
         {
             var adapter = new Mock<IGCalendarAdapter>();
             var detail = new CafeGEventDetail();
+            var fechaInicio = new DateTime(2011, 07, 09, 18, 0, 0, DateTimeKind.Utc);
+            var fechaTermino = fechaInicio.AddHours(2);
 
             var publicador = new GooglePublicador(adapter.Object);
 			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.Cafe);
-            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Cafe);
+            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio,
+                           fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion",
+                           TipoEvento.Cafe);
 
             var ev = DefaultEventoRepository.GetActivos()[0];
             detail.Generate(ev);
@@ -84,15 +97,15 @@
 
             Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind);
             Assert.AreEqual(18, detail.StartEvent.Hour);
-            Assert.AreEqual(ev.Fecha.Value.Day, detail.StartEvent.Day);
-            Assert.AreEqual(ev.Fecha.Value.Month, detail.StartEvent.Month);
-            Assert.AreEqual(ev.Fecha.Value.Year, detail.StartEvent.Year);
+            Assert.AreEqual(ev.FechaInicio.Value.Day, detail.StartEvent.Day);
+            Assert.AreEqual(ev.FechaInicio.Value.Month, detail.StartEvent.Month);
+            Assert.AreEqual(ev.FechaInicio.Value.Year, detail.StartEvent.Year);
 
             Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind);
             Assert.AreEqual(20, detail.EndEvent.Hour);
-            Assert.AreEqual(ev.Fecha.Value.Day, detail.EndEvent.Day);
-            Assert.AreEqual(ev.Fecha.Value.Month, detail.EndEvent.Month);
-            Assert.AreEqual(ev.Fecha.Value.Year, detail.EndEvent.Year);
+            Assert.AreEqual(ev.FechaInicio.Value.Day, detail.EndEvent.Day);
+            Assert.AreEqual(ev.FechaInicio.Value.Month, detail.EndEvent.Month);
+            Assert.AreEqual(ev.FechaInicio.Value.Year, detail.EndEvent.Year);
 
             Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un Alt.Net Cafe virtual con el tema 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." +
@@ -106,11 +119,15 @@
         {
             var adapter = new Mock<IGCalendarAdapter>();
             var detail = new EstudioGEventDetail();
+            var fechaInicio = new DateTime(2011, 07, 09, 18, 0, 0, DateTimeKind.Utc);
+            var fechaTermino = fechaInicio.AddHours(2);
 
             var publicador = new GooglePublicador(adapter.Object);
 			var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
             agenda.Proponer("Agile Patterns", null, null, TipoEvento.GrupoEstudio);
-            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.GrupoEstudio);
+            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio,
+                           fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion",
+                           TipoEvento.GrupoEstudio);
 
             var ev = DefaultEventoRepository.GetActivos()[0];
             detail.Generate(ev);
@@ -120,15 +137,15 @@
 
             Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind);
             Assert.AreEqual(18, detail.StartEvent.Hour);
-            Assert.AreEqual(ev.Fecha.Value.Day, detail.StartEvent.Day);
-            Assert.AreEqual(ev.Fecha.Value.Month, detail.StartEvent.Month);
-            Assert.AreEqual(ev.Fecha.Value.Year, detail.StartEvent.Year);
+            Assert.AreEqual(ev.FechaInicio.Value.Day, detail.StartEvent.Day);
+            Assert.AreEqual(ev.FechaInicio.Value.Month, detail.StartEvent.Month);
+            Assert.AreEqual(ev.FechaInicio.Value.Year, detail.StartEvent.Year);
 
             Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind);
             Assert.AreEqual(20, detail.EndEvent.Hour);
-            Assert.AreEqual(ev.Fecha.Value.Day, detail.EndEvent.Day);
-            Assert.AreEqual(ev.Fecha.Value.Month, detail.EndEvent.Month);
-            Assert.AreEqual(ev.Fecha.Value.Year, detail.EndEvent.Year);
+            Assert.AreEqual(ev.FechaInicio.Value.Day, detail.EndEvent.Day);
+            Assert.AreEqual(ev.FechaInicio.Value.Month, detail.EndEvent.Month);
+            Assert.AreEqual(ev.FechaInicio.Value.Year, detail.EndEvent.Year);
 
             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." +
@@ -141,7 +158,9 @@
         public void CuandoPublicarEventoDadoAccionCancelarEntoncesEventoEliminado()
         {
             var adapter = new Mock<IGCalendarAdapter>();
-            var message = "";
+            string message;
+            var fechaInicio = new DateTime(2011, 07, 09, 18, 0, 0, DateTimeKind.Utc);
+            var fechaTermino = fechaInicio.AddHours(2);
             adapter.Setup(ad => ad.DeleteEvent(It.IsAny<DateTime>(), It.IsAny<DateTime>(), out message)).Returns(true);
 
             var publicador = new GooglePublicador(adapter.Object);
@@ -150,7 +169,9 @@
             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", TestsHelper.GetOrCreatePonente("Alejandro Labra"), new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Van);
+            agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio,
+                           fechaTermino, "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");