Mercurial > altnet-hispano
changeset 36:65bbf1ab2b24
cuando se modifica un evento, también debe ser publicada dicha modificación
author | nelo@MTEySS.neluz.int |
---|---|
date | Thu, 17 Mar 2011 17:03:05 -0300 |
parents | 6910b2116df2 |
children | 90f0cab1febc |
files | Agendas/trunk/src/Agendas.Domain/Agenda.cs Agendas/trunk/src/Agendas.Tests/PulicarTests.cs |
diffstat | 2 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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)
--- 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<IPublicador>(); - 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<Evento>()), 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<Evento>()), Times.Exactly(2)); + evento = repository.GetEventosConFecha().First(); Assert.AreEqual("otro titulo", evento.Titulo); Assert.AreEqual("otro ponente", evento.Ponente.Nombre);