Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 195:4d0b2552edb2
Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollarĂ¡ el evento actual.
author | juanjose.montesdeocaarbos |
---|---|
date | Sat, 13 Aug 2011 01:01:54 -0300 |
parents | 03cf6a377ee8 |
children | bb7a60c28d8d |
comparison
equal
deleted
inserted
replaced
194:21ad1c337c94 | 195:4d0b2552edb2 |
---|---|
26 { | 26 { |
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 | 31 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>()); |
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 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>( |
100 { | 100 { |
101 var publicador1 = new Mock<IPublicador>(); | 101 var publicador1 = new Mock<IPublicador>(); |
102 var publicador2 = new Mock<IPublicador>(); | 102 var publicador2 = new Mock<IPublicador>(); |
103 | 103 |
104 var repository = new Mock<IEventoRepository>(); | 104 var repository = new Mock<IEventoRepository>(); |
105 | 105 repository.Setup(r => r.GetActivos()).Returns(new List<Evento>()); |
106 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), | 106 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), |
107 repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 107 repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
108 | 108 |
109 var fechaInicio = DateTime.Now.ToUniversalTime(); | 109 var fechaInicio = DateTime.Now.ToUniversalTime(); |
110 var fechaTermino = fechaInicio.AddHours(2); | 110 var fechaTermino = fechaInicio.AddHours(2); |
461 agenda.Confirmar(evento.Id); | 461 agenda.Confirmar(evento.Id); |
462 | 462 |
463 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))); |
464 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 59))); | 464 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 1, urlWiki, new TimeSpan(0, 0, 59))); |
465 } | 465 } |
466 | |
467 [Test] | |
468 public void Verificar_que_no_se_puedan_agendar_dos_eventos_para_el_mismo_intervalo() | |
469 { | |
470 var publicador1 = new Mock<IPublicador>(); | |
471 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, | |
472 DefaultPatrocinadorRepository); | |
473 var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00); | |
474 var fechaTermino = fechaInicio.AddHours(2); | |
475 | |
476 var r = agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, | |
477 fechaTermino, string.Empty, TipoEvento.Van); | |
478 Assert.IsTrue(r.Succeful); | |
479 | |
480 fechaInicio = new DateTime(2011, 7, 1, 05, 00, 00); | |
481 fechaTermino = fechaInicio.AddHours(2); | |
482 r = agenda.Agendar("Una primer van que NO se superpone", | |
483 TestsHelper.GetOrCreatePonente("jjmontes"), | |
484 fechaInicio, | |
485 fechaTermino, string.Empty, TipoEvento.Van); | |
486 Assert.IsTrue(r.Succeful); | |
487 | |
488 r = agenda.Agendar("Otra van que se superpone", | |
489 TestsHelper.GetOrCreatePonente("jjmontes"), | |
490 fechaInicio, | |
491 fechaTermino, string.Empty, TipoEvento.Van); | |
492 Assert.IsFalse(r.Succeful); | |
493 | |
494 fechaInicio = new DateTime(2011, 7, 1, 17, 00, 00); | |
495 fechaTermino = fechaInicio.AddHours(2); | |
496 r = agenda.Agendar("Otra van que se superpone", | |
497 TestsHelper.GetOrCreatePonente("jjmontes"), | |
498 fechaInicio, | |
499 fechaTermino, string.Empty, TipoEvento.Van); | |
500 Assert.IsFalse(r.Succeful); | |
501 | |
502 fechaInicio = new DateTime(2011, 7, 1, 19, 00, 00); | |
503 fechaTermino = fechaInicio.AddHours(2); | |
504 r = agenda.Agendar("Otra van que se superpone", | |
505 TestsHelper.GetOrCreatePonente("jjmontes"), | |
506 fechaInicio, | |
507 fechaTermino, string.Empty, TipoEvento.Van); | |
508 Assert.IsFalse(r.Succeful); | |
509 | |
510 fechaInicio = new DateTime(2011, 7, 1, 21, 00, 00); | |
511 fechaTermino = fechaInicio.AddHours(2); | |
512 r = agenda.Agendar("Una segunda van que NO se superpone", | |
513 TestsHelper.GetOrCreatePonente("jjmontes"), | |
514 fechaInicio, | |
515 fechaTermino, string.Empty, TipoEvento.Van); | |
516 Assert.IsTrue(r.Succeful); | |
517 } | |
466 } | 518 } |
467 } | 519 } |