Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs @ 302:11dddcc9a862 tip
Historico de Eventos, no muestra bien la Url del Patrocinador.
author | juanjose.montesdeocaarbos |
---|---|
date | Tue, 14 Aug 2012 21:54:30 -0300 |
parents | 48ab8788bd19 |
children |
line wrap: on
line source
using System; using System.Drawing; using System.IO; using System.Linq; using AltNetHispano.Agendas.Domain; using Moq; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests { [TestFixture] public class Eventos_y_patrocinadores_tests : TestBase { private Guid _apressId; private Guid _jetbrainsId; private Guid _eventoUnoId; private Guid _eventoDosId; private Agenda _agenda; private static byte[] LoadLogo(string path) { using (var image = Image.FromFile(path)) { var ms = new MemoryStream(); image.Save(ms, image.RawFormat); return ms.ToArray(); } } [SetUp] public void CrearDatos() { var fechaInicio = DateTime.Today.AddDays(7).ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); _agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); _apressId = CrearPatrocinador("Apress", "http://apress.com/", "images/apress.gif"); _jetbrainsId = CrearPatrocinador("jetbrains", "http://apress.com/", "images/jetbrains.png"); _eventoUnoId = CrearEvento(new[] { "Carlos Peix", "Nelo Pauselli" }, "ADFS", fechaInicio, fechaTermino); _eventoDosId = CrearEvento(new[] { "Carlos Peix", "Nelo Pauselli" }, "ADFS: Segunda parte.", fechaInicio.AddDays(3), fechaTermino.AddDays(3)); } [Test] public void Indicar_patrociadores() { _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId, _jetbrainsId }); var evento = DefaultEventoRepository.GetActivos().First(); Assert.AreNotEqual(Guid.Empty, evento.Id); Assert.IsNotNull(evento.FechaInicio); Assert.IsNotNull(evento.Patrocinadores); Assert.IsTrue(evento.Patrocinadores.Any()); Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); } [Test] public void Agregar_patrociador() { { _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId }); var evento = DefaultEventoRepository.GetActivos().First(); Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); } { _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId, _jetbrainsId }); var evento = DefaultEventoRepository.GetActivos().First(); Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); } } [Test] public void Quitar_patrociador() { { _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId, _jetbrainsId }); var evento = DefaultEventoRepository.GetActivos().First(); Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); } { _agenda.IndicarPatrocinadores(_eventoUnoId, new[] { _apressId }); var evento = DefaultEventoRepository.GetActivos().First(); Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); } { _agenda.IndicarPatrocinadores(_eventoUnoId, new Guid[] { }); var evento = DefaultEventoRepository.GetActivos().First(); Assert.IsFalse(evento.Patrocinadores.Any()); } } private static Guid CrearPatrocinador(string nombre, string webSite, string images) { var patrocinador = new Patrocinador(nombre, webSite) { Logo = LoadLogo(images) }; var patrocinadorRepository = DefaultPatrocinadorRepository; patrocinadorRepository.Save(patrocinador); return patrocinador.Id; } private Guid CrearEvento(string[] nombrePonentes, string nombreEvento, DateTime fechaInicio, DateTime fechaTermino) { var ponentes = new Guid[nombrePonentes.Length]; for (var nroPonente = 0; nroPonente < nombrePonentes.Length; nroPonente++) { ponentes[nroPonente] = TestsHelper.GetOrCreatePonente(nombrePonentes[nroPonente]); } _agenda.Agendar(nombreEvento, ponentes, fechaInicio, fechaTermino, null, TipoEvento.Van); var evento = DefaultEventoRepository.GetActivos().First(e=>e.Titulo == nombreEvento); return evento.Id; } } }