changeset 45:2edc705aae0a

Coverage 100% sobre Agendas.Tests
author juanjose.montesdeocaarbos
date Sun, 20 Mar 2011 07:41:50 -0300
parents c695eebf1beb
children cc0496faa8b0
files Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Agendas/trunk/src/Agendas.Tests/PulicarTests.cs
diffstat 2 files changed, 50 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs	Sat Mar 19 15:44:00 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs	Sun Mar 20 07:41:50 2011 -0300
@@ -17,7 +17,7 @@
 		{
             var seguridad = new Mock<ISeguridad>();
             var agenda = new Agenda(null, null, seguridad.Object, DefaultEventoRepository, DefaultPonenteRepository);
-            
+
             seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
 			agenda.Proponer("Van propuesta", null);
 
@@ -96,7 +96,7 @@
 		}
 
 		[Test]
-		public void Publicar_van_propuesta()
+		public void Modificar_y_publicar_van_propuesta()
 		{
 			var agenda = new Agenda(null, null, SeguridadServiceDefault, DefaultEventoRepository, DefaultPonenteRepository);
 
@@ -107,9 +107,19 @@
 
 				Assert.AreEqual(1, eventosPropuestos.Count);
 				Assert.AreEqual(0, eventosPublicados.Count);
+
+			    var evento = eventosPropuestos.FirstOrDefault();
+                agenda.ModificarPropuesta(evento.Id, "Van 2", "otro ponente");
+
+                eventosPropuestos = agenda.GetEventosPropuestos();
+                Assert.AreEqual(1, eventosPropuestos.Count);
+
+                evento = eventosPropuestos.FirstOrDefault();
+                Assert.AreEqual("Van 2", evento.Titulo);
+                Assert.AreEqual("otro ponente", evento.Ponente.Nombre);
 			}
 			
-			agenda.Publicar("Van", "jjmontes", DateTime.Now);
+			agenda.Publicar("Van 2", "jjmontes", DateTime.Now);
 			{
 				IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
 				IList<Evento> eventosPublicados = agenda.GetEventosPublicados();
@@ -119,5 +129,29 @@
 			}
 		}
 
-	}
+        [Test]
+        public void Propuesta_de_van_sin_autenticacion()
+        {
+            var seguridad = new Mock<ISeguridad>();
+            var agenda = new Agenda(null, null, seguridad.Object, DefaultEventoRepository, DefaultPonenteRepository);
+
+            seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalSinAutenticar());
+
+            Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Proponer("Inmortalidad de la meduza.", null));
+        }
+
+        [Test]
+        public void Obtener_un_evento_inexistente()
+        {
+            var idEventoNoExistente = new Guid("99999999999999999999999999999999");
+
+            var seguridad = new Mock<ISeguridad>();
+            var agenda = new Agenda(null, null, seguridad.Object, DefaultEventoRepository, DefaultPonenteRepository);
+
+            seguridad.Setup(s => s.GetPrincipal()).Returns(
+                SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
+
+            Assert.IsNull(agenda.GetEvento(idEventoNoExistente));
+        }
+    }
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Tests/PulicarTests.cs	Sat Mar 19 15:44:00 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PulicarTests.cs	Sun Mar 20 07:41:50 2011 -0300
@@ -129,6 +129,16 @@
 			Assert.AreEqual("otro titulo", evento.Titulo);
 			Assert.AreEqual("otro ponente", evento.Ponente.Nombre);
 			Assert.AreEqual(fecha, evento.Fecha);
-		}
-	}
+
+            var idEventoNoExistente = new Guid("99999999999999999999999999999999");
+            Assert.Throws<EventoNotFoundException>(
+                () => agenda.ModificarEvento(idEventoNoExistente, "algún título", "un ponente", DateTime.Now));
+        }
+
+        [Test]
+        public void CompositePublicador_constructor_parametro_null_debe_generar_ArgumentNullException()
+        {
+            Assert.Throws<ArgumentNullException>(() => new CompositePublicador(null));
+        }
+    }
 }
\ No newline at end of file