Mercurial > altnet-hispano
changeset 244:31fb96912d37
Ticket 162: Publicaciones con Nro Orden repetido.
author | juanjose.montesdeocaarbos |
---|---|
date | Thu, 06 Oct 2011 09:09:37 -0300 |
parents | 59f8fa2f835e |
children | bdc946dd5c94 |
files | Agendas/trunk/src/Agendas.Domain/Agenda.cs Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs |
diffstat | 2 files changed, 49 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Thu Oct 06 08:13:05 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Thu Oct 06 09:09:37 2011 -0300 @@ -180,7 +180,12 @@ return new EventoResultado(false, "Url Wiki incorrecto", null); if (duracion.Hours.Equals(0) && duracion.Minutes.Equals(0)) - return new EventoResultado(false, "Duración fuera de rango", null); + return new EventoResultado(false, "Duración fuera de rango", null); + + if (_eventosRepository.GetByState(EventoPublicadoState.GetInstance()).Any(e => e.NumeroOrden.Equals(numeroOrden))) + { + return new EventoResultado(false, "El número de evento ya se encuentra en uso", null); + } Evento evento = GetEvento(eventoId);
--- a/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Thu Oct 06 08:13:05 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Thu Oct 06 09:09:37 2011 -0300 @@ -161,5 +161,48 @@ Assert.AreEqual(1, eventosPropuestos.Count); Assert.AreEqual(1, eventosAgendados.Count); } + + [Test] + public void Publicar_con_Nro_Duplicado() + { + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); + { + var fechaInicio = DateTime.Now.ToUniversalTime(); + var fechaTermino = fechaInicio.AddHours(2); + + agenda.Agendar("Van", new[] { TestsHelper.GetOrCreatePonente("jjmontes") }, fechaInicio, fechaTermino, + urlInvitacion, TipoEvento.Van); + { + IList<Evento> eventosAgendado = agenda.GetEventosActivos(EventoAgendadoState.GetInstance()); + + var evento = eventosAgendado.FirstOrDefault(); + + agenda.Confirmar(evento.Id); + + var r = agenda.Publicar(evento.Id, 1, "http://www.url.com", new TimeSpan(1, 58, 0)); + + Assert.IsTrue(r.Succeful); + } + } + + { + var fechaInicio = DateTime.Now.AddDays(1).ToUniversalTime(); + var fechaTermino = fechaInicio.AddHours(2); + agenda.Agendar("Van 2", new[] { TestsHelper.GetOrCreatePonente("jjmontes") }, fechaInicio, fechaTermino, + urlInvitacion, TipoEvento.Van); + { + IList<Evento> eventosAgendado = agenda.GetEventosActivos(EventoAgendadoState.GetInstance()); + + var evento = eventosAgendado.LastOrDefault(); + + agenda.Confirmar(evento.Id); + + var r = agenda.Publicar(evento.Id, 1, "http://www.url.com", new TimeSpan(1, 58, 0)); + + Assert.IsFalse(r.Succeful); + Assert.AreEqual("El número de evento ya se encuentra en uso", r.Message); + } + } + } } } \ No newline at end of file