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 }