# HG changeset patch # User nelo@MTEySS.neluz.int # Date 1300392185 10800 # Node ID 65bbf1ab2b24de5512b1f673274b9ba16aa8b362 # Parent 6910b2116df21f66ed108502a9e7752e252fad38 cuando se modifica un evento, también debe ser publicada dicha modificación diff -r 6910b2116df2 -r 65bbf1ab2b24 Agendas/trunk/src/Agendas.Domain/Agenda.cs --- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Thu Mar 17 16:59:43 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Thu Mar 17 17:03:05 2011 -0300 @@ -26,12 +26,10 @@ { var ponente = GetPonente(ponenteNombre); - var evento = _eventosRepository.GetPropuestaByTitulo(titulo) ?? new Evento {Titulo = titulo}; evento.Ponente = ponente; evento.Fecha = fecha; - if (!evento.Fecha.HasValue) throw new ValidationException(); if (NoEstaAutenticado(_seguridad)) @@ -92,6 +90,9 @@ evento.Titulo = titulo; evento.Ponente = ponente; evento.Fecha = fecha; + + if (_publicador != null) + _publicador.Publicar(evento); } public Evento GetEvento(Guid id) diff -r 6910b2116df2 -r 65bbf1ab2b24 Agendas/trunk/src/Agendas.Tests/PulicarTests.cs --- a/Agendas/trunk/src/Agendas.Tests/PulicarTests.cs Thu Mar 17 16:59:43 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/PulicarTests.cs Thu Mar 17 17:03:05 2011 -0300 @@ -108,11 +108,14 @@ public void Publicar_y_modificar_van() { var repository = DefaultEventoRepository; + var publicador = new Mock(); - var agenda = new Agenda(null, null, SeguridadServiceDefault, repository, DefaultPonenteRepository); + var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault, repository, DefaultPonenteRepository); agenda.Publicar("Van para publicar", "jjmontes", DateTime.Now); + publicador.Verify(p => p.Publicar(It.IsAny()), Times.Exactly(1)); + var evento = repository.GetEventosConFecha().First(); Assert.AreNotEqual(Guid.Empty, evento.Id); Assert.IsNotNull(evento.Fecha); @@ -120,6 +123,8 @@ DateTime fecha = evento.Fecha.Value.AddDays(7); agenda.ModificarEvento(evento.Id, "otro titulo", "otro ponente", fecha); + publicador.Verify(p => p.Publicar(It.IsAny()), Times.Exactly(2)); + evento = repository.GetEventosConFecha().First(); Assert.AreEqual("otro titulo", evento.Titulo); Assert.AreEqual("otro ponente", evento.Ponente.Nombre);