changeset 298:9bc60d166c8a

Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco. Se comentó el código de PatrocinadorApiController, que no se utiliza.
author juanjose.montesdeocaarbos
date Sun, 19 Feb 2012 16:00:38 -0300
parents 50b462e06ecc
children 8522d6a25888
files Agendas/trunk/src/Agendas.Domain/Patrocinador.cs Agendas/trunk/src/Agendas.Repositories.Tests/Agendas.Repositories.Tests.csproj Agendas/trunk/src/Agendas.Repositories.Tests/PatrocinadorCrud.cs Agendas/trunk/src/Agendas.Repositories.Tests/PatrocinadorEventoTests.cs Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorApiControllerTests.cs Agendas/trunk/src/Agendas.Web/Controllers/PatrocinadorApiController.cs
diffstat 8 files changed, 174 insertions(+), 140 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Patrocinador.cs	Sat Feb 18 15:27:26 2012 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Patrocinador.cs	Sun Feb 19 16:00:38 2012 -0300
@@ -16,15 +16,5 @@
 		protected Patrocinador()
 		{
 		}
-
-		public virtual void LoadLogo(string path)
-		{
-			using (var image = Image.FromFile(path))
-			{
-				var ms = new MemoryStream();
-				image.Save(ms, image.RawFormat);
-				Logo = ms.ToArray();
-			}
-		}
 	}
 }
\ No newline at end of file
--- a/Agendas/trunk/src/Agendas.Repositories.Tests/Agendas.Repositories.Tests.csproj	Sat Feb 18 15:27:26 2012 -0300
+++ b/Agendas/trunk/src/Agendas.Repositories.Tests/Agendas.Repositories.Tests.csproj	Sun Feb 19 16:00:38 2012 -0300
@@ -51,6 +51,7 @@
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Drawing" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
--- a/Agendas/trunk/src/Agendas.Repositories.Tests/PatrocinadorCrud.cs	Sat Feb 18 15:27:26 2012 -0300
+++ b/Agendas/trunk/src/Agendas.Repositories.Tests/PatrocinadorCrud.cs	Sun Feb 19 16:00:38 2012 -0300
@@ -1,4 +1,6 @@
 using System;
+using System.Drawing;
+using System.IO;
 using AltNetHispano.Agendas.Domain;
 using AltNetHispano.Agendas.Domain.Repositories;
 using NUnit.Framework;
@@ -11,6 +13,16 @@
 		private readonly Func<IDisposable> _requestEmulator;
 		private byte[] _logo;
 
