view Agendas/trunk/src/Agendas.Web.Tests/Controllers/PatrocinadorApiControllerTests.cs @ 302:11dddcc9a862 tip

Historico de Eventos, no muestra bien la Url del Patrocinador.
author juanjose.montesdeocaarbos
date Tue, 14 Aug 2012 21:54:30 -0300
parents 9bc60d166c8a
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);
			//}
		}
	}
}