comparison Agendas/trunk/src/Agendas.Tests/AgendarTests.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 5c94b052d838
children 03cf6a377ee8
comparison
equal deleted inserted replaced
184:2a336a6a76b5 185:2d02adb79322
29 29
30 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Throws(new Exception("Error intencional")); 30 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Throws(new Exception("Error intencional"));
31 31
32 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); 32 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
33 33
34 Assert.Throws<Exception>( 34 var fechaInicio = DateTime.Now.ToUniversalTime();
35 () => agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.Now, urlInvitacion, TipoEvento.Van)); 35 var fechaTermino = fechaInicio.AddHours(2);
36 Assert.Throws<Exception>(
37 () =>
38 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
39 urlInvitacion, TipoEvento.Van));
36 Assert.AreEqual(0, agenda.GetEventosActivos().Count); 40 Assert.AreEqual(0, agenda.GetEventosActivos().Count);
37 41
38 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); 42 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
39 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); 43 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
40 } 44 }
47 var publicador = new Mock<IPublicador>(); 51 var publicador = new Mock<IPublicador>();
48 var repository = new Mock<IEventoRepository>(); 52 var repository = new Mock<IEventoRepository>();
49 53
50 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); 54 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
51 55
52 Assert.Throws<IdentityContextNotConfiguredException>( 56 var fechaInicio = DateTime.Now.ToUniversalTime();
53 () => agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.Now, 57 var fechaTermino = fechaInicio.AddHours(2);
54 urlInvitacion, TipoEvento.Van)); 58 Assert.Throws<IdentityContextNotConfiguredException>(
59 () =>
60 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
61 urlInvitacion, TipoEvento.Van));
55 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); 62 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
56 } 63 }
57 64
58 [Test] 65 [Test]
59 public void Intentar_agendar_evento_sin_usuario_autenticado() 66 public void Intentar_agendar_evento_sin_usuario_autenticado()
63 var publicador = new Mock<IPublicador>(); 70 var publicador = new Mock<IPublicador>();
64 var repository = new Mock<IEventoRepository>(); 71 var repository = new Mock<IEventoRepository>();
65 72
66 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); 73 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
67 74
68 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.Now, 75 var fechaInicio = DateTime.Now.ToUniversalTime();
69 urlInvitacion, TipoEvento.Van)); 76 var fechaTermino = fechaInicio.AddHours(2);
77 Assert.Throws<UsuarioNoAutenticadoException>(
78 () =>
79 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
80 urlInvitacion, TipoEvento.Van));
70 81
71 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(0)); 82 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(0));
72 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); 83 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0));
73 } 84 }
74 85
75 [Test] 86 [Test]
76 public void Intentar_agendar_evento_sin_ponente() 87 public void Intentar_agendar_evento_sin_ponente()
77 { 88 {
78 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 89 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
79 90
80 var r = agenda.Agendar("Van para publicar", Guid.Empty, DateTime.Now, 91 var fechaInicio = DateTime.Now.ToUniversalTime();
81 urlInvitacion, TipoEvento.Van); 92 var fechaTermino = fechaInicio.AddHours(2);
93 var r = agenda.Agendar("Van para publicar", Guid.Empty, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van);
82 94
83 Assert.IsFalse(r.Succeful); 95 Assert.IsFalse(r.Succeful);
84 } 96 }
85 97
86 [Test] 98 [Test]
92 var repository = new Mock<IEventoRepository>(); 104 var repository = new Mock<IEventoRepository>();
93 105
94 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), 106 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
95 repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); 107 repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
96 108
97 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.Now, 109 var fechaInicio = DateTime.Now.ToUniversalTime();
98 urlInvitacion, TipoEvento.Van); 110 var fechaTermino = fechaInicio.AddHours(2);
111 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
112 urlInvitacion, TipoEvento.Van);
99 113
100 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); 114 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
101 publicador2.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); 115 publicador2.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
102 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1)); 116 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1));
103 } 117 }
107 { 121 {
108 var publicador = new Mock<IPublicador>(); 122 var publicador = new Mock<IPublicador>();
109 123
110 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 124 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
111 125
112 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.Now, 126 var fechaInicio = DateTime.Now.ToUniversalTime();
113 urlInvitacion, TipoEvento.Van); 127 var fechaTermino = fechaInicio.AddHours(2);
128 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
129 urlInvitacion, TipoEvento.Van);
114 130
115 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count); 131 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
116 132
117 var eventos = agenda.GetEventosActivos(); 133 var eventos = agenda.GetEventosActivos();
118 Assert.AreEqual(1, eventos.Count); 134 Assert.AreEqual(1, eventos.Count);
129 { 145 {
130 var repository = DefaultEventoRepository; 146 var repository = DefaultEventoRepository;
131 var publicador = new Mock<IPublicador>(); 147 var publicador = new Mock<IPublicador>();
132 148
133 var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 149 var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
134 150 var fechaInicioVanPublicar = DateTime.Now.ToUniversalTime();
135 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.Now, 151 var fechaTerminoVanPublicar = fechaInicioVanPublicar.AddHours(2);
136 urlInvitacion, TipoEvento.Van); 152
153 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicioVanPublicar,
154 fechaTerminoVanPublicar,
155 urlInvitacion, TipoEvento.Van);
137 156
138 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); 157 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
139 158
140 var evento = repository.GetActivos().First(); 159 var evento = repository.GetActivos().First();
141 Assert.AreNotEqual(Guid.Empty, evento.Id); 160 Assert.AreNotEqual(Guid.Empty, evento.Id);
142 Assert.IsNotNull(evento.Fecha); 161 Assert.IsNotNull(evento.FechaInicio);
143 162
144 DateTime fecha = evento.Fecha.Value.AddDays(7); 163 var fechaInicio = evento.FechaInicio.Value.AddDays(7);
145 agenda.ModificarEvento(evento.Id, "otro titulo", TestsHelper.GetOrCreatePonente("otro ponente"), fecha, urlInvitacion); 164 var fechaTermino = fechaInicio.AddHours(2);
165 agenda.ModificarEvento(evento.Id, "otro titulo", TestsHelper.GetOrCreatePonente("otro ponente"), fechaInicio,
166 fechaTermino, urlInvitacion);
146 167
147 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2)); 168 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(2));
148 169
149 evento = repository.GetActivos().First(); 170 evento = repository.GetActivos().First();
150 Assert.AreEqual("otro titulo", evento.Titulo); 171 Assert.AreEqual("otro titulo", evento.Titulo);
151 Assert.AreEqual("otro ponente", evento.Ponente.Nombre); 172 Assert.AreEqual("otro ponente", evento.Ponente.Nombre);
152 Assert.AreEqual(fecha, evento.Fecha); 173 Assert.AreEqual(fechaInicio, evento.FechaInicio);
153 174
154 var idEventoNoExistente = new Guid("99999999999999999999999999999999"); 175 var idEventoNoExistente = new Guid("99999999999999999999999999999999");
155 Assert.Throws<EventoNotFoundException>( 176 Assert.Throws<EventoNotFoundException>(
156 () => agenda.ModificarEvento(idEventoNoExistente, "algún título", TestsHelper.GetOrCreatePonente("un ponente"), DateTime.Now, urlInvitacion)); 177 () =>
178 agenda.ModificarEvento(idEventoNoExistente, "algún título", TestsHelper.GetOrCreatePonente("un ponente"),
179 DateTime.Now, DateTime.Now.AddHours(2), urlInvitacion));
157 } 180 }
158 181
159 [Test, Ignore("Por ahora no existe el concepto de recordar")] 182 [Test, Ignore("Por ahora no existe el concepto de recordar")]
160 public void Agendar_y_recordar_evento() 183 public void Agendar_y_recordar_evento()
161 { 184 {
163 var publicador2 = new Mock<IPublicador>(); 186 var publicador2 = new Mock<IPublicador>();
164 187
165 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), 188 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
166 DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 189 DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
167 190
168 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.Now, 191 var fechaInicio = DateTime.Now.ToUniversalTime();
169 urlInvitacion, TipoEvento.Van); 192 var fechaTermino = fechaInicio.AddHours(2);
193 agenda.Agendar("Van para publicar", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
194 urlInvitacion, TipoEvento.Van);
170 195
171 var van = agenda.GetEventosActivos().Single(v => v.Titulo == "Van para publicar"); 196 var van = agenda.GetEventosActivos().Single(v => v.Titulo == "Van para publicar");
172 //agenda.Recordar(van.Id); 197 //agenda.Recordar(van.Id);
173 198
174 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); 199 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1));
190 Assert.AreEqual(1, agenda.GetEventosActivos().Count); 215 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
191 216
192 var publicado = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).First(); 217 var publicado = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).First();
193 Assert.AreEqual(1, publicado.Tracks.Count()); 218 Assert.AreEqual(1, publicado.Tracks.Count());
194 219
195 agenda.ModificarEvento(publicado.Id, "Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.Today.AddDays(5), urlInvitacion); 220 var fechaInicio = DateTime.Today.AddDays(5).ToUniversalTime();
221 var fechaTermino = fechaInicio.AddHours(2);
222 agenda.ModificarEvento(publicado.Id, "Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio,
223 fechaTermino, urlInvitacion);
196 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count); 224 Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
197 Assert.AreEqual(1, agenda.GetEventosActivos(EventoAgendadoState.GetInstance()).Count); 225 Assert.AreEqual(1, agenda.GetEventosActivos(EventoAgendadoState.GetInstance()).Count);
198 Assert.AreEqual(1, agenda.GetEventosActivos().Count); 226 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
199 227
200 var agendado = agenda.GetEventosActivos().First(); 228 var agendado = agenda.GetEventosActivos().First();
224 public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente() 252 public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente()
225 { 253 {
226 var publicador1 = new Mock<IPublicador>(); 254 var publicador1 = new Mock<IPublicador>();
227 255
228 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 256 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
229 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 257 var fechaInicio = DateTime.MinValue.ToUniversalTime();
258 var fechatermino = fechaInicio.AddHours(2);
259 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechatermino, urlInvitacion,
260 TipoEvento.Van);
230 261
231 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 262 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
232 263
233 Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.Estado); 264 Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.Estado);
234 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1); 265 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1);
238 public void Al_cancelar_un_evento_debe_quedar_con_estado_EventoCanceladoState_y_debe_generar_el_track_correspondiente() 269 public void Al_cancelar_un_evento_debe_quedar_con_estado_EventoCanceladoState_y_debe_generar_el_track_correspondiente()
239 { 270 {
240 var publicador1 = new Mock<IPublicador>(); 271 var publicador1 = new Mock<IPublicador>();
241 272
242 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 273 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
243 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 274 var fechaInicio = DateTime.MinValue.ToUniversalTime();
275 var fechaTermino = fechaInicio.AddHours(2);
276 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
277 urlInvitacion, TipoEvento.Van);
244 278
245 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 279 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
246 280
247 agenda.Cancelar(evento.Id); 281 agenda.Cancelar(evento.Id);
248 282
255 public void Al_descartar_un_evento_debe_quedar_con_estado_EventoDescartadoState_y_debe_generar_el_track_correspondiente() 289 public void Al_descartar_un_evento_debe_quedar_con_estado_EventoDescartadoState_y_debe_generar_el_track_correspondiente()
256 { 290 {
257 var publicador1 = new Mock<IPublicador>(); 291 var publicador1 = new Mock<IPublicador>();
258 292
259 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 293 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
260 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 294 var fechaInicio = DateTime.MinValue.ToUniversalTime();
295 var fechaTermino = fechaInicio.AddHours(2);
296 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
297 urlInvitacion, TipoEvento.Van);
261 298
262 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 299 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
263 300
264 agenda.Cancelar(evento.Id); 301 agenda.Cancelar(evento.Id);
265 agenda.Descartar(evento.Id); 302 agenda.Descartar(evento.Id);
273 public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente() 310 public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente()
274 { 311 {
275 var publicador1 = new Mock<IPublicador>(); 312 var publicador1 = new Mock<IPublicador>();
276 313
277 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 314 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
278 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 315 var fechaInicio = DateTime.MinValue.ToUniversalTime();
316 var fechaTermino = fechaInicio.AddHours(2);
317 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
318 urlInvitacion, TipoEvento.Van);
279 319
280 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 320 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
281 321
282 agenda.Confirmar(evento.Id); 322 agenda.Confirmar(evento.Id);
283 323
291 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; 331 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
292 var duracion = new TimeSpan(1, 34, 00); 332 var duracion = new TimeSpan(1, 34, 00);
293 var publicador1 = new Mock<IPublicador>(); 333 var publicador1 = new Mock<IPublicador>();
294 334
295 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 335 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
296 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 336 var fechaInicio = DateTime.MinValue.ToUniversalTime();
337 var fechaTermino = fechaInicio.AddHours(2);
338 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
339 TipoEvento.Van);
297 340
298 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 341 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
299 342
300 agenda.Confirmar(evento.Id); 343 agenda.Confirmar(evento.Id);
301 agenda.Publicar(evento.Id, 1, urlWiki, duracion); 344 agenda.Publicar(evento.Id, 1, urlWiki, duracion);
310 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; 353 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
311 var duracion = new TimeSpan(1, 34, 00); 354 var duracion = new TimeSpan(1, 34, 00);
312 var publicador1 = new Mock<IPublicador>(); 355 var publicador1 = new Mock<IPublicador>();
313 356
314 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 357 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
315 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 358 var fechaInicio = DateTime.MinValue.ToUniversalTime();
359 var fechaTermino = fechaInicio.AddHours(2);
360 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
361 TipoEvento.Van);
316 362
317 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 363 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
318 agenda.Confirmar(evento.Id); 364 agenda.Confirmar(evento.Id);
319 365
320 agenda.Publicar(evento.Id, 71, urlWiki, duracion); 366 agenda.Publicar(evento.Id, 71, urlWiki, duracion);
364 { 410 {
365 var duracion = new TimeSpan(1, 34, 00); 411 var duracion = new TimeSpan(1, 34, 00);
366 var publicador1 = new Mock<IPublicador>(); 412 var publicador1 = new Mock<IPublicador>();
367 413
368 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 414 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
369 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 415 var fechaInicio = DateTime.MinValue.ToUniversalTime();
416 var fechaTermino = fechaInicio.AddHours(2);
417 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
418 urlInvitacion, TipoEvento.Van);
370 419
371 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 420 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
372 agenda.Confirmar(evento.Id); 421 agenda.Confirmar(evento.Id);
373 422
374 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; 423 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
382 { 431 {
383 var duracion = new TimeSpan(1, 34, 00); 432 var duracion = new TimeSpan(1, 34, 00);
384 var publicador1 = new Mock<IPublicador>(); 433 var publicador1 = new Mock<IPublicador>();
385 434
386 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 435 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
387 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 436 var fechaInicio = DateTime.MinValue.ToUniversalTime();
437 var fechaTermino = fechaInicio.AddHours(2);
438 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino,
439 urlInvitacion, TipoEvento.Van);
388 440
389 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 441 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
390 agenda.Confirmar(evento.Id); 442 agenda.Confirmar(evento.Id);
391 443
392 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, "", duracion)); 444 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, "", duracion));
398 { 450 {
399 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; 451 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
400 var publicador1 = new Mock<IPublicador>(); 452 var publicador1 = new Mock<IPublicador>();
401 453
402 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); 454 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
403 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); 455 var fechaInicio = DateTime.MinValue.ToUniversalTime();
456 var fechaTermino = fechaInicio.AddHours(2);
457 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion,
458 TipoEvento.Van);
404 459
405 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); 460 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5");
406 agenda.Confirmar(evento.Id); 461 agenda.Confirmar(evento.Id);
407 462
408 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 0))); 463 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 0)));