Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs @ 130:0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
author | alabra |
---|---|
date | Sun, 10 Jul 2011 18:50:11 -0400 |
parents | |
children | 81870e6f7e55 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs Sun Jul 10 18:50:11 2011 -0400 @@ -0,0 +1,139 @@ +using System; +using AltNetHispano.Agendas.Domain; +using AltNetHispano.Agendas.Google; +using AltNetHispano.Agendas.Google.DetailsEvents; +using AltNetHispano.Agendas.Tests; +using Moq; +using NUnit.Framework; + +namespace Agendas.Google.Test +{ + [TestFixture] + public class PublicadorTest : TestBase + { + /// <summary> + /// Validar que solamente se creen eventos cuando la acción sea Accion.Agendar + /// </summary> + [Test] + public void CuandoPublicarEventoDadoAccionAgendarEntoncesEventoCreado() + { + + } + + /// <summary> + /// Validar que se halla creado IGEventDetail según detalles y tipo de evento (VAN, Café, Grupo estudio) + /// - Summary correcto, según tipo + /// - Summary con fecha en cultura es-ES + /// - Fecha de inicio y termino en Utc. + /// - Location + /// - Titulo según tipo + /// </summary> + [Test] + public void CuandoPublicarEventoDadoTipoVanEntoncesDetalleCorrecto() + { + var adapter = new Mock<IGCalendarAdapter>(); + var detail = new VanGEventDetail(); + + var publicador = new GooglePublicador(adapter.Object); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van); + agenda.Agendar("Agile Patterns", "Alejandro Labra", new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Van); + + var ev = DefaultEventoRepository.GetActivos()[0]; + detail.Generate(ev); + + Assert.AreEqual("http://snipr.com/virtualaltnet", detail.Location); + Assert.AreEqual("VAN sobre Agile Patterns", detail.Title); + + 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(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("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." + + "\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 CuandoPublicarEventoTipoCafeEntoncesDetalleCorrecto() + { + var adapter = new Mock<IGCalendarAdapter>(); + var detail = new CafeGEventDetail(); + + var publicador = new GooglePublicador(adapter.Object); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Proponer("Agile Patterns", null, null, TipoEvento.Cafe); + agenda.Agendar("Agile Patterns", null, new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Cafe); + + var ev = DefaultEventoRepository.GetActivos()[0]; + detail.Generate(ev); + + Assert.AreEqual("http://snipr.com/virtualaltnet", detail.Location); + Assert.AreEqual("Alt.Net Café Agile Patterns", detail.Title); + + 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(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("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." + + "\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 CuandoPublicarEventoTipoEstudioEntoncesDetalleCorrecto() + { + var adapter = new Mock<IGCalendarAdapter>(); + var detail = new EstudioGEventDetail(); + + var publicador = new GooglePublicador(adapter.Object); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Proponer("Agile Patterns", null, null, TipoEvento.GrupoEstudio); + agenda.Agendar("Agile Patterns", null, new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.GrupoEstudio); + + var ev = DefaultEventoRepository.GetActivos()[0]; + detail.Generate(ev); + + Assert.AreEqual("http://snipr.com/virtualaltnet", detail.Location); + Assert.AreEqual("Grupo de Estudio Agile Patterns", detail.Title); + + 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(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("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un grupo de estudio sobre 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." + + "\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); + } + } +} \ No newline at end of file