Mercurial > altnet-hispano
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()); + } + } } }