comparison Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 274:72a96459f910

Ticket #123: Patrocinadores de las vans.
author juanjose.montesdeocaarbos
date Wed, 30 Nov 2011 08:56:01 -0300
parents 59f8fa2f835e
children bc8dfbde0523
comparison
equal deleted inserted replaced
273:a7420f05716a 274:72a96459f910
27 var publicador = new Mock<IPublicador>(); 27 var publicador = new Mock<IPublicador>();
28 var repository = new Mock<IEventoRepository>(); 28 var repository = new Mock<IEventoRepository>();
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 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>()); 31 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
32 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); 32 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
33 33
34 var fechaInicio = DateTime.Now.ToUniversalTime(); 34 var fechaInicio = DateTime.Now.ToUniversalTime();
35 var fechaTermino = fechaInicio.AddHours(2); 35 var fechaTermino = fechaInicio.AddHours(2);
36 Assert.Throws<Exception>( 36 Assert.Throws<Exception>(
37 () => 37 () =>
49 IdentityContext.Init(null, new PersonaRepository()); 49 IdentityContext.Init(null, new PersonaRepository());
50 50
51 var publicador = new Mock<IPublicador>(); 51 var publicador = new Mock<IPublicador>();
52 var repository = new Mock<IEventoRepository>(); 52 var repository = new Mock<IEventoRepository>();
53 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>()); 53 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
54 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); 54 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
55 55
56 var fechaInicio = DateTime.Now.ToUniversalTime(); 56 var fechaInicio = DateTime.Now.ToUniversalTime();
57 var fechaTermino = fechaInicio.AddHours(2); 57 var fechaTermino = fechaInicio.AddHours(2);
58 Assert.Throws<IdentityContextNotConfiguredException>( 58 Assert.Throws<IdentityContextNotConfiguredException>(
59 () => 59 () =>
68 SetCurrentUser(null, null); 68 SetCurrentUser(null, null);
69 69
70 var publicador = new Mock<IPublicador>(); 70 var publicador = new Mock<IPublicador>();
71 var repository = new Mock<IEventoRepository>(); 71 var repository = new Mock<IEventoRepository>();
72 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>()); 72 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
73 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); 73 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
74 74
75 var fechaInicio = DateTime.Now.ToUniversalTime(); 75 var fechaInicio = DateTime.Now.ToUniversalTime();
76 var fechaTermino = fechaInicio.AddHours(2); 76 var fechaTermino = fechaInicio.AddHours(2);
77 Assert.Throws<UsuarioNoAutenticadoException>( 77 Assert.Throws<UsuarioNoAutenticadoException>(
78 () => 78 () =>
84 } 84 }
85 85
86 [Test] 86 [Test]
87 public void Intentar_agendar_van_sin_ponentes_null() 87 public void Intentar_agendar_van_sin_ponentes_null()
88 { 88 {
89 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 89 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
90 90
91 var fechaInicio = DateTime.Now.ToUniversalTime(); 91 var fechaInicio = DateTime.Now.ToUniversalTime();
92 var fechaTermino = fechaInicio.AddHours(2); 92 var fechaTermino = fechaInicio.AddHours(2);
93 var r = agenda.Agendar("Van para publicar", null, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van); 93 var r = agenda.Agendar("Van para publicar", null, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Van);
94 94
96 } 96 }
97 97
98 [Test] 98 [Test]
99 public void Intentar_agendar_van_sin_ponentes_empty() 99 public void Intentar_agendar_van_sin_ponentes_empty()
100 { 100 {
101 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 101 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
102 102
103 var fechaInicio = DateTime.Now.ToUniversalTime(); 103 var fechaInicio = DateTime.Now.ToUniversalTime();
104 var fechaTermino = fechaInicio.AddHours(2); 104 var fechaTermino = fechaInicio.AddHours(2);
105 var r = agenda.Agendar("Van para publicar", new[] {Guid.Empty}, fechaInicio, fechaTermino, urlInvitacion, 105 var r = agenda.Agendar("Van para publicar", new[] {Guid.Empty}, fechaInicio, fechaTermino, urlInvitacion,
106 TipoEvento.Van); 106 TipoEvento.Van);
109 } 109 }
110 110
111 [Test] 111 [Test]
112 public void Agendar_cafe_sin_ponente() 112 public void Agendar_cafe_sin_ponente()
113 { 113 {
114 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 114 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
115 115
116 var fechaInicio = DateTime.Now.ToUniversalTime(); 116 var fechaInicio = DateTime.Now.ToUniversalTime();
117 var fechaTermino = fechaInicio.AddHours(2); 117 var fechaTermino = fechaInicio.AddHours(2);
118 var r = agenda.Agendar("Cafe para publicar", new[] { Guid.Empty }, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Cafe); 118 var r = agenda.Agendar("Cafe para publicar", new[] { Guid.Empty }, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.Cafe);
119 119
122 } 122 }
123 123
124 [Test] 124 [Test]
125 public void Agendar_grupo_de_estudio_sin_ponente() 125 public void Agendar_grupo_de_estudio_sin_ponente()
126 { 126 {
127 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 127 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
128 128
129 var fechaInicio = DateTime.Now.ToUniversalTime(); 129 var fechaInicio = DateTime.Now.ToUniversalTime();
130 var fechaTermino = fechaInicio.AddHours(2); 130 var fechaTermino = fechaInicio.AddHours(2);
131 var r = agenda.Agendar("GrupoEstudio para publicar", new[] { Guid.Empty }, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.GrupoEstudio); 131 var r = agenda.Agendar("GrupoEstudio para publicar", new[] { Guid.Empty }, fechaInicio, fechaTermino, urlInvitacion, TipoEvento.GrupoEstudio);
132 132
140 var publicador2 = new Mock<IPublicador>(); 140 var publicador2 = new Mock<IPublicador>();
141 141
142 var repository = new Mock<IEventoRepository>(); 142 var repository = new Mock<IEventoRepository>();
143 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>()); 143 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
144 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), 144 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
145 repository.Object, DefaultPersonaRepository); 145 repository.Object, DefaultPersonaRepository,
146 DefaultPatrocinadorRepository);
146 147
147 var fechaInicio = DateTime.Now.ToUniversalTime(); 148 var fechaInicio = DateTime.Now.ToUniversalTime();
148 var fechaTermino = fechaInicio.AddHours(2); 149 var fechaTermino = fechaInicio.AddHours(2);
149 agenda.Agendar("Van para publicar", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 150 agenda.Agendar("Van para publicar", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
150 urlInvitacion, TipoEvento.Van); 151 urlInvitacion, TipoEvento.Van);
157 [Test] 158 [Test]
158 public void Agendar_evento_correctamente() 159 public void Agendar_evento_correctamente()
159 { 160 {
160 var publicador = new Mock<IPublicador>(); 161 var publicador = new Mock<IPublicador>();
161 162
162 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository); 163 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
163 164
164 var fechaInicio = DateTime.Now.ToUniversalTime(); 165 var fechaInicio = DateTime.Now.ToUniversalTime();
165 var fechaTermino = fechaInicio.AddHours(2); 166 var fechaTermino = fechaInicio.AddHours(2);
166 agenda.Agendar("Van para publicar",new[]{ TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 167 agenda.Agendar("Van para publicar",new[]{ TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
167 urlInvitacion, TipoEvento.Van); 168 urlInvitacion, TipoEvento.Van);
178 } 179 }
179 180
180 [Test] 181 [Test]
181 public void Agendar_evento_con_multiples_ponentes() 182 public void Agendar_evento_con_multiples_ponentes()
182 { 183 {
183 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); 184 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
184 185
185 var fechaInicio = DateTime.Now.ToUniversalTime(); 186 var fechaInicio = DateTime.Now.ToUniversalTime();
186 var fechaTermino = fechaInicio.AddHours(2); 187 var fechaTermino = fechaInicio.AddHours(2);
187 188
188 agenda.Agendar("Identity Providers, oAuth y Autenticaciones on-line", 189 agenda.Agendar("Identity Providers, oAuth y Autenticaciones on-line",
207 public void Agendar_y_modificar_evento() 208 public void Agendar_y_modificar_evento()
208 { 209 {
209 var repository = DefaultEventoRepository; 210 var repository = DefaultEventoRepository;
210 var publicador = new Mock<IPublicador>(); 211 var publicador = new Mock<IPublicador>();
211 212
212 var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository); 213 var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
213 var fechaInicioVanPublicar = DateTime.Now.ToUniversalTime(); 214 var fechaInicioVanPublicar = DateTime.Now.ToUniversalTime();
214 var fechaTerminoVanPublicar = fechaInicioVanPublicar.AddHours(2); 215 var fechaTerminoVanPublicar = fechaInicioVanPublicar.AddHours(2);
215 216
216 agenda.Agendar("Van para publicar", new[] {TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicioVanPublicar, fechaTerminoVanPublicar, urlInvitacion, TipoEvento.Van); 217 agenda.Agendar("Van para publicar", new[] {TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicioVanPublicar, fechaTerminoVanPublicar, urlInvitacion, TipoEvento.Van);
217 218
245 { 246 {
246 var publicador1 = new Mock<IPublicador>(); 247 var publicador1 = new Mock<IPublicador>();
247 var publicador2 = new Mock<IPublicador>(); 248 var publicador2 = new Mock<IPublicador>();
248 249
249 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), 250 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
250 DefaultEventoRepository, DefaultPersonaRepository); 251 DefaultEventoRepository, DefaultPersonaRepository,
252 DefaultPatrocinadorRepository);
251 253
252 var fechaInicio = DateTime.Now.ToUniversalTime(); 254 var fechaInicio = DateTime.Now.ToUniversalTime();
253 var fechaTermino = fechaInicio.AddHours(2); 255 var fechaTermino = fechaInicio.AddHours(2);
254 agenda.Agendar("Van para publicar", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 256 agenda.Agendar("Van para publicar", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
255 urlInvitacion, TipoEvento.Van); 257 urlInvitacion, TipoEvento.Van);
267 { 269 {
268 var publicador1 = new Mock<IPublicador>(); 270 var publicador1 = new Mock<IPublicador>();
269 var publicador2 = new Mock<IPublicador>(); 271 var publicador2 = new Mock<IPublicador>();
270 272
271 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), 273 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }),
272 DefaultEventoRepository, DefaultPersonaRepository); 274 DefaultEventoRepository, DefaultPersonaRepository,
275 DefaultPatrocinadorRepository);
273 276
274 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van); 277 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van);
275 Assert.AreEqual(1, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count); 278 Assert.AreEqual(1, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count);
276 Assert.AreEqual(1, agenda.GetEventosActivos().Count); 279 Assert.AreEqual(1, agenda.GetEventosActivos().Count);
277 280
297 [Test] 300 [Test]
298 public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente() 301 public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente()
299 { 302 {
300 var publicador1 = new Mock<IPublicador>(); 303 var publicador1 = new Mock<IPublicador>();
301 304
302 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 305 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
303 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van); 306 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van);
304 307
305 var evento = 308 var evento =
306 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); 309 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5");
307 310
312 [Test] 315 [Test]
313 public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente() 316 public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente()
314 { 317 {
315 var publicador1 = new Mock<IPublicador>(); 318 var publicador1 = new Mock<IPublicador>();
316 319
317 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 320 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
318 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 321 var fechaInicio = DateTime.MinValue.ToUniversalTime();
319 var fechatermino = fechaInicio.AddHours(2); 322 var fechatermino = fechaInicio.AddHours(2);
320 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechatermino, urlInvitacion, 323 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechatermino, urlInvitacion,
321 TipoEvento.Van); 324 TipoEvento.Van);
322 325
329 [Test] 332 [Test]
330 public void Al_cancelar_un_evento_debe_quedar_con_estado_EventoCanceladoState_y_debe_generar_el_track_correspondiente() 333 public void Al_cancelar_un_evento_debe_quedar_con_estado_EventoCanceladoState_y_debe_generar_el_track_correspondiente()
331 { 334 {
332 var publicador1 = new Mock<IPublicador>(); 335 var publicador1 = new Mock<IPublicador>();
333 336
334 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 337 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
335 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 338 var fechaInicio = DateTime.MinValue.ToUniversalTime();
336 var fechaTermino = fechaInicio.AddHours(2); 339 var fechaTermino = fechaInicio.AddHours(2);
337 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 340 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
338 urlInvitacion, TipoEvento.Van); 341 urlInvitacion, TipoEvento.Van);
339 342
349 [Test] 352 [Test]
350 public void Al_descartar_un_evento_debe_quedar_con_estado_EventoDescartadoState_y_debe_generar_el_track_correspondiente() 353 public void Al_descartar_un_evento_debe_quedar_con_estado_EventoDescartadoState_y_debe_generar_el_track_correspondiente()
351 { 354 {
352 var publicador1 = new Mock<IPublicador>(); 355 var publicador1 = new Mock<IPublicador>();
353 356
354 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 357 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
355 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 358 var fechaInicio = DateTime.MinValue.ToUniversalTime();
356 var fechaTermino = fechaInicio.AddHours(2); 359 var fechaTermino = fechaInicio.AddHours(2);
357 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 360 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
358 urlInvitacion, TipoEvento.Van); 361 urlInvitacion, TipoEvento.Van);
359 362
370 [Test] 373 [Test]
371 public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente() 374 public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente()
372 { 375 {
373 var publicador1 = new Mock<IPublicador>(); 376 var publicador1 = new Mock<IPublicador>();
374 377
375 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 378 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
376 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 379 var fechaInicio = DateTime.MinValue.ToUniversalTime();
377 var fechaTermino = fechaInicio.AddHours(2); 380 var fechaTermino = fechaInicio.AddHours(2);
378 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 381 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
379 urlInvitacion, TipoEvento.Van); 382 urlInvitacion, TipoEvento.Van);
380 383
391 { 394 {
392 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; 395 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
393 var duracion = new TimeSpan(1, 34, 00); 396 var duracion = new TimeSpan(1, 34, 00);
394 var publicador1 = new Mock<IPublicador>(); 397 var publicador1 = new Mock<IPublicador>();
395 398
396 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 399 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
397 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 400 var fechaInicio = DateTime.MinValue.ToUniversalTime();
398 var fechaTermino = fechaInicio.AddHours(2); 401 var fechaTermino = fechaInicio.AddHours(2);
399 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion, 402 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion,
400 TipoEvento.Van); 403 TipoEvento.Van);
401 404
413 { 416 {
414 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; 417 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
415 var duracion = new TimeSpan(1, 34, 00); 418 var duracion = new TimeSpan(1, 34, 00);
416 var publicador1 = new Mock<IPublicador>(); 419 var publicador1 = new Mock<IPublicador>();
417 420
418 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 421 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
419 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 422 var fechaInicio = DateTime.MinValue.ToUniversalTime();
420 var fechaTermino = fechaInicio.AddHours(2); 423 var fechaTermino = fechaInicio.AddHours(2);
421 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion, 424 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion,
422 TipoEvento.Van); 425 TipoEvento.Van);
423 426
435 //[ExpectedException(typeof(AccionNoSoportadaException))] 438 //[ExpectedException(typeof(AccionNoSoportadaException))]
436 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion() 439 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion()
437 { 440 {
438 var publicador1 = new Mock<IPublicador>(); 441 var publicador1 = new Mock<IPublicador>();
439 442
440 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 443 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
441 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van); 444 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van);
442 445
443 var evento = 446 var evento =
444 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); 447 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5");
445 448
454 { 457 {
455 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; 458 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
456 var duracion = new TimeSpan(1, 34, 00); 459 var duracion = new TimeSpan(1, 34, 00);
457 var publicador1 = new Mock<IPublicador>(); 460 var publicador1 = new Mock<IPublicador>();
458 461
459 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 462 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
460 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van); 463 agenda.Proponer("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, urlInvitacion, TipoEvento.Van);
461 464
462 var evento = 465 var evento =
463 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); 466 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5");
464 467
470 public void Publicar_Evento_Con_NroOrden_Invalido_Genera_Excepcion() 473 public void Publicar_Evento_Con_NroOrden_Invalido_Genera_Excepcion()
471 { 474 {
472 var duracion = new TimeSpan(1, 34, 00); 475 var duracion = new TimeSpan(1, 34, 00);
473 var publicador1 = new Mock<IPublicador>(); 476 var publicador1 = new Mock<IPublicador>();
474 477
475 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 478 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
476 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 479 var fechaInicio = DateTime.MinValue.ToUniversalTime();
477 var fechaTermino = fechaInicio.AddHours(2); 480 var fechaTermino = fechaInicio.AddHours(2);
478 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 481 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
479 urlInvitacion, TipoEvento.Van); 482 urlInvitacion, TipoEvento.Van);
480 483
495 public void Publicar_Evento_Con_Url_Invalida_Genera_Excepcion() 498 public void Publicar_Evento_Con_Url_Invalida_Genera_Excepcion()
496 { 499 {
497 var duracion = new TimeSpan(1, 34, 00); 500 var duracion = new TimeSpan(1, 34, 00);
498 var publicador1 = new Mock<IPublicador>(); 501 var publicador1 = new Mock<IPublicador>();
499 502
500 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 503 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
501 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 504 var fechaInicio = DateTime.MinValue.ToUniversalTime();
502 var fechaTermino = fechaInicio.AddHours(2); 505 var fechaTermino = fechaInicio.AddHours(2);
503 agenda.Agendar("Html 5", new[] {TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, 506 agenda.Agendar("Html 5", new[] {TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino,
504 urlInvitacion, TipoEvento.Van); 507 urlInvitacion, TipoEvento.Van);
505 508
518 public void Publicar_Evento_Con_Duracion_Invalida_Genera_Excepcion() 521 public void Publicar_Evento_Con_Duracion_Invalida_Genera_Excepcion()
519 { 522 {
520 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; 523 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx";
521 var publicador1 = new Mock<IPublicador>(); 524 var publicador1 = new Mock<IPublicador>();
522 525
523 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 526 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
524 var fechaInicio = DateTime.MinValue.ToUniversalTime(); 527 var fechaInicio = DateTime.MinValue.ToUniversalTime();
525 var fechaTermino = fechaInicio.AddHours(2); 528 var fechaTermino = fechaInicio.AddHours(2);
526 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion, 529 agenda.Agendar("Html 5", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, fechaTermino, urlInvitacion,
527 TipoEvento.Van); 530 TipoEvento.Van);
528 531
539 542
540 [Test] 543 [Test]
541 public void Verificar_que_no_se_puedan_agendar_dos_eventos_para_el_mismo_intervalo() 544 public void Verificar_que_no_se_puedan_agendar_dos_eventos_para_el_mismo_intervalo()
542 { 545 {
543 var publicador1 = new Mock<IPublicador>(); 546 var publicador1 = new Mock<IPublicador>();
544 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 547 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
545 var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00); 548 var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00);
546 var fechaTermino = fechaInicio.AddHours(2); 549 var fechaTermino = fechaInicio.AddHours(2);
547 550
548 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, 551 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio,
549 fechaTermino, string.Empty, TipoEvento.Van); 552 fechaTermino, string.Empty, TipoEvento.Van);
590 593
591 [Test] 594 [Test]
592 public void Verificar_que_no_se_modifique_una_propuesta_de_VAN_al_intentar_agendarla_con_fechas_usadas() 595 public void Verificar_que_no_se_modifique_una_propuesta_de_VAN_al_intentar_agendarla_con_fechas_usadas()
593 { 596 {
594 var publicador1 = new Mock<IPublicador>(); 597 var publicador1 = new Mock<IPublicador>();
595 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 598 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
596 var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00); 599 var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00);
597 var fechaTermino = fechaInicio.AddHours(2); 600 var fechaTermino = fechaInicio.AddHours(2);
598 601
599 agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, 602 agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio,
600 fechaTermino, string.Empty, TipoEvento.Van); 603 fechaTermino, string.Empty, TipoEvento.Van);
617 620
618 [Test] 621 [Test]
619 public void Verificar_que_no_sea_posible_crear_dos_van_diferentes_con_igual_titulo() 622 public void Verificar_que_no_sea_posible_crear_dos_van_diferentes_con_igual_titulo()
620 { 623 {
621 var publicador1 = new Mock<IPublicador>(); 624 var publicador1 = new Mock<IPublicador>();
622 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); 625 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
623 var fechaInicio = new DateTime(2011, 8, 20, 18, 00, 00); 626 var fechaInicio = new DateTime(2011, 8, 20, 18, 00, 00);
624 var fechaTermino = fechaInicio.AddHours(2); 627 var fechaTermino = fechaInicio.AddHours(2);
625 628
626 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio, 629 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", new[]{TestsHelper.GetOrCreatePonente("jjmontes")}, fechaInicio,
627 fechaTermino, string.Empty, TipoEvento.Van); 630 fechaTermino, string.Empty, TipoEvento.Van);