diff Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 8:cae27d7eb697

Se agregó ISeguridad para validar autenticaciones de usuarios. Agenda.Proponer modificado para validar que solo pueden Proponer eventos los usuarios autenticados.
author juanjose.montesdeocaarbos
date Sat, 12 Feb 2011 11:12:18 -0300
parents deee2ca97f5b
children c90492faf268
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs	Tue Feb 08 07:56:53 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs	Sat Feb 12 11:12:18 2011 -0300
@@ -7,6 +7,7 @@
 using AltNetHispano.Agendas.Domain.Repositories;
 using Moq;
 using NUnit.Framework;
+using System.Security.Principal;
 
 namespace AltNetHispano.Agendas.Tests
 {
@@ -18,7 +19,7 @@
 		{
 			var publicador = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador.Object, null);
+			var agenda = new Agenda(publicador.Object, null, null);
 
 			var cafe = EventoObjectMother.GetCafeValidoParaPublicar();
 			agenda.Publicar(cafe);
@@ -31,7 +32,7 @@
 		{
 			var publicador = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador.Object, null);
+			var agenda = new Agenda(publicador.Object, null, null);
 
 			var van = EventoObjectMother.GetVanValidaParaPublicar();
 
@@ -47,7 +48,7 @@
 			var publicador = new Mock<IPublicador>();
 			publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Throws(new Exception("Error intencional"));
 
-			var agenda = new Agenda(publicador.Object, null);
+			var agenda = new Agenda(publicador.Object, null, null);
 
 			var van = EventoObjectMother.GetVanValidaParaPublicar();
 			Assert.Throws<Exception>(() => agenda.Publicar(van));
@@ -62,7 +63,7 @@
 			var publicador1 = new Mock<IPublicador>();
 			var publicador2 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), null);
+			var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), null, null);
 
 			var van = EventoObjectMother.GetVanValidaParaPublicar();
 			agenda.Publicar(van);
@@ -78,7 +79,7 @@
 			var publicador2 = new Mock<IPublicador>();
 			var recordador1 = new Mock<IRecordador>();
 
-			var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), recordador1.Object);
+			var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), recordador1.Object, null);
 
 			var van = EventoObjectMother.GetVanValidaParaPublicar();
 			agenda.Publicar(van);
@@ -93,11 +94,14 @@
 		}
 
 		[Test]
-		public void Propuesta_de_van()
+		public void Propuesta_de_van_con_usuario_autenticado()
 		{
 			var van = new Van{Titulo = "Van propuesta"};
 
-			var agenda = new Agenda(null, null);
+            var seguridad = new Mock<ISeguridad>();
+            var agenda = new Agenda(null, null, seguridad.Object);
+            
+            seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
 			agenda.Proponer(van);
 
 			IList<Evento> eventosPropuestos = agenda.GetEventosPropuestos();
@@ -109,10 +113,12 @@
         [Test]
         public void Verificar_propuesta_separada_de_publicacion()
         {
-            var agenda = new Agenda(null, null);
+            var seguridad = new Mock<ISeguridad>();
+            var agenda = new Agenda(null, null, seguridad.Object);
 
             var vanPropuesta = new Van { Titulo = "Van propuesta" };
             var vanPublicada = EventoObjectMother.GetVanValidaParaPublicar();
+            seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
 
             agenda.Proponer(vanPropuesta);
             agenda.Publicar(vanPublicada);
@@ -129,19 +135,24 @@
 		{
 			var van = new Van();
 
-			var agenda = new Agenda(null, null);
-			Assert.Throws<ValidationException>(() => agenda.Proponer(van));
+            var seguridad = new Mock<ISeguridad>();
+            var agenda = new Agenda(null, null, seguridad.Object);
+            
+            Assert.Throws<ValidationException>(() => agenda.Proponer(van));
 			Assert.AreEqual(Guid.Empty, van.Id);
 		}
 
 		[Test]
 		public void Agendar_van_propuesta_sin_fecha()
 		{
-			var agenda = new Agenda(null, null);
+            var seguridad = new Mock<ISeguridad>();
+            var agenda = new Agenda(null, null, seguridad.Object);
+            
+            seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
 
 			{
 				var van = new Van {Titulo = "Van propuesta"};
-				agenda.Proponer(van);
+                agenda.Proponer(van);
 			}
 
 			{
@@ -154,11 +165,14 @@
 		[Test]
 		public void Agendar_van_propuesta_sin_ponente()
 		{
-			var agenda = new Agenda(null, null);
+            var seguridad = new Mock<ISeguridad>();
+            var agenda = new Agenda(null, null, seguridad.Object);
+            
+            seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
 
 			{
 				var van = new Van { Titulo = "Van propuesta" };
-				agenda.Proponer(van);
+                agenda.Proponer(van);
 			}
 
 			{
@@ -175,7 +189,7 @@
 		{
 			Guid vanId;
 			{
-				var agenda = new Agenda(null, null);
+				var agenda = new Agenda(null, null, null);
 				agenda.Publicar(EventoObjectMother.GetVanValidaParaPublicar());
 
 				IAgendaRepository agendaRepository = new AgendaRepository();