Mercurial > altnet-hispano
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>();