Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Repositories.Tests/EventoCrud.cs @ 235:c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
author | nelopauselli |
---|---|
date | Tue, 04 Oct 2011 20:42:35 -0300 |
parents | f23ee59ef1bd |
children | 51faeabfb9d9 |
comparison
equal
deleted
inserted
replaced
231:e5959f3405e0 | 235:c61954d24c8c |
---|---|
1 using System; | 1 using System; |
2 using System.Collections.Generic; | |
2 using System.Linq; | 3 using System.Linq; |
3 using Agendas.Repositories.Tests.Infraestructure; | 4 using Agendas.Repositories.Tests.Infraestructure; |
4 using AltNetHispano.Agendas.Domain; | 5 using AltNetHispano.Agendas.Domain; |
5 using AltNetHispano.Agendas.Domain.Repositories; | 6 using AltNetHispano.Agendas.Domain.Repositories; |
6 using Moq; | 7 using Moq; |
39 | 40 |
40 private Guid CreateEvento() | 41 private Guid CreateEvento() |
41 { | 42 { |
42 using (_requestEmulator.Invoke()) | 43 using (_requestEmulator.Invoke()) |
43 { | 44 { |
44 var ponente = new Persona("Carlos Blé") {Twitter = "carlosble"}; | |
45 _personaRepository.Save(ponente); | |
46 | |
47 var colaboradores = new[] | 45 var colaboradores = new[] |
48 { | 46 { |
47 new Persona("Carlos Blé") {Twitter = "carlosble"}, | |
49 new Persona("Alejandro Labra") {Twitter = "alejandrolabra"}, | 48 new Persona("Alejandro Labra") {Twitter = "alejandrolabra"}, |
50 new Persona("Carlos Peix") {Twitter = "carlospeix"} | 49 new Persona("Carlos Peix") {Twitter = "carlospeix"} |
51 }; | 50 }; |
52 | 51 |
53 foreach (var colaborador in colaboradores) | 52 foreach (var colaborador in colaboradores) |
54 _personaRepository.Save(colaborador); | 53 _personaRepository.Save(colaborador); |
55 | 54 |
56 var usuario = new Persona("Nelo") {Twitter = "nelopauselli"}; | 55 var usuario = new Persona("Nelo") {Twitter = "nelopauselli"}; |
57 _personaRepository.Save(usuario); | 56 _personaRepository.Save(usuario); |
58 | 57 |
59 var evento = Evento.Proponer("TDD - Diseño Basado en Ejemplos", ponente, string.Empty, TipoEvento.Van); | 58 var evento = Evento.Proponer("TDD - Diseño Basado en Ejemplos", string.Empty, TipoEvento.Van); |
60 evento.ActualizarOtrosPonentes(colaboradores); | 59 evento.ActualizarOtrosPonentes(colaboradores); |
61 | 60 |
62 evento.Tracks.First().LogAdd(new TrackLog(TrackLogPropietario.Twitter, "Mensaje", usuario, true)); | 61 evento.Tracks.First().LogAdd(new TrackLog(TrackLogPropietario.Twitter, "Mensaje", usuario, true)); |
63 | 62 |
64 _eventoRepository.Save(evento); | 63 _eventoRepository.Save(evento); |
75 using (_requestEmulator.Invoke()) | 74 using (_requestEmulator.Invoke()) |
76 { | 75 { |
77 Evento van = _eventoRepository.Get(eventoId); | 76 Evento van = _eventoRepository.Get(eventoId); |
78 | 77 |
79 Assert.IsNotNull(van); | 78 Assert.IsNotNull(van); |
80 Assert.IsNotNull(van.Ponente); | 79 Assert.IsNotNull(van.Ponentes); |
81 Assert.AreEqual("Carlos Blé", van.Ponente.Nombre); | 80 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Carlos Blé")); |
82 | 81 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Alejandro Labra")); |
82 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Carlos Peix")); | |
83 var track1 = van.Tracks.Where(t => t.Accion == Accion.Proponer).FirstOrDefault(); | 83 var track1 = van.Tracks.Where(t => t.Accion == Accion.Proponer).FirstOrDefault(); |
84 Assert.IsNotNull(track1); | 84 Assert.IsNotNull(track1); |
85 Assert.AreEqual(van, track1.Evento); | 85 Assert.AreEqual(van, track1.Evento); |
86 | 86 |
87 Assert.AreEqual("TDD - Diseño Basado en Ejemplos", van.Titulo); | 87 Assert.AreEqual("TDD - Diseño Basado en Ejemplos", van.Titulo); |
88 | 88 |
89 Assert.AreEqual(2, van.OtrosPonentes.Count()); | 89 Assert.AreEqual(3, van.Ponentes.Count()); |
90 } | 90 } |
91 } | 91 } |
92 | 92 |
93 [Test] | 93 [Test] |
94 public void Update() | 94 public void Update() |
106 van.CambiarTitulo("TDD & Ejemplos"); | 106 van.CambiarTitulo("TDD & Ejemplos"); |
107 | 107 |
108 var otroPonente = new Persona("José"); | 108 var otroPonente = new Persona("José"); |
109 _personaRepository.Save(otroPonente); | 109 _personaRepository.Save(otroPonente); |
110 | 110 |
111 van.Actualizar(otroPonente, fechaInicio, fechaTermino, null); | 111 van.Actualizar(fechaInicio, fechaTermino, null); |
112 | |
113 var ponentes = new List<Persona>(van.Ponentes); | |
114 ponentes.RemoveAll(p => p.Nombre == "Carlos Blé"); | |
115 ponentes.Add(otroPonente); | |
116 | |
117 van.ActualizarOtrosPonentes(ponentes); | |
112 | 118 |
113 _eventoRepository.Update(van); | 119 _eventoRepository.Update(van); |
114 } | 120 } |
115 | 121 |
116 using (_requestEmulator.Invoke()) | 122 using (_requestEmulator.Invoke()) |
117 { | 123 { |
118 Evento van = _eventoRepository.Get(eventoId); | 124 Evento van = _eventoRepository.Get(eventoId); |
119 | 125 |
120 Assert.IsNotNull(van); | 126 Assert.IsNotNull(van); |
121 Assert.IsNotNull(van.Ponente); | 127 |
122 Assert.AreEqual("José", van.Ponente.Nombre); | 128 Assert.IsFalse(van.Ponentes.Any(p => p.Nombre == "Carlos Blé")); |
129 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Alejandro Labra")); | |
130 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "Carlos Peix")); | |
131 Assert.IsTrue(van.Ponentes.Any(p => p.Nombre == "José")); | |
132 | |
123 Assert.AreEqual("TDD & Ejemplos", van.Titulo); | 133 Assert.AreEqual("TDD & Ejemplos", van.Titulo); |
124 Assert.AreEqual(new DateTime(2010, 04, 17).ToUniversalTime(), van.FechaInicio); | 134 Assert.AreEqual(new DateTime(2010, 04, 17).ToUniversalTime(), van.FechaInicio); |
125 Assert.AreEqual(fechaTermino, van.FechaTermino); | 135 Assert.AreEqual(fechaTermino, van.FechaTermino); |
126 | 136 |
127 var ponente1 = _personaRepository.GetByNombre("Carlos Blé"); | 137 var ponente1 = _personaRepository.GetByNombre("Carlos Blé"); |
168 using (_requestEmulator.Invoke()) | 178 using (_requestEmulator.Invoke()) |
169 { | 179 { |
170 Evento evento = _eventoRepository.Get(eventoId); | 180 Evento evento = _eventoRepository.Get(eventoId); |
171 Assert.AreEqual(EventoPropuestoState.GetInstance(), evento.Estado); | 181 Assert.AreEqual(EventoPropuestoState.GetInstance(), evento.Estado); |
172 | 182 |
173 evento.Agendar(evento.Ponente, evento.FechaInicio, evento.FechaTermino, null); | 183 evento.Agendar(evento.FechaInicio, evento.FechaTermino, null); |
174 } | 184 } |
175 | 185 |
176 using (_requestEmulator.Invoke()) | 186 using (_requestEmulator.Invoke()) |
177 { | 187 { |
178 Evento evento = _eventoRepository.Get(eventoId); | 188 Evento evento = _eventoRepository.Get(eventoId); |