Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 169:5c94b052d838
Ticket 153: UI de Publicar. Faltaba la DuraciĆ³n del evento en la capa de negocios.
author | juanjose.montesdeocaarbos |
---|---|
date | Sat, 06 Aug 2011 12:41:46 -0300 |
parents | c1062de96845 |
children | 2d02adb79322 |
comparison
equal
deleted
inserted
replaced
168:97e51ddeeb58 | 169:5c94b052d838 |
---|---|
286 } | 286 } |
287 | 287 |
288 [Test] | 288 [Test] |
289 public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() | 289 public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() |
290 { | 290 { |
291 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | 291 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; |
292 var duracion = new TimeSpan(1, 34, 00); | |
292 var publicador1 = new Mock<IPublicador>(); | 293 var publicador1 = new Mock<IPublicador>(); |
293 | 294 |
294 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 295 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
295 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); | 296 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
296 | 297 |
297 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); | 298 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); |
298 | 299 |
299 agenda.Confirmar(evento.Id); | 300 agenda.Confirmar(evento.Id); |
300 agenda.Publicar(evento.Id, 1, urlWiki); | 301 agenda.Publicar(evento.Id, 1, urlWiki, duracion); |
301 | 302 |
302 Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.Estado); | 303 Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.Estado); |
303 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1); | 304 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1); |
304 } | 305 } |
305 | 306 |
306 [Test] | 307 [Test] |
307 public void Al_publicar_un_evento_debe_asignarse_el_nro_de_reunion_y_la_url_de_la_wiki() | 308 public void Al_publicar_un_evento_debe_asignarse_el_nro_de_reunion_la_url_de_la_wiki_y_la_duracion() |
308 { | 309 { |
310 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | |
311 var duracion = new TimeSpan(1, 34, 00); | |
309 var publicador1 = new Mock<IPublicador>(); | 312 var publicador1 = new Mock<IPublicador>(); |
310 | 313 |
311 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 314 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
312 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); | 315 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
313 | 316 |
314 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); | 317 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); |
315 agenda.Confirmar(evento.Id); | 318 agenda.Confirmar(evento.Id); |
316 | 319 |
317 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | 320 agenda.Publicar(evento.Id, 71, urlWiki, duracion); |
318 agenda.Publicar(evento.Id, 71, urlWiki); | |
319 | 321 |
320 Assert.AreEqual(71, evento.NumeroOrden); | 322 Assert.AreEqual(71, evento.NumeroOrden); |
321 Assert.AreEqual(urlWiki, evento.UrlWiki); | 323 Assert.AreEqual(urlWiki, evento.UrlWiki); |
324 Assert.AreEqual(duracion, evento.Duracion); | |
322 } | 325 } |
323 | 326 |
324 [Test] | 327 [Test] |
325 [ExpectedException(typeof(AccionNoSoportadaException))] | 328 [ExpectedException(typeof(AccionNoSoportadaException))] |
326 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion() | 329 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion() |
340 | 343 |
341 [Test] | 344 [Test] |
342 [ExpectedException(typeof(AccionNoSoportadaException))] | 345 [ExpectedException(typeof(AccionNoSoportadaException))] |
343 public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion() | 346 public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion() |
344 { | 347 { |
348 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | |
349 var duracion = new TimeSpan(1, 34, 00); | |
345 var publicador1 = new Mock<IPublicador>(); | 350 var publicador1 = new Mock<IPublicador>(); |
346 | 351 |
347 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 352 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
348 agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van); | 353 agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van); |
349 | 354 |
350 var evento = | 355 var evento = |
351 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); | 356 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); |
352 | 357 |
353 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); | 358 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); |
354 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | 359 agenda.Publicar(evento.Id, 1, urlWiki, duracion); |
355 agenda.Publicar(evento.Id, 1, urlWiki); | |
356 } | 360 } |
357 | 361 |
358 [Test] | 362 [Test] |
359 public void Publicar_Evento_Con_NroOrden_Invalido_Genera_Excepcion() | 363 public void Publicar_Evento_Con_NroOrden_Invalido_Genera_Excepcion() |
360 { | 364 { |
365 var duracion = new TimeSpan(1, 34, 00); | |
361 var publicador1 = new Mock<IPublicador>(); | 366 var publicador1 = new Mock<IPublicador>(); |
362 | 367 |
363 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 368 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
364 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); | 369 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
365 | 370 |
366 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); | 371 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); |
367 agenda.Confirmar(evento.Id); | 372 agenda.Confirmar(evento.Id); |
368 | 373 |
369 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | 374 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; |
370 | 375 |
371 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 0, urlWiki)); | 376 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 0, urlWiki, duracion)); |
372 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, -1, urlWiki)); | 377 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, -1, urlWiki, duracion)); |
373 } | 378 } |
374 | 379 |
375 [Test] | 380 [Test] |
376 public void Publicar_Evento_Con_Url_Invalida_Genera_Excepcion() | 381 public void Publicar_Evento_Con_Url_Invalida_Genera_Excepcion() |
377 { | 382 { |
383 var duracion = new TimeSpan(1, 34, 00); | |
378 var publicador1 = new Mock<IPublicador>(); | 384 var publicador1 = new Mock<IPublicador>(); |
379 | 385 |
380 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 386 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
381 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); | 387 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
382 | 388 |
383 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); | 389 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); |
384 agenda.Confirmar(evento.Id); | 390 agenda.Confirmar(evento.Id); |
385 | 391 |
386 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, "")); | 392 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, "", duracion)); |
387 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, " ")); | 393 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, " ", duracion)); |
388 } | 394 } |
389 } | 395 |
396 [Test] | |
397 public void Publicar_Evento_Con_Duracion_Invalida_Genera_Excepcion() | |
398 { | |
399 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | |
400 var publicador1 = new Mock<IPublicador>(); | |
401 | |
402 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | |
403 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); | |
404 | |
405 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); | |
406 agenda.Confirmar(evento.Id); | |
407 | |
408 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 0))); | |
409 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 59))); | |
410 } | |
411 } | |
390 } | 412 } |