changeset 59:4a4e12e32256

Poder quitar un ponente de un evento propuesto
author nelopauselli
date Mon, 16 May 2011 20:32:37 -0300
parents 37d99d239cae
children 02e163f2ca38
files Agendas/trunk/src/Agendas.Domain/Agenda.cs Agendas/trunk/src/Agendas.Tests/PonentesTests.cs Agendas/trunk/src/Agendas.Tests/PulicarTests.cs
diffstat 3 files changed, 42 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Mon May 16 20:24:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Mon May 16 20:32:37 2011 -0300
@@ -42,7 +42,9 @@
 			if (evento == null)
 				throw new EventoNotFoundException(id);
 
-			Ponente ponente = GetPonente(ponenteNombre);
+			Ponente ponente=null;
+			if (!string.IsNullOrWhiteSpace(ponenteNombre))
+				ponente = GetPonente(ponenteNombre);
 
 			if (evento.Titulo != titulo)
 				evento.CambiarTitulo(titulo);
--- a/Agendas/trunk/src/Agendas.Tests/PonentesTests.cs	Mon May 16 20:24:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PonentesTests.cs	Mon May 16 20:32:37 2011 -0300
@@ -68,5 +68,34 @@
 			Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre);
 			Assert.IsNullOrEmpty(evento.Ponente.Twitter);
 		}
+
+		[Test]
+		public void Quitar_ponente_de_un_evento()
+		{
+			var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
+
+			const string titulo = "Audit (parallel model) con NHibernate 3";
+			Guid eventoId;
+
+			agenda.Proponer(titulo, "Fabio");
+			{
+				var eventos = agenda.GetEventosPropuestos();
+				Assert.AreEqual(1, eventos.Count);
+
+				Evento evento = eventos[0];
+				Assert.AreEqual("Fabio", evento.Ponente.Nombre);
+
+				eventoId = evento.Id;
+			}
+
+			agenda.ModificarPropuesta(eventoId, titulo, null);
+			{
+				var eventos = agenda.GetEventosPropuestos();
+				Assert.AreEqual(1, eventos.Count);
+
+				Evento evento = eventos[0];
+				Assert.IsNull(evento.Ponente);
+			}
+		}
 	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/PulicarTests.cs	Mon May 16 20:24:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PulicarTests.cs	Mon May 16 20:32:37 2011 -0300
@@ -66,6 +66,16 @@
 		}
 
 		[Test]
+		public void Intentar_publicar_evento_sin_ponente()
+		{
+			var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
+
+			var r = agenda.Publicar("Van para publicar", string.Empty, DateTime.Now);
+
+			Assert.IsFalse(r.Succeful);
+		}
+
+		[Test]
 		public void Publicar_evento_con_multiples_publicadores()
 		{
 			var publicador1 = new Mock<IPublicador>();