Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Tests/AgendarTests.cs @ 161:c1062de96845
Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
author | juanjose.montesdeocaarbos |
---|---|
date | Fri, 05 Aug 2011 21:54:43 -0300 |
parents | e6e6bfb1da9e |
children | 5c94b052d838 |
comparison
equal
deleted
inserted
replaced
160:4241a930cab2 | 161:c1062de96845 |
---|---|
286 } | 286 } |
287 | 287 |
288 [Test] | 288 [Test] |
289 public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() | 289 public void Al_publicar_un_evento_debe_quedar_con_estado_EventoPublicadoState_y_debe_generar_el_track_correspondiente() |
290 { | 290 { |
291 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | |
291 var publicador1 = new Mock<IPublicador>(); | 292 var publicador1 = new Mock<IPublicador>(); |
292 | 293 |
293 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | 294 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); |
294 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); | 295 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); |
295 | 296 |
296 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); | 297 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); |
297 | 298 |
298 agenda.Confirmar(evento.Id); | 299 agenda.Confirmar(evento.Id); |
299 agenda.Publicar(evento.Id, 0, string.Empty); | 300 agenda.Publicar(evento.Id, 1, urlWiki); |
300 | 301 |
301 Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.Estado); | 302 Assert.IsInstanceOf(typeof(EventoPublicadoState), evento.Estado); |
302 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1); | 303 Assert.That(evento.GetTrackNews().Count(t => t.Accion == Accion.Publicar) == 1); |
303 } | 304 } |
304 | 305 |
348 | 349 |
349 var evento = | 350 var evento = |
350 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); | 351 DefaultEventoRepository.GetByState(EventoPropuestoState.GetInstance()).Single(e => e.Titulo == "Html 5"); |
351 | 352 |
352 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); | 353 Assert.IsFalse(evento.Estado.GetType() == typeof(EventoConfirmadoState)); |
353 | 354 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; |
354 agenda.Publicar(evento.Id, 0, string.Empty); | 355 agenda.Publicar(evento.Id, 1, urlWiki); |
355 } | 356 } |
356 } | 357 |
358 [Test] | |
359 public void Publicar_Evento_Con_NroOrden_Invalido_Genera_Excepcion() | |
360 { | |
361 var publicador1 = new Mock<IPublicador>(); | |
362 | |
363 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | |
364 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); | |
365 | |
366 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); | |
367 agenda.Confirmar(evento.Id); | |
368 | |
369 const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; | |
370 | |
371 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, 0, urlWiki)); | |
372 Assert.Throws<ArgumentOutOfRangeException>(() => agenda.Publicar(evento.Id, -1, urlWiki)); | |
373 } | |
374 | |
375 [Test] | |
376 public void Publicar_Evento_Con_Url_Invalida_Genera_Excepcion() | |
377 { | |
378 var publicador1 = new Mock<IPublicador>(); | |
379 | |
380 var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); | |
381 agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), DateTime.MinValue, urlInvitacion, TipoEvento.Van); | |
382 | |
383 var evento = DefaultEventoRepository.GetActivos().Single(e => e.Titulo == "Html 5"); | |
384 agenda.Confirmar(evento.Id); | |
385 | |
386 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, "")); | |
387 Assert.Throws<ArgumentException>(() => agenda.Publicar(evento.Id, 1, " ")); | |
388 } | |
389 } | |
357 } | 390 } |