diff Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs @ 244:31fb96912d37

Ticket 162: Publicaciones con Nro Orden repetido.
author juanjose.montesdeocaarbos
date Thu, 06 Oct 2011 09:09:37 -0300
parents c61954d24c8c
children 72a96459f910
line wrap: on
line diff
--- 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