Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Web.Tests/Controllers/PersonaControllerTests.cs @ 259:e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
author | juanjose.montesdeocaarbos |
---|---|
date | Thu, 20 Oct 2011 08:16:55 -0300 |
parents | |
children | d669e9b9e24e |
line wrap: on
line source
using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using Agendas.NHibernate; using Agendas.Repositories.Tests.Infraestructure; 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 PersonaControllerTests { private void SetearUsuario() { var seguridad = new Mock<ISeguridad>(); seguridad.Setup(s => s.GetUserName()).Returns("neluz"); IdentityContext.Init(seguridad.Object, new PersonaRepository(NhHelper.GetSessionFactory())); } [SetUp] public void Setup() { NhHelperTest.CleanDb(); //PopulatePersona(); SetearUsuario(); } [Test] public void PersonaNueva_ErrorAlGuardarTwitterConArroba() { var personaController = new PersonaController(); var personaNew = new PersonaNewModel { Blog = "http://juanjose.montesdeocaarbos.com.ar/blog/", EMail = "juanjose.montesdeocaarbos gmail.com", Nombre = "Juan José Montes de Oca Arbós", Roles = new string[] {"Administrador", "Usuario"}, Twitter = "@jjmoa" }; using (new RequestEmulator(NhHelper.GetSessionFactory())) { Assert.IsFalse(personaController.TempData.ContainsKey("error")); var resultNuevo = personaController.Nueva(personaNew); Assert.IsInstanceOf(typeof (ViewResult), resultNuevo); Assert.AreEqual("Defaulteditor", ((ViewResult) resultNuevo).ViewName); Assert.IsTrue(personaController.TempData.ContainsKey("error")); Assert.AreNotEqual(string.Empty, personaController.TempData["error"]); } } [Test] public void PersonaModificar_ErrorAlGuardarTwitterConArroba() { var personaController = new PersonaController(); #region PersonaNew var personaNew = new PersonaNewModel { Blog = "http://juanjose.montesdeocaarbos.com.ar/blog/", EMail = "juanjose.montesdeocaarbos@gmail.com", Nombre = "Juan José Montes de Oca Arbós", Roles = new string[] {"Administrador", "Usuario"}, Twitter = "jjmoa" }; using (new RequestEmulator(NhHelper.GetSessionFactory())) { personaController.Nueva(personaNew); } #endregion PersonaEditModel personaEdit = null; using (new RequestEmulator(NhHelper.GetSessionFactory())) { var personaRepository = new PersonaRepository(NhHelper.GetSessionFactory()); personaEdit = new PersonaEditModel { Id = personaRepository.GetAll().FirstOrDefault().Id.ToString(), Blog = "http://juanjose.montesdeocaarbos.com.ar/blog/", EMail = "juanjose.montesdeocaarbos gmail.com", Nombre = "Juan José Montes de Oca Arbós", Roles = new string[] {"Administrador", "Usuario"}, Twitter = "@jjmoa" }; } using (new RequestEmulator(NhHelper.GetSessionFactory())) { Assert.IsFalse(personaController.TempData.ContainsKey("error")); var resultModificar = personaController.Modificar(personaEdit); Assert.IsInstanceOf(typeof (ViewResult), resultModificar); Assert.AreEqual("Defaulteditor", ((ViewResult) resultModificar).ViewName); Assert.IsTrue(personaController.TempData.ContainsKey("error")); Assert.AreNotEqual(string.Empty, personaController.TempData["error"]); } } } }