# HG changeset patch # User Nelo@Kenia.neluz.int # Date 1308746947 10800 # Node ID 8fa58a79656a3a6a8656896823cd908c24d0ec71 # Parent b74734a1a7556a93bcdaed7e413f8f40a994145a Historico diff -r b74734a1a755 -r 8fa58a79656a Agendas/trunk/src/Agendas.Domain/Agenda.cs --- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Wed Jun 22 09:32:59 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Wed Jun 22 09:49:07 2011 -0300 @@ -37,6 +37,11 @@ return _eventosRepository.GetActivos() ?? new List(); } + public IEnumerable GetHistorico() + { + return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List(); + } + public Resultado ModificarEvento(Guid eventoId, string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion) { Evento evento = GetEvento(eventoId); diff -r b74734a1a755 -r 8fa58a79656a Agendas/trunk/src/Agendas.Tests/AgendarTests.cs --- a/Agendas/trunk/src/Agendas.Tests/AgendarTests.cs Wed Jun 22 09:32:59 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/AgendarTests.cs Wed Jun 22 09:49:07 2011 -0300 @@ -31,7 +31,8 @@ var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); - Assert.Throws(() => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, urlInvitacion, TipoEvento.Van)); + Assert.Throws( + () => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, urlInvitacion, TipoEvento.Van)); Assert.AreEqual(0, agenda.GetEventosActivos().Count); publicador.Verify(p => p.Publicar(It.IsAny>()), Times.Exactly(1)); @@ -50,7 +51,7 @@ Assert.Throws( () => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, - urlInvitacion, TipoEvento.Van)); + urlInvitacion, TipoEvento.Van)); repository.Verify(p => p.Save(It.IsAny()), Times.Exactly(0)); } @@ -65,7 +66,7 @@ var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); Assert.Throws(() => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, - urlInvitacion, TipoEvento.Van)); + urlInvitacion, TipoEvento.Van)); publicador.Verify(p => p.Publicar(It.IsAny>()), Times.Exactly(0)); repository.Verify(p => p.Save(It.IsAny()), Times.Exactly(0)); @@ -77,7 +78,7 @@ var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); var r = agenda.Agendar("Van para publicar", string.Empty, DateTime.Now, - urlInvitacion, TipoEvento.Van); + urlInvitacion, TipoEvento.Van); Assert.IsFalse(r.Succeful); } @@ -90,11 +91,11 @@ var repository = new Mock(); - var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), + var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), repository.Object, DefaultPersonaRepository); agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, - urlInvitacion, TipoEvento.Van); + urlInvitacion, TipoEvento.Van); publicador1.Verify(p => p.Publicar(It.IsAny>()), Times.Exactly(1)); publicador2.Verify(p => p.Publicar(It.IsAny>()), Times.Exactly(1)); @@ -109,7 +110,7 @@ var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository); agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, - urlInvitacion, TipoEvento.Van); + urlInvitacion, TipoEvento.Van); Assert.AreEqual(0, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count); @@ -119,7 +120,7 @@ publicador.Verify(p => p.Publicar(It.IsAny>()), Times.Exactly(1)); var evento = eventos[0]; - + Assert.IsNotNull(evento.Ponente); } @@ -132,7 +133,7 @@ var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository); agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, - urlInvitacion, TipoEvento.Van); + urlInvitacion, TipoEvento.Van); publicador.Verify(p => p.Publicar(It.IsAny>()), Times.Exactly(1)); @@ -161,11 +162,11 @@ var publicador1 = new Mock(); var publicador2 = new Mock(); - var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), + var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), DefaultEventoRepository, DefaultPersonaRepository); agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, - urlInvitacion, TipoEvento.Van); + urlInvitacion, TipoEvento.Van); var van = agenda.GetEventosActivos().Single(v => v.Titulo == "Van para publicar"); //agenda.Recordar(van.Id); @@ -204,118 +205,118 @@ Assert.IsNotNull(agendado.Tracks.Where(t => t.Accion == Accion.Agendar).SingleOrDefault()); } - [Test] - public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente() - { - var publicador1 = new Mock(); + [Test] + public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente() + { + var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); - agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); - var evento = - DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); + var evento = + DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); - Assert.IsInstanceOf(typeof(EventoPropuestoState), evento.GetEstado()); - Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Proponer) == 1); - } + Assert.IsInstanceOf(typeof(EventoPropuestoState), evento.GetEstado()); + Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Proponer) == 1); + } - [Test] - public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente() - { - var publicador1 = new Mock(); + [Test] + public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente() + { + var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); - agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); - var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); + var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); - Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.GetEstado()); - Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1); - } + Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.GetEstado()); + Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1); + } - [Test] - public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente() - { - var publicador1 = new Mock(); + [Test] + public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente() + { + var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); - agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); - var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); + var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); - agenda.Confirmar(evento.Id); + agenda.Confirmar(evento.Id); - Assert.IsInstanceOf(typeof(EventoConfirmadoState), evento.GetEstado()); - Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Confirmar) == 1); - } + Assert.IsInstanceOf(typeof(EventoConfirmadoState), evento.GetEstado()); + Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Confirmar) == 1); + } - [Test] - public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() - { - var publicador1 = new Mock(); + [Test] + public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() + { + var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); - agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); - var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); + var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); - agenda.Confirmar(evento.Id); - agenda.Publicar(evento.Id, 0, string.Empty); + agenda.Confirmar(evento.Id); + agenda.Publicar(evento.Id, 0, string.Empty); - Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.GetEstado()); - Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1); - } + Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.GetEstado()); + Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1); + } - [Test] - public void Al_publicar_un_evento_debe_asignarse_el_nro_de_reunion_y_la_url_de_la_wiki() - { - var publicador1 = new Mock(); + [Test] + public void Al_publicar_un_evento_debe_asignarse_el_nro_de_reunion_y_la_url_de_la_wiki() + { + var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); - agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); - var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); - agenda.Confirmar(evento.Id); + var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); + agenda.Confirmar(evento.Id); - const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; - agenda.Publicar(evento.Id, 71, urlWiki); + const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; + agenda.Publicar(evento.Id, 71, urlWiki); - Assert.AreEqual(71, evento.NumeroOrden); - Assert.AreEqual(urlWiki, evento.UrlWiki); - } + Assert.AreEqual(71, evento.NumeroOrden); + Assert.AreEqual(urlWiki, evento.UrlWiki); + } - [Test] - [ExpectedException(typeof(AccionNoSoportadaException))] - public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion() - { - var publicador1 = new Mock(); + [Test] + [ExpectedException(typeof(AccionNoSoportadaException))] + public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion() + { + var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); - agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); - var evento = - DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); + var evento = + DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); - Assert.IsFalse(evento.Estado.GetType() == typeof(EventoAgendadoState)); + Assert.IsFalse(evento.Estado.GetType() == typeof(EventoAgendadoState)); - agenda.Confirmar(evento.Id); - } + agenda.Confirmar(evento.Id); + } - [Test] - [ExpectedException(typeof(AccionNoSoportadaException))] - public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion() - { - var publicador1 = new Mock(); + [Test] + [ExpectedException(typeof(AccionNoSoportadaException))] + public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion() + { + var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); - agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); + agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); - var evento = - DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); + var evento = + DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); - Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); + Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); - agenda.Publicar(evento.Id, 0, string.Empty); - } + agenda.Publicar(evento.Id, 0, string.Empty); + } } } \ No newline at end of file diff -r b74734a1a755 -r 8fa58a79656a Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj --- a/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Wed Jun 22 09:32:59 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Wed Jun 22 09:49:07 2011 -0300 @@ -64,6 +64,7 @@ + @@ -77,6 +78,7 @@ + @@ -204,6 +206,9 @@ + + +