Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.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 | eeca9ddb330a |
children | 48ab8788bd19 |
rev | line source |
---|---|
138 | 1 using System; |
298
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
2 using System.Drawing; |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
3 using System.IO; |
138 | 4 using System.Linq; |
5 using AltNetHispano.Agendas.Domain; | |
6 using Moq; | |
7 using NUnit.Framework; | |
8 | |
9 namespace AltNetHispano.Agendas.Tests | |
10 { | |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
11 [TestFixture] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
12 public class Eventos_y_patrocinadores_tests : TestBase |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
13 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
14 private Guid _apressId; |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
15 private Guid _jetbrainsId; |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
16 private Guid _eventoUnoId; |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
17 private Guid _eventoDosId; |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
18 private Agenda _agenda; |
138 | 19 |
298
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
20 private static byte[] LoadLogo(string path) |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
21 { |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
22 using (var image = Image.FromFile(path)) |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
23 { |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
24 var ms = new MemoryStream(); |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
25 image.Save(ms, image.RawFormat); |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
26 return ms.ToArray(); |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
27 } |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
28 } |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
29 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
30 [SetUp] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
31 public void CrearDatos() |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
32 { |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
33 var fechaInicio = DateTime.Today.AddDays(7).ToUniversalTime(); |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
34 var fechaTermino = fechaInicio.AddHours(2); |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
35 _agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
138 | 36 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
37 _apressId = CrearPatrocinador("Apress", "images/apress.gif"); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
38 _jetbrainsId = CrearPatrocinador("jetbrains", "images/jetbrains.png"); |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
39 _eventoUnoId = CrearEvento(new[] { "Carlos Peix", "Nelo Pauselli" }, "ADFS", fechaInicio, fechaTermino); |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
40 _eventoDosId = CrearEvento(new[] { "Carlos Peix", "Nelo Pauselli" }, "ADFS: Segunda parte.", fechaInicio.AddDays(3), fechaTermino.AddDays(3)); |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
41 } |
138 | 42 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
43 [Test] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
44 public void Indicar_patrociadores() |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
45 { |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
46 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId, _jetbrainsId }); |
138 | 47 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
48 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
49 Assert.AreNotEqual(Guid.Empty, evento.Id); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
50 Assert.IsNotNull(evento.FechaInicio); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
51 Assert.IsNotNull(evento.Patrocinadores); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
52 Assert.IsTrue(evento.Patrocinadores.Any()); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
53 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
54 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
55 } |
138 | 56 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
57 [Test] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
58 public void Agregar_patrociador() |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
59 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
60 { |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
61 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId }); |
138 | 62 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
63 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
64 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
65 Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
66 } |
138 | 67 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
68 { |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
69 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId, _jetbrainsId }); |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
70 |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
71 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
72 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
73 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
74 } |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
75 } |
138 | 76 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
77 [Test] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
78 public void Quitar_patrociador() |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
79 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
80 { |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
81 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId, _jetbrainsId }); |
138 | 82 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
83 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
84 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
85 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
86 } |
138 | 87 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
88 { |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
89 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId }); |
138 | 90 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
91 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
92 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
93 Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
94 } |
138 | 95 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
96 { |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
97 _agenda.IndicarPatrocinadores(_eventoUnoId, new Guid[] { }); |
138 | 98 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
99 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
100 Assert.IsFalse(evento.Patrocinadores.Any()); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
101 } |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
102 } |
138 | 103 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
104 private static Guid CrearPatrocinador(string nombre, string images) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
105 { |
298
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
106 var patrocinador = new Patrocinador(nombre) |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
107 { |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
108 Logo = LoadLogo(images) |
9bc60d166c8a
Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents:
287
diff
changeset
|
109 }; |
138 | 110 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
111 var patrocinadorRepository = DefaultPatrocinadorRepository; |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
112 patrocinadorRepository.Save(patrocinador); |
138 | 113 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
114 return patrocinador.Id; |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
115 } |
138 | 116 |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
117 private Guid CrearEvento(string[] nombrePonentes, string nombreEvento, DateTime fechaInicio, DateTime fechaTermino) |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
118 { |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
119 var ponentes = new Guid[nombrePonentes.Length]; |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
120 for (var nroPonente = 0; nroPonente < nombrePonentes.Length; nroPonente++) |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
121 { |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
122 ponentes[nroPonente] = TestsHelper.GetOrCreatePonente(nombrePonentes[nroPonente]); |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
123 } |
138 | 124 |
287
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
125 _agenda.Agendar(nombreEvento, ponentes, fechaInicio, fechaTermino, null, TipoEvento.Van); |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
126 |
eeca9ddb330a
BUG: Los Patrocinadores quedaban asociados a un único evento. Se armó un test que lo demuestra y se modificó el modelo de la base de datos.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
127 var evento = DefaultEventoRepository.GetActivos().First(e=>e.Titulo == nombreEvento); |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
128 return evento.Id; |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
129 } |
138 | 130 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
131 } |
138 | 132 } |