diff Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorControllerTests.cs @ 279:1e889a2e45c5

#125: ABM de patrocinadores.
author juanjose.montesdeocaarbos
date Thu, 22 Dec 2011 10:04:08 -0300
parents 6f5ab71614d4
children 48ab8788bd19
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorControllerTests.cs	Wed Dec 21 08:47:05 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorControllerTests.cs	Thu Dec 22 10:04:08 2011 -0300
@@ -161,16 +161,20 @@
 		[Test]
 		public void PatrocinadorModificarGetDontExists()
 		{
+
 			var patrocinadorController = new PatrocinadorController(new HttpServerStub())
 			{
 				ControllerContext = ControllerCtx
 			};
 			using (new RequestEmulator(NhHelper.GetSessionFactory()))
 			{
+				var patrocinadorRepository = new PatrocinadorRepository(NhHelper.GetSessionFactory());
+				Assert.AreEqual(0, patrocinadorRepository.GetAll().Count());
 				var resultModificar = patrocinadorController.Modificar("11111111-1111-1111-1111-111111111111");
 				Assert.IsInstanceOf(typeof(RedirectToRouteResult), resultModificar);
 				Assert.AreEqual("Index", ((RedirectToRouteResult)resultModificar).RouteValues["action"]);
 				Assert.AreEqual("No se encontrĂ³ el patrocinador que intenta modificar", patrocinadorController.TempData["error"]);
+				Assert.AreEqual(0, patrocinadorRepository.GetAll().Count());
 			}
 		}
 
@@ -196,6 +200,7 @@
 		[Test]
 		public void PatrocinadorModificarPostSatisfactorio()
 		{
+			PatrocinadorRepository patrocinadorRepository;
 			PatrocinadorEditModel patrocinadorEdit;
 
 			CrearPatrocinadorApress();
@@ -205,7 +210,7 @@
 			                             	};
 			using (new RequestEmulator(NhHelper.GetSessionFactory()))
 			{
-				var patrocinadorRepository = new PatrocinadorRepository(NhHelper.GetSessionFactory());
+				patrocinadorRepository = new PatrocinadorRepository(NhHelper.GetSessionFactory());
 
 				var form = new FormCollection
 				           	{
@@ -218,10 +223,12 @@
 
 			using (new RequestEmulator(NhHelper.GetSessionFactory()))
 			{
+				Assert.AreEqual(1, patrocinadorRepository.GetAll().Count());
 				var resultModificar = patrocinadorController.Modificar(patrocinadorEdit);
 				Assert.IsInstanceOf(typeof(RedirectToRouteResult), resultModificar);
 				var viewResultEdit = (RedirectToRouteResult)resultModificar;
 				Assert.AreEqual("Index", viewResultEdit.RouteValues["action"]);
+				Assert.AreEqual(1, patrocinadorRepository.GetAll().Count());
 			}
 		}
 
@@ -253,5 +260,72 @@
 				Assert.AreEqual("El campo Logo es obligatorio.", viewResultNuevo.ViewData.ModelState["Logo"].Errors[0].ErrorMessage);
 			}
 		}
+
+		[Test]
+		public void PatrocinadorQuitarPostSatisfactorio()
+		{
+			var patrocinadorId = string.Empty;
+			PatrocinadorRepository patrocinadorRepository;
+
+			CrearPatrocinadorApress();
+			var patrocinadorController = new PatrocinadorController(new HttpServerStub())
+			{
+				ControllerContext = ControllerCtx
+			};
+			using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			{
+				patrocinadorRepository = new PatrocinadorRepository(NhHelper.GetSessionFactory());
+				patrocinadorId = patrocinadorRepository.GetByNombre("Apress").Id.ToString();
+			}
+
+			using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			{
+				Assert.AreEqual(1, patrocinadorRepository.GetAll().Count());
+				var resultQuitar = patrocinadorController.Eliminar(patrocinadorId);
+				Assert.IsInstanceOf(typeof(RedirectToRouteResult), resultQuitar);
+				var viewResult = (RedirectToRouteResult)resultQuitar;
+				Assert.AreEqual("Index", viewResult.RouteValues["action"]);
+			}
+			using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			{
+				Assert.AreEqual(0, patrocinadorRepository.GetAll().Count());
+			}
+		}
+
+		[Test]
+		[Ignore]
+		public void PatrocinadorQuitarPostDontExists()
+		{
+			PatrocinadorRepository patrocinadorRepository;
+			PatrocinadorEditModel patrocinadorEdit;
+
+			CrearPatrocinadorApress();
+			var patrocinadorController = new PatrocinadorController(new HttpServerStub())
+			{
+				ControllerContext = ControllerCtx
+			};
+			using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			{
+				patrocinadorRepository = new PatrocinadorRepository(NhHelper.GetSessionFactory());
+
+				var form = new FormCollection
+				           	{
+				           		{"Id", patrocinadorRepository.GetAll().FirstOrDefault().Id.ToString()},
+				           		{"Nombre", "APRESS"},
+				           		{"Logo", @"images\apress.gif"}
+				           	};
+				patrocinadorEdit = BindModel<PatrocinadorEditModel>(patrocinadorController, form);
+			}
+
+			using (new RequestEmulator(NhHelper.GetSessionFactory()))
+			{
+				Assert.AreEqual(1, patrocinadorRepository.GetAll().Count());
+				var resultQuit = patrocinadorController.Modificar(patrocinadorEdit);
+				Assert.IsInstanceOf(typeof(RedirectToRouteResult), resultQuit);
+				var viewResult = (RedirectToRouteResult)resultQuit;
+				Assert.AreEqual("Index", viewResult.RouteValues["action"]);
+				Assert.AreEqual(1, patrocinadorRepository.GetAll().Count());
+			}
+		}
 	}
 }