annotate 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
rev   line source
285
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
1 using System.Linq;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
2 using System.Web;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
3 using System.Web.Mvc;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
4 using Agendas.NHibernate;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
5 using Agendas.Repositories.Tests.Infraestructure;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
6 using Agendas.Web.Tests.Helpers;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
7 using AltNetHispano.Agendas.Domain;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
8 using AltNetHispano.Agendas.Repositories.NHibernate;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
9 using AltNetHispano.Agendas.Web.Controllers;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
10 using AltNetHispano.Agendas.Web.Models;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
11 using Moq;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
12 using NUnit.Framework;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
13
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
14 namespace Agendas.Web.Tests.Controllers
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
15 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
16 [TestFixture]
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
17 public class PatrocinadorApiControllerTests: MvcControllerTestsBase
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
18 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
19 internal void CrearPatrocinadorApress()
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
20 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
21 var patrocinadorController = new PatrocinadorController(new HttpServerStub())
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
22 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
23 ControllerContext = ControllerCtx
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
24 };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
25 var form = new FormCollection
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
26 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
27 {"Nombre", "APRESS"},
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
28 {"Logo", @"images\apress.gif"}
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
29 };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
30 var patrocinadorNew = BindModel<PatrocinadorNewModel>(patrocinadorController, form);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
31
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
32 using (new RequestEmulator(NhHelper.GetSessionFactory()))
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
33 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
34 var resultNuevo = patrocinadorController.Nuevo(patrocinadorNew);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
35 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
36 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
37
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
38 internal void RegisterBinders()
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
39 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
40 ModelBinders.Binders[typeof(HttpPostedFileBase)] = new HttpPostedFileBaseModelBinder();
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
41 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
42
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
43 [SetUp]
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
44 public void SetUpTests()
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
45 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
46 NhHelperTest.CleanDb();
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
47 RegisterBinders();
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
48 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
49
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
50 [Test]
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
51 public void PatrocinadorNuevoGetSusseful()
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
52 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
53 var patrocinadorController = new PatrocinadorApiController { ControllerContext = ControllerCtx };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
54 using (new RequestEmulator(NhHelper.GetSessionFactory()))
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
55 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
56 var resultNuevo = patrocinadorController.Nuevo();
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
57 Assert.IsInstanceOf(typeof(PartialViewResult), resultNuevo);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
58 Assert.AreEqual(string.Empty, ((PartialViewResult)resultNuevo).ViewName);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
59 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
60 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
61
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
62 [Test]
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
63 public void PatrocinadorNuevoPostErrorRequeriedFields()
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
64 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
65 var patrocinadorApiController = new PatrocinadorApiController(new HttpServerStub())
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
66 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
67 ControllerContext = ControllerCtx
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
68 };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
69 var form = new FormCollection
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
70 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
71 {"Nombre", ""},
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
72 {"Logo", "" }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
73 };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
74 var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
75
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
76 using (new RequestEmulator(NhHelper.GetSessionFactory()))
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
77 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
78 var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
79 Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
80 var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
81 Assert.IsFalse(resultadoJsonNuevo.Succeful);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
82 //Assert.AreEqual("El Nombre es obligatorio,El Logo es obligatorio", resultadoJsonNuevo.Message);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
83 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
84 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
85
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
86 [Test]
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
87 public void PatrocinadorNuevoPostErrorPatrocinadorExists()
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
88 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
89 CrearPatrocinadorApress();
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
90
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
91 var patrocinadorApiController = new PatrocinadorApiController(new HttpServerStub())
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
92 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
93 ControllerContext = ControllerCtx
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
94 };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
95 var form = new FormCollection
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
96 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
97 {"Nombre", "Apress"},
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
98 {"Logo", @"images\apress.gif" }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
99 };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
100 var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
101
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
102 using (new RequestEmulator(NhHelper.GetSessionFactory()))
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
103 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
104 var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
105 Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
106 var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
107 Assert.IsFalse(resultadoJsonNuevo.Succeful);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
108 Assert.AreEqual("El patrocinador ya existe.", resultadoJsonNuevo.Message);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
109 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
110 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
111
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
112 [Test]
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
113 public void PatrocinadorNuevoPostSusseful()
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
114 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
115 var patrocinadorApiController = new PatrocinadorApiController(new HttpServerStub())
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
116 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
117 ControllerContext = ControllerCtx
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
118 };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
119 var form = new FormCollection
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
120 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
121 {"Nombre", "Apress"},
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
122 {"Logo", @"images\apress.gif" }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
123 };
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
124 var patrocinadorApiNew = BindModel<PatrocinadorNewModel>(patrocinadorApiController, form);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
125
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
126 using (new RequestEmulator(NhHelper.GetSessionFactory()))
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
127 {
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
128 var resultNuevo = patrocinadorApiController.Nuevo(patrocinadorApiNew);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
129 Assert.IsInstanceOf(typeof(JsonResult), resultNuevo);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
130 var resultadoJsonNuevo = (Resultado)resultNuevo.Data;
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
131 Assert.IsTrue(resultadoJsonNuevo.Succeful);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
132 Assert.AreEqual(string.Empty, resultadoJsonNuevo.Message);
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
133 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
134 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
135 }
c8f378272407 #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
diff changeset
136 }