+		private static byte[] LoadLogo(string path)
+		{
+			using (var image = Image.FromFile(path))
+			{
+				var ms = new MemoryStream();
+				image.Save(ms, image.RawFormat);
+				return ms.ToArray();
+			}
+		}
+
 		public PatrocinadorCrud(Func<IPatrocinadorRepository> createPatrocinadorRepository, Func<IDisposable> requestEmulator)
 		{
 			_patrocinadorRepository = createPatrocinadorRepository.Invoke();
@@ -21,9 +33,11 @@
 		{
 			using (_requestEmulator.Invoke())
 			{
-				var patrocinador = new Patrocinador("APRESS");
+				var patrocinador = new Patrocinador("APRESS")
+				{
+					Logo = LoadLogo("images/apress.gif")
+				};
 
-				patrocinador.LoadLogo("images/apress.gif");
 				_logo = patrocinador.Logo;
 
 				_patrocinadorRepository.Save(patrocinador);
--- a/Agendas/trunk/src/Agendas.Repositories.Tests/PatrocinadorEventoTests.cs	Sat Feb 18 15:27:26 2012 -0300
+++ b/Agendas/trunk/src/Agendas.Repositories.Tests/PatrocinadorEventoTests.cs	Sun Feb 19 16:00:38 2012 -0300
@@ -1,5 +1,7 @@
 using System;
 using System.Collections.Generic;
+using System.Drawing;
+using System.IO;
 using System.Linq;
 using System.Text;
 using Agendas.Repositories.Tests.Infraestructure;
@@ -23,6 +25,16 @@
 		private Agenda _agenda;
 		private readonly TestsHelper _testsHelper;
 
+		private static byte[] LoadLogo(string path)
+		{
+			using (var image = Image.FromFile(path))
+			{
+				var ms = new MemoryStream();
+				image.Save(ms, image.RawFormat);
+				return ms.ToArray();
+			}
+		}
+
 		protected PatrocinadorEventoTests()
 		{
 			var infraestrutureFactory = new T();
@@ -68,8 +80,10 @@
 
 		private Guid CrearPatrocinador(string nombre, string images)
 		{
-			var patrocinador = new Patrocinador(nombre);
-			patrocinador.LoadLogo(images);
+			var patrocinador = new Patrocinador(nombre)
+			                   	{
+									Logo = LoadLogo(images)
+			                   	};
 			using (_requestEmulator.Invoke())
 			{
 				_patrocinadorRepository.Save(patrocinador);
--- a/Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj	Sat Feb 18 15:27:26 2012 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj	Sun Feb 19 16:00:38 2012 -0300
@@ -46,6 +46,7 @@
     <Reference Include="System" />
     <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Drawing" />
     <Reference Include="System.ServiceModel" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
--- a/Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs	Sat Feb 18 15:27:26 2012 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs	Sun Feb 19 16:00:38 2012 -0300
@@ -1,4 +1,6 @@
 using System;
+using System.Drawing;
+using System.IO;
 using System.Linq;
 using AltNetHispano.Agendas.Domain;
 using Moq;
@@ -15,6 +17,16 @@
 		private Guid _eventoDosId;
 		private Agenda _agenda;
 
+		private static byte[] LoadLogo(string path)
+		{
+			using (var image = Image.FromFile(path))
+			{
+				var ms = new MemoryStream();
+				image.Save(ms, image.RawFormat);
+				return ms.ToArray();
+			}
+		}
+
 		[SetUp]
 		public void CrearDatos()
 		{
@@ -91,8 +103,10 @@
 
 		private static Guid CrearPatrocinador(string nombre, string images)
 		{
-			var patrocinador = new Patrocinador(nombre);
-			patrocinador.LoadLogo(images);
+			var patrocinador = new Patrocinador(nombre)
+			                   	{
+									Logo = LoadLogo(images)
+			                   	};
 
 			var patrocinadorRepository = DefaultPatrocinadorRepository;
 			patrocinadorRepository.Save(patrocinador);
--- a/Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorApiControllerTests.cs	Sat Feb 18 15:27:26 2012 -0300
+++ b/Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorApiControllerTests.cs	Sun Feb 19 16:00:38 2012 -0300
@@ -14,6 +14,7 @@
 namespace Agendas.Web.Tests.Controllers
 {
 	[TestFixture]
+	[Ignore("No se utiliza PatrocinadorApiController, ya que no se puede postear el logo del Patrocinador.")]
 	public class PatrocinadorApiControllerTests: MvcControllerTestsBase
 	{
 		internal void CrearPatrocinadorApress()
@@ -43,94 +44,94 @@
 		[SetUp]
 		public void SetUpTests()
 		{
-			NhHelperTest.CleanDb();
-			RegisterBinders();
+			//NhHelperTest.CleanDb();
+			//RegisterBinders();
 		}
 
 		[Test]
 		public void PatrocinadorNuevoGetSusseful()
 		{
-			var patrocinadorController = new PatrocinadorApiController { ControllerContext = ControllerCtx };
-			using (new RequestEmulator(NhHelper.GetSessionFactory()))
-			{
-				var resultNuevo = patrocinadorController.Nuevo();
-				Assert.IsInstanceOf(typeof(PartialViewResult), resultNuevo);
-				Assert.AreEqual(string.Empty, ((PartialViewResult)resultNuevo).ViewName);
-			}
+			//var patrocinadorController = new PatrocinadorApiController { ControllerContext = ControllerCtx };
+			//using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			//{
+			//    var resultNuevo = patrocinadorController.Nuevo();
+			//    Assert.IsInstanceOf(typeof(PartialViewResult), resultNuevo);
+			//    Assert.AreEqual(string.Empty, ((PartialViewResult)resultNuevo).ViewName);
+			//}
 		}
 
 		[Test]
 		public void PatrocinadorNuevoPostErrorRequeriedFields()
 		{
-			var patrocinadorApiController = new PatrocinadorApiController(new HttpServerStub())
-			{
-				ControllerContext = ControllerCtx
-			};
-			var form = new FormCollection
-                           {
-                               {"Nombre", ""},
-                               {"Logo", "" }
-                           };
-			var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
+			//var patrocinadorApiController = new PatrocinadorApiController
+			//{
+			//    ControllerContext = ControllerCtx
+			//};
+			//var form = new FormCollection
+			//               {
+			//                   {"Nombre", ""},
+			//                   {"Logo", "" }
+			//               };
+			//var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
 
-			using (new RequestEmulator(NhHelper.GetSessionFactory()))
-			{
-				var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
-				Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
-				var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
-				Assert.IsFalse(resultadoJsonNuevo.Succeful);
-				//Assert.AreEqual("El Nombre es obligatorio,El Logo es obligatorio", resultadoJsonNuevo.Message);
-			}
+			//using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			//{
+			//    var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
+			//    Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
+			//    var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
+			//    Assert.IsFalse(resultadoJsonNuevo.Succeful);
+			//    //Assert.AreEqual("El Nombre es obligatorio,El Logo es obligatorio", resultadoJsonNuevo.Message);
+			//}
 		}
 
 		[Test]
 		public void PatrocinadorNuevoPostErrorPatrocinadorExists()
 		{
-			CrearPatrocinadorApress();
+			//CrearPatrocinadorApress();
 
-			var patrocinadorApiController = new PatrocinadorApiController(new HttpServerStub())
-			{
-				ControllerContext = ControllerCtx
-			};
-			var form = new FormCollection
-                           {
-                               {"Nombre", "Apress"},
-                               {"Logo", @"images\apress.gif" }
-                           };
-			var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
+			//var patrocinadorApiController = new PatrocinadorApiController
+			//{
+			//    ControllerContext = ControllerCtx
+			//};
+			//var form = new FormCollection
+			//               {
+			//                   {"Nombre", "Apress"},
+			//                   {"Logo", @"images\apress.gif" }
+			//               };
+			//var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
 
-			using (new RequestEmulator(NhHelper.GetSessionFactory()))
-			{
-				var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
-				Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
-				var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
-				Assert.IsFalse(resultadoJsonNuevo.Succeful);
-				Assert.AreEqual("El patrocinador ya existe.", resultadoJsonNuevo.Message);
-			}
+			//using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			//{
+			//    var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
+			//    Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
+			//    var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
+			//    Assert.IsFalse(resultadoJsonNuevo.Succeful);
+			//    Assert.AreEqual("El patrocinador ya existe.", resultadoJsonNuevo.Message);
+			//}
 		}
 
 		[Test]
 		public void PatrocinadorNuevoPostSusseful()
 		{
-			var patrocinadorApiController = new PatrocinadorApiController(new HttpServerStub())
-			{
-				ControllerContext = ControllerCtx
-			};
-			var form = new FormCollection
-                           {
-                               {"Nombre", "Apress"},
-                               {"Logo", @"images\apress.gif" }
-                           };
-			var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
+			//var patrocinadorApiController = new PatrocinadorApiController
+			//{
+			//    ControllerContext = ControllerCtx
+			//};
+			//var form = new FormCollection
+			//               {
+			//                   {"Nombre", "Apress"},
+			//                   {"Logo", @"images\apress.gif" }
+			//               };
+			//var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
 
-			using (new RequestEmulator(NhHelper.GetSessionFactory()))
-			{
-				var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
-				Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
-				var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
-				Assert.IsTrue(resultadoJsonNuevo.Succeful);
-				Assert.AreEqual(string.Empty, resultadoJsonNuevo.Message);
-			}
+			//using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			//{
+			//    var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
+			//    Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
+			//    var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
+			//    Assert.IsTrue(resultadoJsonNuevo.Succeful);
+			//    Assert.AreEqual(string.Empty, resultadoJsonNuevo.Message);
+			//}
 		}
 	}
 }
--- a/Agendas/trunk/src/Agendas.Web/Controllers/PatrocinadorApiController.cs	Sat Feb 18 15:27:26 2012 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/PatrocinadorApiController.cs	Sun Feb 19 16:00:38 2012 -0300
@@ -1,69 +1,68 @@
-using System.Web;
-using System.Web.Mvc;
-using System.IO;
-using AltNetHispano.Agendas.Domain;
-using AltNetHispano.Agendas.Factories;
-using AltNetHispano.Agendas.Web.Models;
+//using System.Web;
+//using System.Web.Mvc;
+//using System.IO;
+//using AltNetHispano.Agendas.Domain;
+//using AltNetHispano.Agendas.Factories;
+//using AltNetHispano.Agendas.Web.Models;
 
-namespace AltNetHispano.Agendas.Web.Controllers
-{
-    public class PatrocinadorApiController : Controller
-    {
-		private HttpServerUtilityBase _server;
+//namespace AltNetHispano.Agendas.Web.Controllers
+//{
+//    public class PatrocinadorApiController : Controller
+//    {
+//        //private HttpServerUtilityBase _server;
 
-		public HttpServerUtilityBase HttpServer
-		{
-			get
-			{
-				if (_server == null)
-				{
-					var httpServer = HttpContext.Server;
-					_server = httpServer;
-				}
+//        //public HttpServerUtilityBase HttpServer
+//        //{
+//        //    get
+//        //    {
+//        //        if (_server == null)
+//        //        {
+//        //            var httpServer = HttpContext.Server;
+//        //            _server = httpServer;
+//        //        }
 
-				return _server;
-			}
-		}
+//        //        return _server;
+//        //    }
+//        //}
 
-		public PatrocinadorApiController()
-		{ }
-
-		public PatrocinadorApiController(HttpServerUtilityBase server)
-		{
-			_server = server;
-		}
+//        //public PatrocinadorApiController()
+//        //{ }
 
-		[CustomAuthorize(Roles = Roles.Administrador)]
-		public PartialViewResult Nuevo()
-        {
-			var model = new PatrocinadorNewModel();
-			return PartialView(model);
-        }
+//        //public PatrocinadorApiController(HttpServerUtilityBase server)
+//        //{
+//        //    _server = server;
+//        //}
+
+//        [CustomAuthorize(Roles = Roles.Administrador)]
+//        public PartialViewResult Nuevo()
+//        {
+//            var model = new PatrocinadorNewModel();
+//            return PartialView(model);
+//        }
 
-		[HttpPost]
-		[CustomAuthorize(Roles = Roles.Administrador)]
-		public JsonResult Nuevo(PatrocinadorNewModel model)
-		{
-			if (ModelState.IsValid)
-			{
-				var patrocinadores = AgendaFactory.GetPatrocinadorRepository();
-				if (patrocinadores.GetByNombre(model.Nombre) == null)
-				{
-					var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
-													model.Nombre +
-													model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
-					model.Logo.SaveAs(tempLogoFile);
-					var patrocinador = new Patrocinador(model.Nombre);
-					patrocinador.LoadLogo(tempLogoFile);
+//        [HttpPost]
+//        [CustomAuthorize(Roles = Roles.Administrador)]
+//        public JsonResult Nuevo(PatrocinadorNewModel model)
+//        {
+//            if (ModelState.IsValid)
+//            {
+//                var patrocinadores = AgendaFactory.GetPatrocinadorRepository();
+//                if (patrocinadores.GetByNombre(model.Nombre) == null)
+//                {
+//                    //var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
+//                    //                                model.Nombre +
+//                    //                                model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
+//                    //model.Logo.SaveAs(tempLogoFile);
+//                    var patrocinador = new Patrocinador(model.Nombre);
 
-					patrocinadores.Save(patrocinador);
+//                    patrocinadores.Save(patrocinador);
 					
-					return Json(new Resultado(true, string.Empty));
-				}
-				return Json(new Resultado(false, "El patrocinador ya existe."));
-			}
+//                    return Json(new Resultado(true, string.Empty));
+//                }
+//                return Json(new Resultado(false, "El patrocinador ya existe."));
+//            }
 
-			return Json(new Resultado(false, string.Join(",", ModelState.Values)));
-		}
-	}
-}
+//            return Json(new Resultado(false, string.Join(",", ModelState.Values)));
+//        }
+//    }
+//}