Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Tests/Blog/PublicadorTests.cs @ 295:8c742d5ccf67
Leyendo imagen directamente desde el stream
author | nelopauselli |
---|---|
date | Sat, 18 Feb 2012 12:33:54 -0300 |
parents | 1d820f17fc75 |
children |
line wrap: on
line source
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Agendas.Blog; using Agendas.Blog.Impl; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Repositories.Memory; using Moq; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests.Blog { [TestFixture] public class PublicadorTests { [SetUp] public void SetearUsuario() { var seguridad = new Mock<ISeguridad>(); seguridad.Setup(s => s.GetUserName()).Returns("neluz"); IdentityContext.Init(seguridad.Object, new PersonaRepository()); } [Test] public void El_publicador_debe_disparar_los_writers_segun_la_accion_de_cada_track() { //var eventoAgendar = Evento.Agendar(null, null, DateTime.MinValue, null); //var eventoPublicar = Evento.Agendar(null, null, DateTime.MinValue, null); var trackAgendar = new Track(null, Accion.Agendar); var trackPublicar = new Track(null, Accion.Publicar); var agendarPostWriter = new Mock<IPostWriter>(); agendarPostWriter.Setup(writer => writer.WritePost(trackAgendar)); var publicarPostWriter = new Mock<IPostWriter>(); publicarPostWriter.Setup(writer => writer.WritePost(trackPublicar)); var factory = new Mock<IPostWriterFactory>(); factory.Setup(f => f.GetPostWriter(Accion.Agendar)).Returns(agendarPostWriter.Object); factory.Setup(f => f.GetPostWriter(Accion.Publicar)).Returns(publicarPostWriter.Object); var publicador = new BlogPublicador(factory.Object); publicador.Publicar(new List<Track> { trackAgendar, trackPublicar }); factory.Verify(f => f.GetPostWriter(Accion.Agendar), Times.Once()); factory.Verify(f => f.GetPostWriter(Accion.Publicar), Times.Once()); agendarPostWriter.Verify(pw => pw.WritePost(trackAgendar), Times.Once()); publicarPostWriter.Verify(pw => pw.WritePost(trackPublicar), Times.Once()); } } }