Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs @ 137:2d1adbaf0373
CRUD de Patrocinador
author | nelopauselli |
---|---|
date | Thu, 28 Jul 2011 09:26:24 -0300 |
parents | |
children | 62791999ad01 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs Thu Jul 28 09:26:24 2011 -0300 @@ -0,0 +1,96 @@ +using System; +using System.Drawing; +using System.IO; +using System.Linq; +using AltNetHispano.Agendas.Domain; +using AltNetHispano.Agendas.Domain.Repositories; +using NUnit.Framework; + +namespace AltNetHispano.Agendas.Tests.Cruds +{ + public class PatrocinadorCrud + { + private readonly IPatrocinadorRepository _patrocinadorRepository; + private readonly Func<IDisposable> _requestEmulator; + private byte[] _logo; + + public PatrocinadorCrud(Func<IPatrocinadorRepository> createPatrocinadorRepository, Func<IDisposable> requestEmulator) + { + _patrocinadorRepository = createPatrocinadorRepository.Invoke(); + _requestEmulator = requestEmulator; + } + + public Guid Create() + { + using (_requestEmulator.Invoke()) + { + var patrocinador = new Patrocinador("APRESS"); + + var image = Image.FromFile("images/apress.gif"); + var ms = new MemoryStream(); + image.Save(ms, image.RawFormat); + _logo = ms.ToArray(); + + patrocinador.Logo = _logo; + + _patrocinadorRepository.Save(patrocinador); + return patrocinador.Id; + } + } + + public void Read() + { + Guid patrocinadorId = Create(); + + using (_requestEmulator.Invoke()) + { + var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + + Assert.IsNotNull(patrocinador); + Assert.AreEqual("APRESS", patrocinador.Nombre); + Assert.IsNotNull(patrocinador.Logo); + Assert.AreEqual(_logo, patrocinador.Logo); + } + } + + public void Update() + { + Guid patrocinadorId = Create(); + + using (_requestEmulator.Invoke()) + { + var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + Assert.IsNotNull(patrocinador); + + patrocinador.Nombre = "Apress"; + } + + using (_requestEmulator.Invoke()) + { + var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + + Assert.IsNotNull(patrocinador); + Assert.AreEqual("Apress", patrocinador.Nombre); + } + } + + public void Delete() + { + Guid patrocinadorId = Create(); + + using (_requestEmulator.Invoke()) + { + var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + Assert.IsNotNull(patrocinador); + + _patrocinadorRepository.Delete(patrocinador); + } + + using (_requestEmulator.Invoke()) + { + var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + Assert.IsNull(patrocinador); + } + } + } +} \ No newline at end of file