comparison Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs @ 138:62791999ad01

Agregando relación entre Evento y Patrocinador
author nelopauselli
date Thu, 28 Jul 2011 10:13:28 -0300
parents
children e6e6bfb1da9e
comparison
equal deleted inserted replaced
137:2d1adbaf0373 138:62791999ad01
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 {
9 [TestFixture]
10 public class Eventos_y_patrocinadores_tests : TestBase
11 {
12 private Guid _apressId;
13 private Guid _jetbrainsId;
14 private Guid _eventoId;
15 private Agenda _agenda;
16
17 [SetUp]
18 public void CrearDatos()
19 {
20 _agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository);
21
22 _apressId = CrearPatrocinador("Apress", "images/apress.gif");
23 _jetbrainsId = CrearPatrocinador("jetbrains", "images/jetbrains.png");
24 _eventoId = CrearEvento();
25 }
26
27 [Test]
28 public void Indicar_patrociadores()
29 {
30 _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
31
32 var evento = DefaultEventoRepository.GetActivos().First();
33 Assert.AreNotEqual(Guid.Empty, evento.Id);
34 Assert.IsNotNull(evento.Fecha);
35 Assert.IsNotNull(evento.Patrocinadores);
36 Assert.IsTrue(evento.Patrocinadores.Any());
37 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
38 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
39 }
40
41 [Test]
42 public void Agregar_patrociador()
43 {
44 {
45 _agenda.IndicarPatrocinadores(_eventoId, new[] {_apressId});
46
47 var evento = DefaultEventoRepository.GetActivos().First();
48 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
49 Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
50 }
51
52 {
53 _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
54
55 var evento = DefaultEventoRepository.GetActivos().First();
56 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
57 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
58 }
59 }
60
61 [Test]
62 public void Quitar_patrociador()
63 {
64 {
65 _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId });
66
67 var evento = DefaultEventoRepository.GetActivos().First();
68 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
69 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
70 }
71
72 {
73 _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId });
74
75 var evento = DefaultEventoRepository.GetActivos().First();
76 Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress"));
77 Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains"));
78 }
79
80 {
81 _agenda.IndicarPatrocinadores(_eventoId, new Guid[] {});
82
83 var evento = DefaultEventoRepository.GetActivos().First();
84 Assert.IsFalse(evento.Patrocinadores.Any());
85 }
86 }
87
88 private static Guid CrearPatrocinador(string nombre, string images)
89 {
90 var patrocinador = new Patrocinador(nombre);
91 patrocinador.LoadLogo(images);
92
93 var patrocinadorRepository = DefaultPatrocinadorRepository;
94 patrocinadorRepository.Save(patrocinador);
95
96 return patrocinador.Id;
97 }
98
99 private Guid CrearEvento()
100 {
101 _agenda.Agendar("ADFS", "Nelo Pauselli", DateTime.Today.AddDays(7), null, TipoEvento.Van);
102
103 var evento = DefaultEventoRepository.GetActivos().First();
104 return evento.Id;
105 }
106
107 }
108 }