comparison 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
comparison
equal deleted inserted replaced
129:a6d20ea228a5 130:0ea32a748453
1 using System;
2 using AltNetHispano.Agendas.Domain;
3 using AltNetHispano.Agendas.Google;
4 using AltNetHispano.Agendas.Google.DetailsEvents;
5 using AltNetHispano.Agendas.Tests;
6 using Moq;
7 using NUnit.Framework;
8
9 namespace Agendas.Google.Test
10 {
11 [TestFixture]
12 public class PublicadorTest : TestBase
13 {
14 /// <summary>
15 /// Validar que solamente se creen eventos cuando la acción sea Accion.Agendar
16 /// </summary>
17 [Test]
18 public void CuandoPublicarEventoDadoAccionAgendarEntoncesEventoCreado()
19 {
20
21 }
22
23 /// <summary>
24 /// Validar que se halla creado IGEventDetail según detalles y tipo de evento (VAN, Café, Grupo estudio)
25 /// - Summary correcto, según tipo
26 /// - Summary con fecha en cultura es-ES
27 /// - Fecha de inicio y termino en Utc.
28 /// - Location
29 /// - Titulo según tipo
30 /// </summary>
31 [Test]
32 public void CuandoPublicarEventoDadoTipoVanEntoncesDetalleCorrecto()
33 {
34 var adapter = new Mock<IGCalendarAdapter>();
35 var detail = new VanGEventDetail();
36
37 var publicador = new GooglePublicador(adapter.Object);
38 var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
39 agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van);
40 agenda.Agendar("Agile Patterns", "Alejandro Labra", new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Van);
41
42 var ev = DefaultEventoRepository.GetActivos()[0];
43 detail.Generate(ev);
44
45 Assert.AreEqual("http://snipr.com/virtualaltnet", detail.Location);
46 Assert.AreEqual("VAN sobre Agile Patterns", detail.Title);
47
48 Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind);
49 Assert.AreEqual(18, detail.StartEvent.Hour);
50 Assert.AreEqual(ev.Fecha.Value.Day, detail.StartEvent.Day);
51 Assert.AreEqual(ev.Fecha.Value.Month, detail.StartEvent.Month);
52 Assert.AreEqual(ev.Fecha.Value.Year, detail.StartEvent.Year);
53
54 Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind);
55 Assert.AreEqual(20, detail.EndEvent.Hour);
56 Assert.AreEqual(ev.Fecha.Value.Day, detail.EndEvent.Day);
57 Assert.AreEqual(ev.Fecha.Value.Month, detail.EndEvent.Month);
58 Assert.AreEqual(ev.Fecha.Value.Year, detail.EndEvent.Year);
59
60 Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará una VAN sobre Agile Patterns, con Alejandro Labra." +
61 "\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." +
62 "\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" +
63 "\n\rPara mayor información sobre cómo atender la reunión consulten: http://tinyurl.com/van-hispano" +
64 "\n\rPueden vincular el Google Calendar al suyo (http://screenr.com/nr7)", detail.Summary);
65 }
66
67 [Test]
68 public void CuandoPublicarEventoTipoCafeEntoncesDetalleCorrecto()
69 {
70 var adapter = new Mock<IGCalendarAdapter>();
71 var detail = new CafeGEventDetail();
72
73 var publicador = new GooglePublicador(adapter.Object);
74 var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
75 agenda.Proponer("Agile Patterns", null, null, TipoEvento.Cafe);
76 agenda.Agendar("Agile Patterns", null, new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.Cafe);
77
78 var ev = DefaultEventoRepository.GetActivos()[0];
79 detail.Generate(ev);
80
81 Assert.AreEqual("http://snipr.com/virtualaltnet", detail.Location);
82 Assert.AreEqual("Alt.Net Café Agile Patterns", detail.Title);
83
84 Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind);
85 Assert.AreEqual(18, detail.StartEvent.Hour);
86 Assert.AreEqual(ev.Fecha.Value.Day, detail.StartEvent.Day);
87 Assert.AreEqual(ev.Fecha.Value.Month, detail.StartEvent.Month);
88 Assert.AreEqual(ev.Fecha.Value.Year, detail.StartEvent.Year);
89
90 Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind);
91 Assert.AreEqual(20, detail.EndEvent.Hour);
92 Assert.AreEqual(ev.Fecha.Value.Day, detail.EndEvent.Day);
93 Assert.AreEqual(ev.Fecha.Value.Month, detail.EndEvent.Month);
94 Assert.AreEqual(ev.Fecha.Value.Year, detail.EndEvent.Year);
95
96 Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un Alt.Net Cafe virtual con el tema Agile Patterns." +
97 "\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." +
98 "\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" +
99 "\n\rPara mayor información sobre cómo atender la reunión consulten: http://tinyurl.com/van-hispano" +
100 "\n\rPueden vincular el Google Calendar al suyo (http://screenr.com/nr7)", detail.Summary);
101 }
102
103 [Test]
104 public void CuandoPublicarEventoTipoEstudioEntoncesDetalleCorrecto()
105 {
106 var adapter = new Mock<IGCalendarAdapter>();
107 var detail = new EstudioGEventDetail();
108
109 var publicador = new GooglePublicador(adapter.Object);
110 var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository);
111 agenda.Proponer("Agile Patterns", null, null, TipoEvento.GrupoEstudio);
112 agenda.Agendar("Agile Patterns", null, new DateTime(2011, 07, 09), "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", TipoEvento.GrupoEstudio);
113
114 var ev = DefaultEventoRepository.GetActivos()[0];
115 detail.Generate(ev);
116
117 Assert.AreEqual("http://snipr.com/virtualaltnet", detail.Location);
118 Assert.AreEqual("Grupo de Estudio Agile Patterns", detail.Title);
119
120 Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind);
121 Assert.AreEqual(18, detail.StartEvent.Hour);
122 Assert.AreEqual(ev.Fecha.Value.Day, detail.StartEvent.Day);
123 Assert.AreEqual(ev.Fecha.Value.Month, detail.StartEvent.Month);
124 Assert.AreEqual(ev.Fecha.Value.Year, detail.StartEvent.Year);
125
126 Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind);
127 Assert.AreEqual(20, detail.EndEvent.Hour);
128 Assert.AreEqual(ev.Fecha.Value.Day, detail.EndEvent.Day);
129 Assert.AreEqual(ev.Fecha.Value.Month, detail.EndEvent.Month);
130 Assert.AreEqual(ev.Fecha.Value.Year, detail.EndEvent.Year);
131
132 Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un grupo de estudio sobre tema Agile Patterns." +
133 "\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." +
134 "\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" +
135 "\n\rPara mayor información sobre cómo atender la reunión consulten: http://tinyurl.com/van-hispano" +
136 "\n\rPueden vincular el Google Calendar al suyo (http://screenr.com/nr7)", detail.Summary);
137 }
138 }
139 }