view Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorApiControllerTests.cs @ 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 c8f378272407
children
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]
	[Ignore("No se utiliza PatrocinadorApiController, ya que no se puede postear el logo del Patrocinador.")]
	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
			//{
			//    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
			//{
			//    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
			//{
			//    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);
			//}
		}
	}
}