diff Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 11:9d6b28a696d1

corrección en método que verifica la autenticación del usuario
author nelo@MTEySS.neluz.int
date Sun, 13 Mar 2011 19:30:58 -0300
parents c90492faf268
children 05996fa19e04
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs	Sun Mar 13 18:51:06 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs	Sun Mar 13 19:30:58 2011 -0300
@@ -7,22 +7,29 @@
 using AltNetHispano.Agendas.Domain.Repositories;
 using Moq;
 using NUnit.Framework;
-using System.Security.Principal;
 
 namespace AltNetHispano.Agendas.Tests
 {
 	[TestFixture]
 	public class AgendaTests
 	{
+	    private static ISeguridad SeguridadServiceDefault
+	    {
+            get
+            {
+                var seguridad = new Mock<ISeguridad>();
+                seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
+                return seguridad.Object;
+            }
+	    }
+
 		[Test]
 		public void Publicar_cafe()
 		{
 			var publicador = new Mock<IPublicador>();
-            var seguridad = new Mock<ISeguridad>();
-            var agenda = new Agenda(publicador.Object, null, seguridad.Object);
+            var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault);
 
 			var cafe = EventoObjectMother.GetCafeValidoParaPublicar();
-            seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
 			agenda.Publicar(cafe);
 
 			publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
@@ -31,14 +38,12 @@
 		[Test]
 		public void Publicar_van_con_usuario_autenticado()
 		{
-            var seguridad = new Mock<ISeguridad>();
 			var publicador = new Mock<IPublicador>();
 
-			var agenda = new Agenda(publicador.Object, null, seguridad.Object);
+            var agenda = new Agenda(publicador.Object, null, SeguridadServiceDefault);
 
 			var van = EventoObjectMother.GetVanValidaParaPublicar();
 
-            seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalAutenticadoSinRoles());
 			agenda.Publicar(van);
 			Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
 
@@ -56,7 +61,19 @@
 
             seguridad.Setup(s => s.GetPrincipal()).Returns(SeguridadObjectMother.GetGenericPrincipalSinAutenticar());
 
-            Assert.Throws<ValidationException>(() => agenda.Publicar(van));
+            Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar(van));
+        }
+
+        [Test]
+        public void Publicar_van_sin_servicio_de_seguridad()
+        {
+            var publicador = new Mock<IPublicador>();
+
+            var agenda = new Agenda(publicador.Object, null, null);
+
+            var van = EventoObjectMother.GetVanValidaParaPublicar();
+
+            Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Publicar(van));
         }
 
 		[Test]
@@ -80,7 +97,7 @@
 			var publicador1 = new Mock<IPublicador>();
 			var publicador2 = new Mock<IPublicador>();
 
-			var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), null, null);
+            var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), null, SeguridadServiceDefault);
 
 			var van = EventoObjectMother.GetVanValidaParaPublicar();
 			agenda.Publicar(van);
@@ -96,7 +113,7 @@
 			var publicador2 = new Mock<IPublicador>();
 			var recordador1 = new Mock<IRecordador>();
 
-			var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), recordador1.Object, null);
+            var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), recordador1.Object, SeguridadServiceDefault);
 
 			var van = EventoObjectMother.GetVanValidaParaPublicar();
 			agenda.Publicar(van);
@@ -206,7 +223,7 @@
 		{
 			Guid vanId;
 			{
-				var agenda = new Agenda(null, null, null);
+                var agenda = new Agenda(null, null, SeguridadServiceDefault);
 				agenda.Publicar(EventoObjectMother.GetVanValidaParaPublicar());
 
 				IAgendaRepository agendaRepository = new AgendaRepository();