annotate Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs @ 289:8b0c62c255cd

Se modifica DataAnnotationAndConventionModelMetadataProvider.cs para que lea Recursos en base al Assembly Fullname
author juanjose.montesdeocaarbos
date Tue, 07 Feb 2012 23:28:20 -0300
parents eeca9ddb330a
children 9bc60d166c8a
rev   line source
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
1 using System;
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
2 using System.Linq;
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
3 using AltNetHispano.Agendas.Domain;
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
4 using Moq;
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
5 using NUnit.Framework;
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
6
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
7 namespace AltNetHispano.Agendas.Tests
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
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
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
116
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 200
diff changeset
117 }
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
diff changeset
118 }