Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs @ 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.
author | juanjose.montesdeocaarbos |
---|---|
date | Mon, 02 Jan 2012 19:44:41 -0300 |
parents | 72a96459f910 |
children | 9bc60d166c8a |
rev | line source |
---|---|
138 | 1 using System; |
2 using System.Linq; | |
3 using AltNetHispano.Agendas.Domain; | |
4 using Moq; | |
5 using NUnit.Framework; | |
6 | |
7 namespace AltNetHispano.Agendas.Tests | |
8 { | |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
9 [TestFixture] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
10 public class Eventos_y_patrocinadores_tests : TestBase |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
11 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
12 private Guid _apressId; |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
13 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
|
14 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
|
15 private Guid _eventoDosId; |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
16 private Agenda _agenda; |
138 | 17 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
18 [SetUp] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
19 public void CrearDatos() |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
20 { |
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
|
21 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
|
22 var fechaTermino = fechaInicio.AddHours(2); |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
23 _agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
138 | 24 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
25 _apressId = CrearPatrocinador("Apress", "images/apress.gif"); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
26 _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
|
27 _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
|
28 _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
|
29 } |
138 | 30 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
31 [Test] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
32 public void Indicar_patrociadores() |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
33 { |
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
|
34 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId, _jetbrainsId }); |
138 | 35 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
36 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
37 Assert.AreNotEqual(Guid.Empty, evento.Id); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
38 Assert.IsNotNull(evento.FechaInicio); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
39 Assert.IsNotNull(evento.Patrocinadores); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
40 Assert.IsTrue(evento.Patrocinadores.Any()); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
41 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
42 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
43 } |
138 | 44 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
45 [Test] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
46 public void Agregar_patrociador() |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
47 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
48 { |
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
|
49 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId }); |
138 | 50 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
51 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
52 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
53 Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
54 } |
138 | 55 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
56 { |
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
|
57 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId, _jetbrainsId }); |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
58 |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
59 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
60 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
61 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
62 } |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
63 } |
138 | 64 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
65 [Test] |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
66 public void Quitar_patrociador() |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
67 { |
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 }); |
138 | 70 |
274
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 } |
138 | 75 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
76 { |
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
|
77 _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId }); |
138 | 78 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
79 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
80 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
81 Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
82 } |
138 | 83 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
84 { |
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
|
85 _agenda.IndicarPatrocinadores(_eventoUnoId, new Guid[] { }); |
138 | 86 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
87 var evento = DefaultEventoRepository.GetActivos().First(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
88 Assert.IsFalse(evento.Patrocinadores.Any()); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
89 } |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
90 } |
138 | 91 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
92 private static Guid CrearPatrocinador(string nombre, string images) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
93 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
94 var patrocinador = new Patrocinador(nombre); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
95 patrocinador.LoadLogo(images); |
138 | 96 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
97 var patrocinadorRepository = DefaultPatrocinadorRepository; |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
98 patrocinadorRepository.Save(patrocinador); |
138 | 99 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
100 return patrocinador.Id; |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
101 } |
138 | 102 |
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
|
103 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
|
104 { |
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
|
105 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
|
106 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
|
107 { |
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
|
108 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
|
109 } |
138 | 110 |
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
|
111 _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
|
112 |
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
|
113 var evento = DefaultEventoRepository.GetActivos().First(e=>e.Titulo == nombreEvento); |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
114 return evento.Id; |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
115 } |
138 | 116 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
200
diff
changeset
|
117 } |
138 | 118 } |