Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorApiControllerTests.cs @ 285:c8f378272407
#123: Patrocinadores de las vans.
author | juanjose.montesdeocaarbos |
---|---|
date | Sat, 31 Dec 2011 14:45:55 -0300 |
parents | |
children | 9bc60d166c8a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorApiControllerTests.cs Sat Dec 31 14:45:55 2011 -0300 @@ -0,0 +1,136 @@ +using System.Linq; +using System.Web; +using System.Web.Mvc; +using Agendas.NHibernate; +using Agendas.Repositories.Tests.Infraestructure; +using Agendas.Web.Tests.Helpers; +using AltNetHispano.Agendas.Domain; +using AltNetHispano.Agendas.Repositories.NHibernate; +using AltNetHispano.Agendas.Web.Controllers; +using AltNetHispano.Agendas.Web.Models; +using Moq; +using NUnit.Framework; + +namespace Agendas.Web.Tests.Controllers +{ + [TestFixture] + public class PatrocinadorApiControllerTests: MvcControllerTestsBase + { + internal void CrearPatrocinadorApress() + { + var patrocinadorController = new PatrocinadorController(new HttpServerStub()) + { + ControllerContext = ControllerCtx + }; + var form = new FormCollection + { + {"Nombre", "APRESS"}, + {"Logo", @"images\apress.gif"} + }; + var patrocinadorNew = BindModel<PatrocinadorNewModel>(patrocinadorController, form); + + using (new RequestEmulator(NhHelper.GetSessionFactory())) + { + var resultNuevo = patrocinadorController.Nuevo(patrocinadorNew); + } + } + + internal void RegisterBinders() + { + ModelBinders.Binders[typeof(HttpPostedFileBase)] = new HttpPostedFileBaseModelBinder(); + } + + [SetUp] + public void SetUpTests() + { + 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); + } + } + + [Test] + public void PatrocinadorNuevoPostErrorRequeriedFields() + { + var patrocinadorApiController = new PatrocinadorApiController(new HttpServerStub()) + { + 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); + } + } + + [Test] + public void PatrocinadorNuevoPostErrorPatrocinadorExists() + { + 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); + + 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); + + 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); + } + } + } +}