annotate 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
rev   line source
259
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
1 using System;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
2 using System.Collections.Generic;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
3 using System.Linq;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
4 using System.Web.Mvc;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
5 using Agendas.NHibernate;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
6 using Agendas.Repositories.Tests.Infraestructure;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
7 using AltNetHispano.Agendas.Domain;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
8 using AltNetHispano.Agendas.Repositories.NHibernate;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
9 using AltNetHispano.Agendas.Web.Controllers;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
10 using AltNetHispano.Agendas.Web.Models;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
11 using Moq;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
12 using NUnit.Framework;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
13
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
14 namespace Agendas.Web.Tests.Controllers
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
15 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
16 [TestFixture]
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
17 public class PersonaControllerTests
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
18 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
19 private void SetearUsuario()
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
20 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
21 var seguridad = new Mock<ISeguridad>();
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
22 seguridad.Setup(s => s.GetUserName()).Returns("neluz");
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
23 IdentityContext.Init(seguridad.Object, new PersonaRepository(NhHelper.GetSessionFactory()));
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
24 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
25
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
26 [SetUp]
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
27 public void Setup()
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
28 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
29 NhHelperTest.CleanDb();
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
30 //PopulatePersona();
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
31 SetearUsuario();
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
32 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
33
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
34 [Test]
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
35 public void PersonaNueva_ErrorAlGuardarTwitterConArroba()
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
36 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
37 var personaController = new PersonaController();
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
38
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
39 var personaNew = new PersonaNewModel
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
40 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
41 Blog = "http://juanjose.montesdeocaarbos.com.ar/blog/",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
42 EMail = "juanjose.montesdeocaarbos gmail.com",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
43 Nombre = "Juan José Montes de Oca Arbós",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
44 Roles = new string[] {"Administrador", "Usuario"},
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
45 Twitter = "@jjmoa"
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
46 };
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
47
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
48 using (new RequestEmulator(NhHelper.GetSessionFactory()))
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
49 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
50 Assert.IsFalse(personaController.TempData.ContainsKey("error"));
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
51 var resultNuevo = personaController.Nueva(personaNew);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
52 Assert.IsInstanceOf(typeof (ViewResult), resultNuevo);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
53 Assert.AreEqual("Defaulteditor", ((ViewResult) resultNuevo).ViewName);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
54 Assert.IsTrue(personaController.TempData.ContainsKey("error"));
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
55 Assert.AreNotEqual(string.Empty, personaController.TempData["error"]);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
56 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
57 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
58
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
59 [Test]
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
60 public void PersonaModificar_ErrorAlGuardarTwitterConArroba()
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
61 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
62 var personaController = new PersonaController();
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
63 #region PersonaNew
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
64 var personaNew = new PersonaNewModel
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
65 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
66 Blog = "http://juanjose.montesdeocaarbos.com.ar/blog/",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
67 EMail = "juanjose.montesdeocaarbos@gmail.com",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
68 Nombre = "Juan José Montes de Oca Arbós",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
69 Roles = new string[] {"Administrador", "Usuario"},
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
70 Twitter = "jjmoa"
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
71 };
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
72
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
73 using (new RequestEmulator(NhHelper.GetSessionFactory()))
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
74 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
75 personaController.Nueva(personaNew);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
76 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
77 #endregion
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
78
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
79 PersonaEditModel personaEdit = null;
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
80 using (new RequestEmulator(NhHelper.GetSessionFactory()))
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
81 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
82 var personaRepository = new PersonaRepository(NhHelper.GetSessionFactory());
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
83 personaEdit = new PersonaEditModel
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
84 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
85 Id = personaRepository.GetAll().FirstOrDefault().Id.ToString(),
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
86 Blog = "http://juanjose.montesdeocaarbos.com.ar/blog/",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
87 EMail = "juanjose.montesdeocaarbos gmail.com",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
88 Nombre = "Juan José Montes de Oca Arbós",
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
89 Roles = new string[] {"Administrador", "Usuario"},
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
90 Twitter = "@jjmoa"
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
91 };
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
92 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
93 using (new RequestEmulator(NhHelper.GetSessionFactory()))
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
94 {
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
95 Assert.IsFalse(personaController.TempData.ContainsKey("error"));
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
96 var resultModificar = personaController.Modificar(personaEdit);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
97 Assert.IsInstanceOf(typeof (ViewResult), resultModificar);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
98 Assert.AreEqual("Defaulteditor", ((ViewResult) resultModificar).ViewName);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
99 Assert.IsTrue(personaController.TempData.ContainsKey("error"));
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
100 Assert.AreNotEqual(string.Empty, personaController.TempData["error"]);
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
101 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
102 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
103 }
e6c041d8e1bf Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
diff changeset
104 }