Mercurial > altnet-hispano
view 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 source
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); } } } }