Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 106:80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
agregado de tipo de evento en el alta de evento y en el alta de propuestas desde la app web
algunas correcciones en el publicador del blog
agregado de textos para publicar en el blog eventos de tipo alt.net cafe
author | jorge.rowies |
---|---|
date | Mon, 06 Jun 2011 14:07:12 -0300 |
parents | 1d820f17fc75 |
children | b74734a1a755 |
comparison
equal
deleted
inserted
replaced
105:1d820f17fc75 | 106:80c22175c9b5 |
---|---|
29 | 29 |
30 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Throws(new Exception("Error intencional")); | 30 publicador.Setup(p => p.Publicar(It.IsAny<IEnumerable<Track>>())).Throws(new Exception("Error intencional")); |
31 | 31 |
32 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); | 32 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); |
33 | 33 |
34 Assert.Throws<Exception>(() => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, urlInvitacion)); | 34 Assert.Throws<Exception>(() => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, urlInvitacion, TipoEvento.Van)); |
35 Assert.AreEqual(0, agenda.GetEventosAgendados().Count); | 35 Assert.AreEqual(0, agenda.GetEventosAgendados().Count); |
36 | 36 |
37 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); | 37 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
38 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | 38 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); |
39 } | 39 } |
48 | 48 |
49 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); | 49 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); |
50 | 50 |
51 Assert.Throws<IdentityContextNotConfiguredException>( | 51 Assert.Throws<IdentityContextNotConfiguredException>( |
52 () => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, | 52 () => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, |
53 urlInvitacion)); | 53 urlInvitacion, TipoEvento.Van)); |
54 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | 54 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); |
55 } | 55 } |
56 | 56 |
57 [Test] | 57 [Test] |
58 public void Intentar_agendar_evento_sin_usuario_autenticado() | 58 public void Intentar_agendar_evento_sin_usuario_autenticado() |
63 var repository = new Mock<IEventoRepository>(); | 63 var repository = new Mock<IEventoRepository>(); |
64 | 64 |
65 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); | 65 var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); |
66 | 66 |
67 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, | 67 Assert.Throws<UsuarioNoAutenticadoException>(() => agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, |
68 urlInvitacion)); | 68 urlInvitacion, TipoEvento.Van)); |
69 | 69 |
70 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(0)); | 70 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(0)); |
71 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); | 71 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(0)); |
72 } | 72 } |
73 | 73 |
75 public void Intentar_agendar_evento_sin_ponente() | 75 public void Intentar_agendar_evento_sin_ponente() |
76 { | 76 { |
77 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); | 77 var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); |
78 | 78 |
79 var r = agenda.Agendar("Van para publicar", string.Empty, DateTime.Now, | 79 var r = agenda.Agendar("Van para publicar", string.Empty, DateTime.Now, |
80 urlInvitacion); | 80 urlInvitacion, TipoEvento.Van); |
81 | 81 |
82 Assert.IsFalse(r.Succeful); | 82 Assert.IsFalse(r.Succeful); |
83 } | 83 } |
84 | 84 |
85 [Test] | 85 [Test] |
92 | 92 |
93 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), | 93 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), |
94 repository.Object, DefaultPersonaRepository); | 94 repository.Object, DefaultPersonaRepository); |
95 | 95 |
96 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, | 96 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, |
97 urlInvitacion); | 97 urlInvitacion, TipoEvento.Van); |
98 | 98 |
99 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); | 99 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
100 publicador2.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); | 100 publicador2.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
101 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1)); | 101 repository.Verify(p => p.Save(It.IsAny<Evento>()), Times.Exactly(1)); |
102 } | 102 } |
107 var publicador = new Mock<IPublicador>(); | 107 var publicador = new Mock<IPublicador>(); |
108 | 108 |
109 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository); | 109 var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository); |
110 | 110 |
111 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, | 111 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, |
112 urlInvitacion); | 112 urlInvitacion, TipoEvento.Van); |
113 | 113 |
114 Assert.AreEqual(0, agenda.GetEventosPropuestos().Count); | 114 Assert.AreEqual(0, agenda.GetEventosPropuestos().Count); |
115 | 115 |
116 var eventos = agenda.GetEventosAgendados(); | 116 var eventos = agenda.GetEventosAgendados(); |
117 Assert.AreEqual(1, eventos.Count); | 117 Assert.AreEqual(1, eventos.Count); |
130 var publicador = new Mock<IPublicador>(); | 130 var publicador = new Mock<IPublicador>(); |
131 | 131 |
132 var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository); | 132 var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository); |
133 | 133 |
134 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, | 134 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, |
135 urlInvitacion); | 135 urlInvitacion, TipoEvento.Van); |
136 | 136 |
137 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); | 137 publicador.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
138 | 138 |
139 var evento = repository.GetEventosConFecha().First(); | 139 var evento = repository.GetEventosConFecha().First(); |
140 Assert.AreNotEqual(Guid.Empty, evento.Id); | 140 Assert.AreNotEqual(Guid.Empty, evento.Id); |
163 | 163 |
164 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), | 164 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), |
165 DefaultEventoRepository, DefaultPersonaRepository); | 165 DefaultEventoRepository, DefaultPersonaRepository); |
166 | 166 |
167 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, | 167 agenda.Agendar("Van para publicar", "jjmontes", DateTime.Now, |
168 urlInvitacion); | 168 urlInvitacion, TipoEvento.Van); |
169 | 169 |
170 var van = agenda.GetEventosAgendados().Single(v => v.Titulo == "Van para publicar"); | 170 var van = agenda.GetEventosAgendados().Single(v => v.Titulo == "Van para publicar"); |
171 //agenda.Recordar(van.Id); | 171 //agenda.Recordar(van.Id); |
172 | 172 |
173 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); | 173 publicador1.Verify(p => p.Publicar(It.IsAny<IEnumerable<Track>>()), Times.Exactly(1)); |
182 var publicador2 = new Mock<IPublicador>(); | 182 var publicador2 = new Mock<IPublicador>(); |
183 | 183 |
184 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), | 184 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), |
185 DefaultEventoRepository, DefaultPersonaRepository); | 185 DefaultEventoRepository, DefaultPersonaRepository); |
186 | 186 |
187 agenda.Proponer("Html 5", "jjmontes", urlInvitacion); | 187 agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); |
188 Assert.AreEqual(1, agenda.GetEventosPropuestos().Count); | 188 Assert.AreEqual(1, agenda.GetEventosPropuestos().Count); |
189 Assert.AreEqual(0, agenda.GetEventosAgendados().Count); | 189 Assert.AreEqual(0, agenda.GetEventosAgendados().Count); |
190 | 190 |
191 var publicado = agenda.GetEventosPropuestos().First(); | 191 var publicado = agenda.GetEventosPropuestos().First(); |
192 Assert.AreEqual(1, publicado.Tracks.Count()); | 192 Assert.AreEqual(1, publicado.Tracks.Count()); |
207 public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente() | 207 public void Al_proponer_un_evento_debe_quedar_con_estado_EventoPropuestoState_y_debe_generar_el_track_correspondiente() |
208 { | 208 { |
209 var publicador1 = new Mock<IPublicador>(); | 209 var publicador1 = new Mock<IPublicador>(); |
210 | 210 |
211 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | 211 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); |
212 agenda.Proponer("Html 5", "jjmontes", urlInvitacion); | 212 agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); |
213 | 213 |
214 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); | 214 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); |
215 | 215 |
216 Assert.IsInstanceOf(typeof(EventoPropuestoState), evento.GetEstado()); | 216 Assert.IsInstanceOf(typeof(EventoPropuestoState), evento.GetEstado()); |
217 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Proponer) == 1); | 217 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Proponer) == 1); |
221 public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente() | 221 public void Al_agendar_un_evento_debe_quedar_con_estado_EventoAgendadoState_y_debe_generar_el_track_correspondiente() |
222 { | 222 { |
223 var publicador1 = new Mock<IPublicador>(); | 223 var publicador1 = new Mock<IPublicador>(); |
224 | 224 |
225 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | 225 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); |
226 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion); | 226 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
227 | 227 |
228 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); | 228 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); |
229 | 229 |
230 Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.GetEstado()); | 230 Assert.IsInstanceOf(typeof(EventoAgendadoState), evento.GetEstado()); |
231 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1); | 231 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Agendar) == 1); |
235 public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente() | 235 public void Al_confirmar_un_evento_debe_quedar_con_estado_EventoConfirmadoState_y_debe_generar_el_track_correspondiente() |
236 { | 236 { |
237 var publicador1 = new Mock<IPublicador>(); | 237 var publicador1 = new Mock<IPublicador>(); |
238 | 238 |
239 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | 239 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); |
240 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion); | 240 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
241 | 241 |
242 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); | 242 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); |
243 | 243 |
244 agenda.Confirmar(evento.Id); | 244 agenda.Confirmar(evento.Id); |
245 | 245 |
251 public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() | 251 public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() |
252 { | 252 { |
253 var publicador1 = new Mock<IPublicador>(); | 253 var publicador1 = new Mock<IPublicador>(); |
254 | 254 |
255 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | 255 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); |
256 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion); | 256 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
257 | 257 |
258 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); | 258 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); |
259 | 259 |
260 agenda.Confirmar(evento.Id); | 260 agenda.Confirmar(evento.Id); |
261 agenda.Publicar(evento.Id, 0, string.Empty); | 261 agenda.Publicar(evento.Id, 0, string.Empty); |
268 public void Al_publicar_un_evento_debe_asignarse_el_nro_de_reunion_y_la_url_de_la_wiki() | 268 public void Al_publicar_un_evento_debe_asignarse_el_nro_de_reunion_y_la_url_de_la_wiki() |
269 { | 269 { |
270 var publicador1 = new Mock<IPublicador>(); | 270 var publicador1 = new Mock<IPublicador>(); |
271 | 271 |
272 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | 272 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); |
273 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion); | 273 agenda.Agendar("Html 5", "jjmontes", DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
274 | 274 |
275 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); | 275 var evento = DefaultEventoRepository.GetEventosConFecha().Single(e => e.Titulo == "Html 5"); |
276 agenda.Confirmar(evento.Id); | 276 agenda.Confirmar(evento.Id); |
277 | 277 |
278 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | 278 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; |
287 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion() | 287 public void Al_confirmar_sin_agendar_debe_lanzarse_excepcion() |
288 { | 288 { |
289 var publicador1 = new Mock<IPublicador>(); | 289 var publicador1 = new Mock<IPublicador>(); |
290 | 290 |
291 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | 291 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); |
292 agenda.Proponer("Html 5", "jjmontes", urlInvitacion); | 292 agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); |
293 | 293 |
294 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); | 294 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); |
295 | 295 |
296 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoAgendadoState)); | 296 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoAgendadoState)); |
297 | 297 |
303 public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion() | 303 public void Al_publicar_sin_confirmar_debe_lanzarse_excepcion() |
304 { | 304 { |
305 var publicador1 = new Mock<IPublicador>(); | 305 var publicador1 = new Mock<IPublicador>(); |
306 | 306 |
307 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); | 307 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); |
308 agenda.Proponer("Html 5", "jjmontes", urlInvitacion); | 308 agenda.Proponer("Html 5", "jjmontes", urlInvitacion, TipoEvento.Van); |
309 | 309 |
310 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); | 310 var evento = DefaultEventoRepository.GetEventosSinFecha().Single(e => e.Titulo == "Html 5"); |
311 | 311 |
312 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); | 312 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); |
313 | 313 |