diff Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 196:bb7a60c28d8d

TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
author juanjose.montesdeocaarbos
date Sat, 13 Aug 2011 01:52:00 -0300
parents 4d0b2552edb2
children 5346c0500594
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Tests/AgendarTests.cs	Sat Aug 13 01:01:54 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/AgendarTests.cs	Sat Aug 13 01:52:00 2011 -0300
@@ -50,7 +50,7 @@
 
 			var publicador = new Mock<IPublicador>();
 			var repository = new Mock<IEventoRepository>();
-
+			repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
 			var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
@@ -69,7 +69,7 @@
 
 			var publicador = new Mock<IPublicador>();
 			var repository = new Mock<IEventoRepository>();
-
+			repository.Setup(r => r.GetActivos()).Returns(new List<Evento>());
 			var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository);
 
 		    var fechaInicio = DateTime.Now.ToUniversalTime();
@@ -514,6 +514,34 @@
 			                   fechaInicio,
 			                   fechaTermino, string.Empty, TipoEvento.Van);
 			Assert.IsTrue(r.Succeful);
-		}		
+		}
+
+		[Test]
+		public void Verificar_que_no_se_modifique_una_propuesta_de_VAN_al_intentar_agendarla_con_fechas_usadas()
+		{
+			var publicador1 = new Mock<IPublicador>();
+			var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository,
+									DefaultPatrocinadorRepository);
+			var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00);
+			var fechaTermino = fechaInicio.AddHours(2);
+
+			agenda.Agendar("Conceptos de HTTP y Fiddler web debugger", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio,
+						   fechaTermino, string.Empty, TipoEvento.Van);
+
+			agenda.Proponer("Otra van que se superpone", TestsHelper.GetOrCreatePonente("jjmontes"), string.Empty, TipoEvento.Van);
+			var eventoPropuesto = DefaultEventoRepository.GetPropuestaByTitulo("Otra van que se superpone");
+			Assert.IsNotNull(eventoPropuesto);
+			Assert.IsNull(eventoPropuesto.FechaInicio);
+			Assert.IsNull(eventoPropuesto.FechaTermino);
+			var r = agenda.Agendar("Otra van que se superpone",
+								   TestsHelper.GetOrCreatePonente("jjmontes"),
+								   fechaInicio,
+								   fechaTermino, string.Empty, TipoEvento.Van);
+			Assert.IsFalse(r.Succeful);
+
+			Assert.IsNotNull(eventoPropuesto);
+			Assert.IsNull(eventoPropuesto.FechaInicio);
+			Assert.IsNull(eventoPropuesto.FechaTermino);
+		}
 	}
 }
\ No newline at end of file